예제 #1
0
function GetComments($fid, $prevcid = 0, $lvl = 0)
{
    $query = "select cid, name, date from comments where fid=\"{$fid}\" and prevcid=\"{$prevcid}\";";
    $res = MySqlQuery($query);
    if (mysql_num_rows($res)) {
        $str1 .= "<ul>";
        while ($row = mysql_fetch_object($res)) {
            $cid = $row->cid;
            $str1 .= "<li><a href=\"./viewfile.php?fid={$fid}&commentid={$cid}\">{$row->name} - {$row->date}</a>";
            $str1 .= GetComments($fid, $row->cid, $lvl + 1);
            $str1 .= "</li>";
        }
        $str1 .= "</ul>";
    }
    return $str1;
}
예제 #2
0
파일: viewrankpage.php 프로젝트: se-ti/mmb
 private function retrieveUserDistance()
 {
     // Показываем  список ММБ
     $sql = "select t.distance_id, t.team_name, t.team_id, t.team_outofrange,\n\t\t                    \t         lp.levelpoint_name, tu.teamuser_rank, tu.user_id,\n\t\t\t\t\t\t\t\t\t     lp.levelpoint_id\n\t\t\t\tfrom Teams t\n\t\t\t\tinner join Distances d on d.distance_id = t.distance_id and d.distance_hide = 0\n\t\t\t\tinner join TeamUsers tu  on t.team_id = tu.team_id and tu.teamuser_hide = 0\n\t\t\t\tleft outer join TeamLevelDismiss tld  on tu.teamuser_id = tld.teamuser_id\n\t\t\t\tleft outer join LevelPoints lp  on tld.levelpoint_id = lp.levelpoint_id\n\t\t\t\t           where   t.team_hide = 0\n\n\t\t\t        order by tu.user_id asc";
     $result = MySqlQuery($sql);
     $this->userDistance = array();
     $last = array();
     while ($row = mysql_fetch_assoc($result)) {
         $uid = $row['user_id'];
         if ($last !== $uid) {
             $this->userDistance[$uid] = array();
         }
         $last = $uid;
         $this->userDistance[$uid][$row['distance_id']] = array('team_name' => $row['team_name'], 'team_id' => $row['team_id'], 'team_outofrange' => $row['team_outofrange'], 'levelpoint_name' => $row['levelpoint_name'], 'teamuser_rank' => $row['teamuser_rank'], 'levelpoint_id' => $row['levelpoint_id']);
     }
     mysql_free_result($result);
 }
예제 #3
0
파일: useraction.php 프로젝트: se-ti/mmb
    }
    if ($SessionId <= 0) {
        CMmb::setErrorMessage('Сессия не найдена');
        return;
    }
    $pUserLinkId = trim($_POST['UserLinkId']);
    if (!isset($pUserLinkId)) {
        $pUserLinkId = 0;
    }
    if ($pUserLinkId <= 0) {
        CMmb::setErrorMessage('Ссылка не найдена');
        return;
    }
    $sql = "select raid_id \n\t           from  UserLinks \n\t           where userlink_id = {$pUserLinkId}\n\t\t   ";
    //     echo $sql;
    $raidId = CSql::singleValue($sql, 'raid_id');
    $userId = CSql::userId($SessionId);
    // Права на редактирование
    if (!UACanLinkEdit($pUserId, $raidId, $userId)) {
        return;
    }
    // выходим
    $Sql = "update  UserLinks set userlink_hide = 1 where userlink_id = {$pUserLinkId}";
    //    echo $sql;
    MySqlQuery($Sql);
    CMmb::setResult('Впечатление удалено', "ViewUserData", "");
} else {
    // если никаких действий не требуется
    //  $statustext = "<br/>";
}
//	print('view = '.$view.' action = '.$action);
예제 #4
0
     print 'Если кто-то из участников не сможет участвовать в ММБ, удалите его до ' . $EditEnd . ".\n";
 }
 $sql = "select tu.teamuser_id,\n\t\t\ttu.teamuser_notstartraidid,\n\t\t\tr.raid_nostartprice,\n\t\t\tCASE WHEN COALESCE(u.user_noshow, 0) = 1 THEN '{$Anonimus}' ELSE u.user_name END as user_name, u.user_birthyear, u.user_id, COALESCE(tld.levelpoint_id, 0) as levelpoint_id\n\t\tfrom TeamUsers tu\n\t\t\tinner join Users u\n\t\t\ton tu.user_id = u.user_id\n\t\t\tleft outer join TeamLevelDismiss tld\n\t\t\ton tu.teamuser_id = tld.teamuser_id\n\t\t\tleft outer join Raids r\n\t\t\ton tu.teamuser_notstartraidid = r.raid_id\n\t\twhere tu.teamuser_hide = 0 and team_id = {$TeamId}";
 $Result = MySqlQuery($sql);
 while ($Row = mysql_fetch_assoc($Result)) {
     $userName = CMmbUI::toHtml($Row['user_name']);
     print '<div style="margin-top: 5px;">' . "\n";
     if ($AllowEdit) {
         print '<input type="button" style="margin-right: 15px;" onClick="javascript:if (confirm(\'Вы уверены, что хотите удалить участника: ' . $userName . '? \')) { HideTeamUser(' . $Row['teamuser_id'] . '); }" name="HideTeamUserButton" tabindex="' . ++$TabIndex . '" value="Удалить">' . "\n";
     }
     // Показываем только если можно смотреть результаты марш-броска
     // (так как тут есть список этапов)
     if ($AllowViewResults) {
         print 'Неявка в: <select name="UserNotInPoint' . $Row['teamuser_id'] . '" style="width: 100px; margin-right: 15px;" title="Точка, в которую не явился участник" onChange="javascript:if (confirm(\'Вы уверены, что хотите отметить неявку участника: ' . $userName . '? \')) { TeamUserNotInPoint(' . $Row['teamuser_id'] . ', this.value); }" tabindex="' . ++$TabIndex . '"' . $DisabledText . '>' . "\n";
         $sqllevelpoints = "select levelpoint_id, levelpoint_name from LevelPoints lp where lp.distance_id = {$DistanceId} order by levelpoint_order";
         $ResultLevelPoints = MySqlQuery($sqllevelpoints);
         $userlevelpointselected = $Row['levelpoint_id'] == 0 ? ' selected' : '';
         print '<option value="0"' . $userlevelpointselected . '>-</option>' . "\n";
         while ($RowLevelPoints = mysql_fetch_assoc($ResultLevelPoints)) {
             $userlevelpointselected = $RowLevelPoints['levelpoint_id'] == $Row['levelpoint_id'] ? 'selected' : '';
             print '<option value="' . $RowLevelPoints['levelpoint_id'] . '"' . $userlevelpointselected . '>' . $RowLevelPoints['levelpoint_name'] . "</option>\n";
         }
         mysql_free_result($ResultLevelPoints);
         print '</select>' . "\n";
     }
     // ФИО и год рождения участника
     print "<a href=\"?UserId={$Row['user_id']}\">{$userName}</a> {$Row['user_birthyear']}\n";
     // Отметка невыхода на старт в предыдущем ММБ
     if ($Row['teamuser_notstartraidid'] > 0) {
         print ' <a title="Участник был заявлен, но не вышел на старт в прошлый раз" href="#comment">(?!)</a> ';
     }
예제 #5
0
<?php

include_once "./php/header.php";
if (isset($_REQUEST['commentid'])) {
    $cid = $_REQUEST['commentid'];
} else {
    $cid = 0;
}
if (isset($_REQUEST['submit'])) {
    $query = "insert into comments (prevcid, fid, name, text, date) values({$cid}, \"{$_REQUEST['fid']}\", \"{$_REQUEST['name']}\", \"{$_REQUEST['comment']}\", now())";
    MySqlQuery($query);
}
if (isset($_REQUEST['fid'])) {
    $fid = $_GET['fid'];
    $query = "select filename, uid, date, filelist from files where file_id=\"{$fid}\" and (uid=\"{$uid}\" or filelist <> 0)";
    $res = MySqlRow($query);
    if ($res) {
        $filename = $res->filename;
        $fuid = $res->uid;
        $fdate = $res->date;
        include_once "./tpl/header.tpl";
        include "./tpl/file.tpl";
        $pvevcid = 0;
        if ($cid != 0) {
            $query = "select prevcid, name, date, text from comments where cid=\"{$cid}\" and fid=\"{$fid}\"";
            $res = MySqlRow($query);
            if ($res) {
                $cn = $res->name;
                $cdate = $res->date;
                $ctext = $res->text;
                $prevcid = $res->prevcid;
예제 #6
0
파일: functions.php 프로젝트: realtim/mmb
 public static function setPassword($userId, $pwd)
 {
     $err = self::isValidPassword($pwd);
     if ($err !== true) {
         return $err;
     }
     $sql = "update Users set user_password = "******"\n\t\t\t  \t\twhere user_id = {$userId}";
     $rs = MySqlQuery($sql);
     return true;
 }
예제 #7
0
 if ($Row['unionstatus'] == 'Не объединена') {
     print $Row['log_dt'] . "\n";
 }
 print "</td>\r\n";
 print "<td>\r\n";
 if ($Row['unionstatus'] == 'Объединены') {
     // Команда объединена
     $sql = "select         tu.teamuser_id, \n\t\t\t                       CASE WHEN COALESCE(u.user_noshow, 0) = 1 THEN '{$Anonimus}' ELSE u.user_name END as user_name,\n\t\t\t\t\t       u.user_birthyear,\t\n\t\t\t\t\t       u.user_id, \n\t\t\t\t\t       t.team_name as oldteam_name,\n\t\t\t\t\t       t.team_num as  oldteam_num,\n\t\t\t                       DATE_FORMAT(tul.teamunionlog_dt, '%d.%m %H:%i:%s')  as unionlog_dt  \n\t\t\t\t        from  TeamUsers tu\n\t\t\t\t\t      inner join  Users u\n\t\t\t\t\t      on tu.user_id = u.user_id\n\t\t\t\t\t      inner join  TeamUsers tu2\n\t\t\t\t\t      on tu2.user_id = tu.user_id\n\t\t\t\t\t      inner join  Teams t\n\t\t\t\t\t      on t.team_id = tu2.team_id\n\t\t\t\t\t      inner join TeamUnionLogs tul\n\t\t\t\t\t      on t.team_id = tul.team_id\n\t\t\t\t\t         and  t.team_parentid = tul.team_parentid\n\t\t\t\t\twhere tu.teamuser_hide = 0 \n\t\t\t\t\t      and tu.team_id = {$Row['team_id']}\n\t\t\t\t\t      and t.team_parentid = {$Row['team_id']}\n\t\t\t\t\t      order by unionlog_dt";
 } elseif ($Row['unionstatus'] == 'Отмена объединения') {
     $sql = "select null as teamuser_id,\n\t\t\t\t               '' as user_name,\n\t\t\t\t\t       '' as user_birthyear,\t\n\t\t\t\t\t       null as user_id,\n\t\t\t\t\t       t.team_name as oldteam_name,\n\t\t\t\t\t       t.team_num as  oldteam_num,\n\t\t\t                       DATE_FORMAT(tul.teamunionlog_dt, '%d.%m %H:%i:%s')  as unionlog_dt  \n\t\t\t\t        from  Teams t\n\t\t\t\t\t      inner join TeamUnionLogs tul\n\t\t\t\t\t      on t.team_id = tul.team_id\n\t\t\t\t\twhere tul.team_parentid = {$Row['team_id']}\n\t\t\t\t\t      order by unionlog_dt";
 } else {
     // Команда не объединена
     $sql = "select tu.teamuser_id, CASE WHEN COALESCE(u.user_noshow, 0) = 1 THEN '{$Anonimus}' ELSE u.user_name END as user_name, u.user_birthyear,\n\t\t\t\t\t       u.user_id, \n\t\t\t\t\t       '' as oldteam_name,\n\t\t\t\t\t       '' as oldteam_num,\n\t\t\t\t\t       '' as  unionlog_dt  \n\t\t\t\t        from  TeamUsers tu\n\t\t\t\t\t      inner join  Users u\n\t\t\t\t\t      on tu.user_id = u.user_id\n\t\t\t\t\twhere tu.teamuser_hide = 0 and team_id = {$Row['team_id']}";
 }
 //echo 'sql '.$sql;
 $UserResult = MySqlQuery($sql);
 $UserCount = 0;
 // Сканируем состав
 while ($UserRow = mysql_fetch_assoc($UserResult)) {
     $UserCount++;
     print "<div>{$UserRow['unionlog_dt']} " . CMmbUI::toHtml($UserRow['oldteam_name']) . ' ' . $UserRow['oldteam_num'] . "  \r\n";
     if ($Row['unionstatus'] != 'Отмена объединения') {
         print '<a href="?UserId=' . $UserRow['user_id'] . '">' . CMmbUI::toHtml($UserRow['user_name']) . "</a> {$UserRow['user_birthyear']}\r\n";
     }
     print "</div>\r\n";
 }
 mysql_free_result($UserResult);
 if ($UserCount == 0) {
     print '&nbsp;';
 }
 print "</td>\r\n</tr>\r\n";
예제 #8
0
파일: functions.php 프로젝트: se-ti/mmb
 public static function rowCount($query)
 {
     $result = MySqlQuery($query);
     $rn = mysql_num_rows($result);
     mysql_free_result($result);
     return $rn;
 }
예제 #9
0
     {
    	$alert = 1;
     }
    */
} elseif ($action == 'HideTlp') {
    if (!$Administrator && !$Moderator) {
        CMmb::setMessage('Нет прав на правку результата для точки');
        return;
    }
    $pTeamLevelPointId = $_POST['TeamLevelPointId'];
    $pTeamId = $_POST['TeamId'];
    if ($pTeamId <= 0) {
        teamEditError('Не определён ключ команды.');
        return;
    }
    if ($pTeamLevelPointId <= 0) {
        teamEditError('Не определён ключ результата для точки.');
        return;
    }
    $sql = "delete from TeamLevelPoints where teamlevelpoint_id = {$pTeamLevelPointId}";
    MySqlQuery($sql);
    RecalcTeamResultFromTeamLevelPoints(0, $pTeamId);
    /*
    	 $statustext = CheckLevelPoints($DistanceId);
    	 if (!empty($error))
    	 {
    		$alert = 1;
    	 }
    */
} else {
}
예제 #10
0
function GetAllSkippedPoints($raidId, $checkPointId)
{
    $sql = "select t.team_id, t.distance_id, GROUP_CONCAT(lp.levelpoint_name ORDER BY lp.levelpoint_order, ' ') as notlevelpoint_name,\n\t\t\tCOALESCE(t.team_maxlevelpointorderdone, 0) as last_done\n\t\t\tfrom  Teams t\n\t\t\t\tinner join  Distances d\n\t\t\t\t  on t.distance_id = d.distance_id\n\t\t\t\tjoin LevelPoints lp\n                                  on t.distance_id = lp.distance_id\n\t\t\t\t\tand  COALESCE(t.team_maxlevelpointorderdone, 0) >= lp.levelpoint_order\n\n\t\t\t\tinner join TeamLevelPoints tlp\n\t\t\t\t\ton lp.levelpoint_id = tlp.levelpoint_id\n\t\t\t\t\tand t.team_id = tlp.team_id\n\t\t        where \t d.distance_hide = 0 and t.team_hide = 0 and d.raid_id = {$raidId}\n\t\t\tgroup by t.team_id, t.distance_id";
    $time = microtime(true);
    $UserResult = MySqlQuery($sql);
    $time = microtime(true) - $time;
    $res = array();
    while ($row = mysql_fetch_assoc($UserResult)) {
        $res[$row['team_id']] = array('names' => $row['notlevelpoint_name'], 'distance' => $row['distance_id'], 'last' => $row['last_done']);
    }
    mysql_free_result($UserResult);
    $distanceLists = GetDistancePoints($raidId, $checkPointId);
    $result = array();
    foreach ($res as $tid => $rec) {
        if (isset($distanceLists[$rec['distance']])) {
            $result[$tid] = InvertPointList($distanceLists[$rec['distance']], $rec['names'], $rec['last']);
        } else {
            die("</td></tr></table>distance points list doesn't have distance id = '{$rec['distance']}'");
        }
    }
    $result['__time__'] = $time;
    // хак, чтобы вернуть время, за которое отработал запрос
    return $result;
}
예제 #11
0
파일: raidaction.php 프로젝트: realtim/mmb
         //echo $sqlStartLevel;
         $LevelId = MySqlQuery($sqlStartLevel);
         // Привязываем точку только в случае старта.
         // Для смены карт точка уже привязан к прредыдущему этапу
         if ($Row['pointtype_id'] == 1) {
             $sqlPoint = "update LevelPoints set level_id = {$LevelId}\r\n\t\t\t\t       where levelpoint_id = {$Row['levelpoint_id']}";
             MySqlQuery($sqlPoint);
         }
         // Конец проверки на привязку точки старта
     }
     // Конец проверки на необходимость создать новый этап (старт или смену карт)
     //	        echo  $Row['levelpoint_name'].'  '.$Row['pointtype_id'];
     // Точка, кроме старта, финиша или смены карт
     if ($LevelId > 0 and $Row['pointtype_id'] != 1 and $Row['pointtype_id'] != 2 and $Row['pointtype_id'] != 4) {
         $sqlPoint = "update LevelPoints set level_id = {$LevelId}\r\n\t\t\t       where levelpoint_id = {$Row['levelpoint_id']}";
         MySqlQuery($sqlPoint);
         if ($Row['levelpoint_discount'] != 0) {
             if ($LevelDiscountValue == 0) {
                 $LevelDiscountValue = $Row['levelpoint_discount'];
             }
             $LevelDiscountPoints .= ",1";
         } else {
             $LevelDiscountPoints .= ",0";
         }
         $LevelPoints .= "," . $Row['levelpoint_name'];
         $LevelPenalties .= "," . $Row['levelpoint_penalty'];
     }
     // Конец проверки, что точка не смена карт старт или финиш
 }
 // Конец цикла
 mysql_free_result($Result);
예제 #12
0
파일: adminaction.php 프로젝트: realtim/mmb
function ValidateTeam($Team, $Levels)
{
    // Получаем список записей результатов из TeamLevels
    foreach ($Levels['level_id'] as $n => $level_id) {
        $sql = "select * from TeamLevels where level_id = {$level_id} and team_id = {$Team['team_id']} and teamlevel_hide = 0";
        $Result = MySqlQuery($sql);
        if (mysql_num_rows($Result) > 1) {
            die('Несколько записей на один этап для команды ' . $Team['team_id']);
        }
        $Row = mysql_fetch_assoc($Result);
        if ($Row) {
            $TeamLevels[$n] = $Row;
        }
        mysql_free_result($Result);
    }
    // Проверяем все этапы, о которых есть записи в таблицах
    $team_result = 0;
    $team_progress = 0;
    $finished = 1;
    if (isset($TeamLevels)) {
        foreach ($TeamLevels as $n => $teamlevel) {
            $begtime = strtotime($teamlevel['teamlevel_begtime']);
            $endtime = strtotime($teamlevel['teamlevel_endtime']);
            // проверяем абсолютную корректность времени старта и финиша
            if ($begtime && ($begtime < $Levels['level_begtime'][$n] || $begtime > $Levels['level_maxbegtime'][$n])) {
                return LogError($teamlevel['teamlevel_id'], 1);
            }
            if (!$begtime && $Levels['level_starttype'][$n] == 1) {
                return LogError($teamlevel['teamlevel_id'], 2);
            }
            if ($begtime && ($Levels['level_starttype'][$n] == 2 || $Levels['level_starttype'][$n] == 3)) {
                return LogError($teamlevel['teamlevel_id'], 3);
            }
            if ($endtime && ($endtime < $Levels['level_minendtime'][$n] || $endtime > $Levels['level_endtime'][$n])) {
                return LogError($teamlevel['teamlevel_id'], 4);
            }
            // вычисляем время старта, если он общий или в момент финиша на пред.этапе
            if ($Levels['level_starttype'][$n] == 2) {
                $begtime = $Levels['level_begtime'][$n];
            }
            if ($Levels['level_starttype'][$n] == 3 && isset($TeamLevels[$n - 1])) {
                $begtime = strtotime($TeamLevels[$n - 1]['teamlevel_endtime']);
            }
            // сравниваем время старта и финиша
            if ($begtime && $endtime && $begtime >= $endtime) {
                return LogError($teamlevel['teamlevel_id'], 5);
            }
            if ($begtime && $endtime && $endtime - $begtime < 3 * 3600) {
                return LogError($teamlevel['teamlevel_id'], -1);
            }
            /* if ($begtime && $endtime && (($endtime - $begtime) > 23*3600)) return(LogError($teamlevel['teamlevel_id'], -2)); */
            // проверяем корректность прогресса на дистанции
            if ($teamlevel['teamlevel_begtime'] && $teamlevel['teamlevel_progress'] == 0) {
                return LogError($teamlevel['teamlevel_id'], 6);
            }
            if ($endtime && $teamlevel['teamlevel_progress'] != 2) {
                return LogError($teamlevel['teamlevel_id'], 7);
            }
            if (!$endtime && $teamlevel['teamlevel_progress'] == 2) {
                return LogError($teamlevel['teamlevel_id'], 8);
            }
            // проверяем наличие времени финиша и списка КП у финишировавшей команды
            if ($teamlevel['teamlevel_endtime'] == "" && !(strpos($teamlevel['teamlevel_points'], "1") === false)) {
                return LogError($teamlevel['teamlevel_id'], 12);
            }
            if ($teamlevel['teamlevel_endtime'] != "" && $teamlevel['teamlevel_points'] == "") {
                return LogError($teamlevel['teamlevel_id'], 13);
            }
            // проверяем длину списка КП и пересчитываем штраф
            $level_pointpenalties = explode(',', $Levels['level_pointpenalties'][$n]);
            $level_discountpoints = explode(',', $Levels['level_discountpoints'][$n]);
            if ($teamlevel['teamlevel_points'] == "") {
                unset($teamlevel_points);
                foreach ($level_pointpenalties as $penalty) {
                    $teamlevel_points[] = "0";
                }
            } else {
                $teamlevel_points = explode(',', $teamlevel['teamlevel_points']);
            }
            if (count($teamlevel_points) != count($level_pointpenalties)) {
                return LogError($teamlevel['teamlevel_id'], 9);
            }
            $teamlevel_penalty = 0;
            $teamlevel_selectpenalty = 0;
            foreach ($teamlevel_points as $npoint => $point) {
                if (empty($level_pointpenalties[$npoint])) {
                    $NowLevelPointPenalty = 0;
                } else {
                    $NowLevelPointPenalty = (int) $level_pointpenalties[$npoint];
                }
                if ($point == "0" && $NowLevelPointPenalty > 0 || $point == "1" && $NowLevelPointPenalty < 0) {
                    if (!empty($level_discountpoints[$npoint])) {
                        $teamlevel_selectpenalty += $NowLevelPointPenalty;
                    } else {
                        $teamlevel_penalty += $NowLevelPointPenalty;
                    }
                }
            }
            if ($Levels['level_discount'][$n]) {
                $teamlevel_selectpenalty -= $Levels['level_discount'][$n];
                if ($teamlevel_selectpenalty < 0) {
                    $teamlevel_selectpenalty = 0;
                }
            }
            $teamlevel_penalty += $teamlevel_selectpenalty;
            if ($teamlevel_penalty != $teamlevel['teamlevel_penalty']) {
                return LogError($teamlevel['teamlevel_id'], 10);
            }
            // пока считаем, что ошибок на этапе нет
            LogError($teamlevel['teamlevel_id'], 0);
            // добавляем результаты этапа к общему результату
            if ($begtime && $endtime) {
                $team_result += ($endtime - $begtime) / 60;
            }
            $team_result += $teamlevel_penalty;
            $team_progress += (int) $teamlevel['teamlevel_progress'];
            if ($teamlevel['teamlevel_progress'] != 2) {
                $finished = 0;
            }
        }
    }
    // Считаем, что на отсутствующие в базе записи о прохождении этапов команда не выходила
    foreach ($Levels['level_id'] as $n => $level_id) {
        if (!isset($TeamLevels[$n])) {
            $TeamLevels[$n]['teamlevel_progress'] = 0;
            $finished = 0;
        }
    }
    // Смотрим, чтобы после схода команда опять не появлялась на дистанции
    foreach ($TeamLevels as $n => $teamlevel) {
        if ($n > 1) {
            if ($teamlevel['teamlevel_progress'] > $TeamLevels[$n - 1]['teamlevel_progress']) {
                return LogError($teamlevel['teamlevel_id'], 11);
            }
            if ($teamlevel['teamlevel_progress'] == 1 && $TeamLevels[$n - 1]['teamlevel_progress'] == 1) {
                return LogError($teamlevel['teamlevel_id'], 11);
            }
        }
    }
    // Сверяем итоговые прогресс и результат команды
    if (!$finished) {
        $team_result = "";
    } else {
        $team_result = sprintf("%d:%02d:00", $team_result / 60, $team_result % 60);
    }
    if ($team_result != $Team['team_result']) {
        echo "Ошибка подсчета итогового времени у команды {$Team['team_id']}: правильное={$team_result}, в базе={$Team['team_result']}<br/>";
    }
    if ($team_progress != $Team['team_progress']) {
        echo "Ошибка подсчета степени продвижения по дистанции у команды {$Team['team_id']}: правильное={$team_result}, в базе={$Team['team_result']}<br/>";
    }
    // Ошибок в результатах команды не обнаружено
    return 0;
}
예제 #13
0
include_once "./php/header.php";
$sort = GetSortID();
$start = isset($_GET["start"]) ? $_GET["start"] : 0;
$sorttext = array('дате', 'имени');
$sortq = array('order by date', 'order by filename');
$reloadurl = $_SERVER['php_self'] . "?fileaction={$action}&start={$start}&sortid={$sort}";
$ipp = 25;
$query = "select count(*) from files where filelist<>0";
$query2 = "select file_id, filename, date from files where filelist<>0 {$sortq[$sort]} limit {$start} , {$ipp}";
$filescount = MySqlValue($query);
$pagesbar = new Pagination();
$navpages = $pagesbar->ShowPages($filescount, $start, $ipp);
$fl = "";
$servername = "http://{$_SERVER['SERVER_NAME']}";
$res = MySqlQuery($query2);
while ($row = mysql_fetch_object($res)) {
    $fl .= "<tr><td>{$row->file_id}</td><td><a href=\"viewfile.php?fid={$row->file_id}\">{$row->filename}";
    $fl .= "</td><td>{$row->date}</td><td><a href=\"{$servername}/{$uid}/{$row->filename}\" onclick=\"document.location.href='./save.php?fid={$row->file_id}';return false;\">{$servername}/{$uid}/{$row->filename}</a></td></tr>";
}
mysql_free_result($res);
if ($fl == "") {
    $filelist = "<tr><td colspan='4'>нет файлов в списках ползователей</td><tr>";
}
$sortcb = "";
foreach ($sorttext as $key => $value) {
    $sortcb .= "<option value='{$key}'";
    if ($key == $sort) {
        $sortcb .= " selected";
    }
    $sortcb .= ">{$value}</option>";
예제 #14
0
파일: viewraiddata.php 프로젝트: se-ti/mmb
print('<tr><td class = "input">Новый файл значка для загрузки: <input name="znfile" type="file" /></td></tr>'."\r\n");
*/
print "<tr><td class=\"input\">\n";
// ================ Submit для формы ==========================================
if ($AllowEdit == 1) {
    print '<tr><td class="input" style="padding-top: 20px;">' . "\n";
    print '<input type="button" onClick="javascript: if (ValidateRaidDataForm()) submit();" name="RegisterButton" value="' . $SaveButtonText . '" tabindex="' . ++$TabIndex . '">' . "\n";
    print '<input type="button" onClick="javascript: Cancel();" name="CancelButton" value="Отмена" tabindex="' . ++$TabIndex . '">' . "\n";
    print "</td></tr>\r\n";
}
print "</table></form>\n";
// Если редактируем, то выводим дистанции и этапы
if ($viewmode != 'Add') {
    print '<div style="margin-top: 35px; font-weight: bold; font-size: 80%;">Дистанции</div>' . "\n";
    $sql = "select d.distance_id, d.distance_name, d.distance_data\r\n\t\tfrom Distances d\r\n\t\twhere d.distance_hide = 0 and d.raid_id = {$RaidId}";
    $DistanceResult = MySqlQuery($sql);
    while ($RowDistance = mysql_fetch_assoc($DistanceResult)) {
        print '<form name="DistanceDataForm' . $RowDistance['distance_id'] . '" action="' . $MyPHPScript . '" method="post">' . "\n";
        print '<input type="hidden" name="action" value="DistanceChangeData">' . "\n";
        print '<input type="hidden" name="view" value="ViewRaidData">' . "\n";
        print '<input type="hidden" name="RaidId" value="' . $RaidId . '">' . "\n";
        print '<input type="hidden" name="UserId" value="0">' . "\n";
        print '<input type="hidden" name="DistanceId" value="' . $RowDistance['distance_id'] . '">' . "\n";
        print '<table style="font-size: 80%;" border="0" cellpadding="2" cellspacing="0">' . "\n\n";
        $TabIndex = 0;
        $DisabledText = '';
        // ============ Название Дистанции
        print '<tr><td class="input">Название: <input type="text" name="DistanceName' . $RowDistance['distance_id'] . '" size="20" value="' . $RowDistance['distance_name'] . '" tabindex="' . ++$TabIndex . '">' . "\r\n";
        print ' параметры: <input type="text" name="DistanceData' . $RowDistance['distance_id'] . '" size="50" value="' . $RowDistance['distance_data'] . '" tabindex="' . ++$TabIndex . '">' . "\r\n";
        print '<input type="button" onClick="javascript: submit();" name="SaveDistance' . $RowDistance['distance_id'] . '" value="Сохранить" tabindex="' . ++$TabIndex . '">' . "\r\n";
        print '&nbsp; <input type="button" style="margin-left: 30px;" onClick="javascript: if (confirm(\'Вы уверены, что хотите удалить дистанцию.: ' . trim($RowDistance['distance_name']) . '? \')) {  DistanceDataForm' . $RowDistance['distance_id'] . '.action.value = \'HideDistance\';submit();}" name="HideFileButton' . $RowDistance['distance_id'] . '" value="Удалить" tabindex="' . ++$TabIndex . '">' . "\n";
예제 #15
0
파일: mainpage.php 프로젝트: se-ti/mmb
     $TrClass = 'green';
 }
 $RaidsCount--;
 //echo $i;
 print '<tr class="' . $TrClass . '">' . "\r\n";
 //class = "yellow"
 print '<td><a href="?RaidId=' . $nextRaidId . '">' . $RaidName . '</a></td>' . "\r\n";
 print '<td><a href="' . $RaidRulesLink . '" target="_blank">' . $RaidPeriod . '</a></td>' . "\r\n";
 if (empty($RaidStartLink)) {
     print "<td>{$RaidStartPoint} - {$RaidFinishPoint}</td>\r\n";
 } else {
     print '<td><a href="' . $RaidStartLink . '" target="_blank">' . $RaidStartPoint . "</a> - {$RaidFinishPoint}</td>\r\n";
 }
 print "<td>\r\n";
 // Вытаскиваем информацию о дистанциях
 $resultDistance = MySqlQuery("SELECT d.*,\n\t\t\t\t\t(\n\t\t\t\t\t select count(team_id) \n\t\t\t\t\t from  Teams t \n\t\t\t\t\t where t.distance_id = d.distance_id\n\t\t\t\t\t            and t.team_hide = 0\n\t\t\t\t\t) as teamscount,\n\t\t\t\t\t(\n\t\t\t\t\t select count(team_id) \n\t\t\t\t\t from  Teams t \n\t\t\t\t\t where t.distance_id = d.distance_id\n\t\t\t\t\t            and t.team_hide = 0\n\t\t\t\t\t\t    and t.team_greenpeace = 1\n\t\t\t\t\t) as teamsgreencount,\n\t\t\t\t\tCOALESCE((\n\t\t\t\t\t select sum(COALESCE(team_mapscount, 0)) \n\t\t\t\t\t from  Teams t \n\t\t\t\t\t where t.distance_id = d.distance_id\n\t\t\t\t\t            and t.team_hide = 0\n\t\t\t\t\t), 0) as teammapscount,\n\t\t\t\t\t(\n\t\t\t\t\t select count(tu.teamuser_id) \n\t\t\t\t\t from  Teams t \n\t\t\t\t\t          inner join  TeamUsers tu\n\t\t\t\t\t          on t.team_id = tu.team_id\n\t\t\t\t\t where t.distance_id = d.distance_id\n\t\t\t\t\t            and t.team_hide = 0\n\t\t\t\t\t            and tu.teamuser_hide = 0\n\t\t\t\t\t) as teamuserscount\n\t\t\t            FROM  Distances d \n\t\t\t\t    WHERE d.distance_hide = 0 and raid_id = {$nextRaidId}  ORDER BY distance_name ASC");
 $DistancesCount = 0;
 while ($rowDistance = mysql_fetch_assoc($resultDistance)) {
     $DistancesCount++;
     if ($DistancesCount > 1) {
         print "<br>\r\n";
     }
     $DistanceName = $rowDistance['distance_name'];
     $DistanceLink = $rowDistance['distance_resultlink'];
     $DistanceData = $rowDistance['distance_data'];
     $DistanceCounters = '(' . $rowDistance['teamscount'] . '/<span style = "color:#007700;">' . $rowDistance['teamsgreencount'] . '</span> / ' . $rowDistance['teammapscount'] . ' / ' . $rowDistance['teamuserscount'] . ')';
     // Если ссылка пустая - заменяем на сгенерированную
     if (trim($DistanceLink) == '') {
         //$DistanceLink = '?action=ViewRaidTeams&RaidId='.$nextRaidId;
         $DistanceLink = "?RaidId={$nextRaidId}";
     }
예제 #16
0
파일: json.php 프로젝트: se-ti/mmb
$Sql = "select team_id, t.distance_id, team_name, team_num from Teams t inner join Distances d on t.distance_id = d.distance_id where t.team_hide = 0 and COALESCE(t.team_outofrange, 0) = 0 and d.raid_id = " . $RaidId;
$Result = MySqlQuery($Sql);
while ($Row = mysql_fetch_assoc($Result)) {
    $data["Teams"][] = $Row;
}
mysql_free_result($Result);
// Users: user_id, user_name, user_birthyear // *
$Sql = "select user_id, user_name, user_birthyear from Users where user_hide = 0";
$Result = MySqlQuery($Sql);
while ($Row = mysql_fetch_assoc($Result)) {
    $data["Users"][] = $Row;
}
mysql_free_result($Result);
// TeamUsers: teamuser_id, team_id, user_id, teamuser_hide
$Sql = "select teamuser_id, tu.team_id, user_id, teamuser_hide from TeamUsers tu inner join Teams t on tu.team_id = t.team_id inner join Distances d on t.distance_id = d.distance_id where t.team_hide = 0  and COALESCE(t.team_outofrange, 0) = 0  and d.raid_id = " . $RaidId;
$Result = MySqlQuery($Sql);
while ($Row = mysql_fetch_assoc($Result)) {
    $data["TeamUsers"][] = $Row;
}
mysql_free_result($Result);
// 27/03/2013 Отключил экспорт TeamLevelPoints т.к. эта таблица формируется исключительно при импорте данных.
// Пока на планшетах не производится сведение всех данных - не нужна
// TeamLevelDismiss: user_id, levelpoint_id, team_id, teamuser_id, teamleveldismiss_date, device_id
/*
$Sql = "select user_id, levelpoint_id, tld.team_id, teamuser_id, teamleveldismiss_date, device_id from TeamLevelDismiss tld inner join Teams t on tld.team_id = t.team_id inner join Distances d on t.distance_id = d.distance_id where t.team_hide = 0  and d.raid_id = ".$RaidId;
$Result = MySqlQuery($Sql);
while ( ( $Row = mysql_fetch_assoc($Result) ) ) { $data["TeamLevelDismiss"][] = $Row; }
mysql_free_result($Result);
*/
// 27/03/2013 Отключил экспорт TeamLevelPoints т.к. эта таблица формируется исключительно при импорте данных.
// Пока на планшетах не производится сведение всех данных - не нужна
예제 #17
0
파일: useraction.php 프로젝트: realtim/mmb
    if (!empty($maxinvdt)) {
        $invEndDt = $maxinvdt;
    }
    $sql = "insert into InvitationDeliveries (raid_id, invitationdelivery_type, invitationdelivery_dt, user_id, invitationdelivery_amount)\n                    VALUES ({$RaidId}, 3, NOW(), {$UserId}, 1)";
    //echo $sql;
    $newInvDeliveryId = MySqlQuery($sql);
    //echo "newInvDeliveryId=  $newInvDeliveryId ";
    if ($newInvDeliveryId <= 0) {
        CMmb::setErrorSm('Ошибка записи раздачи приглашения.');
        return;
    }
    if ($pUserId <= 0 or $UserId <= 0 or !CRights::canDeliveryInvitation($UserId, $RaidId, 1)) {
        CMmb::setErrorMessage('Не хватает прав или нет доступных приглашений');
        return;
    }
    $sql = "insert into Invitations (user_id, invitation_begindt, invitation_enddt, invitationdelivery_id)\n                VALUES ({$pUserId}, NOW(), '{$invEndDt}', {$newInvDeliveryId})";
    //echo $sql;
    $newInvId = MySqlQuery($sql);
    if ($newInvId <= 0) {
        CMmb::setErrorSm('Ошибка записи приглашения.');
        return;
    }
    CMmb::setResult('Приглашение выдано', "ViewUserData", "");
} else {
    // если никаких действий не требуется
    //  $statustext = "<br/>";
}
//	print('view = '.$view.' action = '.$action);
?>