Example #1
0
    // Действие на текстовом поле по клику
    $OnClickText = ' onClick="javascript:this.value = \'\';"';
    // Надпись на кнопке
    $SaveButtonText = 'Добавить интервал амнистии';
    $pLevelPointDiscountId = 0;
} else {
    $pLevelPointDiscountId = mmb_validateInt($_POST, 'LevelPointDiscountId');
    if ($pLevelPointDiscountId <= 0) {
        return;
    }
    $sql = "select lpd.levelpointdiscount_id, \n\t               lpd.levelpointdiscount_value,  \n\t               lpd.levelpointdiscount_start,  \n\t               lpd.levelpointdiscount_finish,\n\t\t       lpd.distance_id,\n\t\t       lpd.levelpoint_id  \n\t\tfrom LevelPointDiscounts lpd\n\t\twhere lpd.levelpointdiscount_id = {$pLevelPointDiscountId}";
    $Row = CSql::singleRow($sql);
    // Если вернулись после ошибки переменные не нужно инициализировать
    if ($viewsubmode == "ReturnAfterError") {
        ReverseClearArrays();
        $DistanceId = mmb_validateInt($_POST, 'DistanceId');
        $LevelPointId = $_POST['LevelPointId'];
        $DiscountValue = $_POST['DiscountValue'];
        $DiscountStart = $_POST['DiscountStart'];
        $DiscountFinish = $_POST['DiscountFinish'];
    } else {
        $DiscountValue = $Row['levelpointdiscount_value'];
        $DiscountStart = $Row['levelpointdiscount_start'];
        $DiscountFinish = $Row['levelpointdiscount_finish'];
        $DistanceId = $Row['distance_id'];
        $LevelPointId = $Row['levelpoint_id'];
    }
    $NextActionName = 'LevelPointDiscountChange';
    $OnClickText = '';
    $SaveButtonText = 'Сохранить изменения в амнистии';
}
Example #2
0
if (!is_array($rawLevels)) {
    $rawLevels = array($rawLevels);
}
foreach ($allLevels as $lev) {
    if (in_array($lev, $rawLevels)) {
        $levels[] = $lev;
    }
}
print "Типы сообщений: <select name=\"levels[]\" size=\"6\" multiple style=\"margin-left: 10px; margin-right: 5px; vertical-align: top;\"\n            onchange=\"document.LogsForm.submit();\">";
foreach ($allLevels as $lev) {
    $sel = in_array($lev, $levels) ? ' selected="selected"' : '';
    print "<option value=\"{$lev}\"{$sel}>{$lev}</option>\n";
}
print "</select>\n\n";
// фильтруем кол-во ошибок и печатаем селект
$limit = mmb_validateInt($_REQUEST, 'num_rec', 100);
print 'Количество: <select name="num_rec" style="margin-left: 10px; margin-right: 5px;" onchange="document.LogsForm.submit();">';
foreach (array(100, 500, 1000, 5000) as $lim) {
    $sel = $lim == $limit ? ' selected="selected"' : '';
    print "<option value=\"{$lim}\"{$sel}>{$lim}</option>\n";
}
print "</select>\n";
$searchVal = ReverseEscapeString(mmb_validate($_REQUEST, 'search', ''));
print "<input type=\"text\" placeholder=\"Искать\" name=\"search\" onchange=\"document.LogsForm.submit()\" style=\"margin-left: 2em;\" value='" . CMmbUI::toHtml($searchVal) . "'/>";
print "</div>\n";
$cond = count($levels) == 0 ? 'true' : "logs_level in ('" . implode("', '", $levels) . "')";
if ($searchVal == '') {
    $searchCond = 'true';
} else {
    $search = array("%", "_", "[", "]");
    $replace = array("\\%", "\\_", "\\[", "\\]");
Example #3
0
    // Если вернулись после ошибки переменные не нужно инициализировать
    if ($viewsubmode == "ReturnAfterError") {
        ReverseClearArrays();
        $ScanPointName = $_POST['ScanPointName'];
    } else {
        $ScanPointName = 'Название точки сканирования';
    }
    // Определяем следующее действие
    $NextActionName = 'AddScanPoint';
    // Действие на текстовом поле по клику
    $OnClickText = ' onClick="javascript:this.value = \'\';"';
    // Надпись на кнопке
    $SaveButtonText = 'Добавить точку сканирования';
    $pScanPointId = 0;
} else {
    $pScanPointId = mmb_validateInt($_POST, 'ScanPointId');
    if ($pScanPointId <= 0) {
        return;
    }
    // Если вернулись после ошибки переменные не нужно инициализировать
    if ($viewsubmode == "ReturnAfterError") {
        ReverseClearArrays();
        $ScanPointName = $_POST['ScanPointName'];
    } else {
        $sql = "select sp.scanpoint_id,\n\t               sp.scanpoint_name,\n\t\t       sp.scanpoint_order\n\t\tfrom ScanPoints sp\n\t\twhere sp.scanpoint_id = {$pScanPointId}";
        $ScanPointName = CSql::singleValue($sql, 'scanpoint_name');
    }
    $NextActionName = 'ScanPointChange';
    $OnClickText = '';
    $SaveButtonText = 'Сохранить изменения точки сканирования';
}
Example #4
0
        $RaidFileComment = $_POST['RaidFileComment'];
    } else {
        //$LevelPointId = 0;
        $FileTypeId = 0;
        $RaidFileComment = 'Описание файла';
    }
    // Определяем следующее действие
    $NextActionName = 'AddRaidFile';
    // Действие на текстовом поле по клику
    $OnClickText = ' onClick="javascript:this.value = \'\';"';
    // Надпись на кнопке
    $SaveButtonText = 'Загрузить файл';
    $pRaidFileId = 0;
    $RaidFileName = '';
} else {
    $pRaidFileId = mmb_validateInt($_POST, 'RaidFileId');
    if ($pRaidFileId <= 0) {
        return;
    }
    $sql = "select rf.raidfile_id, ft.filetype_id, \n\t               rf.raidfile_comment, rf.raidfile_name\n\t\tfrom RaidFiles rf\n\t\t     inner join FileTypes ft\n\t\t     on rf.filetype_id = ft.filetype_id\n\t\twhere rf.raidfile_id = {$pRaidFileId}";
    $Row = CSql::singleRow($sql);
    // Если вернулись после ошибки переменные не нужно инициализировать
    if ($viewsubmode == "ReturnAfterError") {
        ReverseClearArrays();
        $FileTypeId = $_POST['FileTypeId'];
        //		$LevelPointId = $_POST['LevelPointId'];
        $RaidFileComment = $_POST['RaidFileComment'];
        $RaidFileName = '';
    } else {
        $FileTypeId = $Row['filetype_id'];
        //$LevelPointId = $Row['levelpoint_id'];
Example #5
0
    }
    // Всегда разрешаем ввод нового пользователя
    $AllowEdit = 1;
    // Определяем следующее действие
    $NextActionName = 'AddUser';
    // Действие на текстовом поле по клику
    $SaveButtonText = 'Зарегистрировать';
    // Кнопка "Сделать модератором" не выводится при добавлении пользователя
    $ModeratorButtonText = '';
    // Кнопка "Запросить слияние" не выводится при добавлении пользователя
    $UnionButtonText = '';
} else {
    // просмотр существующего
    //echo $viewsubmode;
    //
    $pUserId = mmb_validateInt($_REQUEST, 'UserId', -1);
    if ($pUserId <= 0) {
        // должен быть определен пользователь, которого смотрят
        return;
    }
    $sql = "select user_email, CASE WHEN COALESCE(u.user_noshow, 0) = 1 and user_id <> {$UserId} THEN '{$Anonimus}' ELSE u.user_name END as user_name,\n\t\t         user_birthyear, user_prohibitadd, user_city, user_phone, user_noshow, \n\t\t         user_allowsendchangeinfo, user_allowsendorgmessages from  Users u where user_id = {$pUserId}";
    $row = CSql::singleRow($sql);
    // Если вернулись после ошибки переменные не нужно инициализировать
    if ($viewsubmode == "ReturnAfterError") {
        ReverseClearArrays();
        $UserEmail = $_POST['UserEmail'];
        $UserName = $_POST['UserName'];
        $UserBirthYear = (int) $_POST['UserBirthYear'];
        $UserProhibitAdd = mmb_isOn($_POST, 'UserProhibitAdd');
        $UserCity = $_POST['UserCity'];
        $UserPhone = $_POST['UserPhone'];
Example #6
0
    $teamNum = (int) CSql::singleValue($sql, 'team_num');
    if ($teamNum) {
        print "<a style=\"font-size:80%; margin-right: 15px;\" href=\"#{$teamNum}\" title=\"Переход к строке Вашей команды\">Моя команда</a>\r\n";
    }
}
$StartLink = CSql::raidFileLink($RaidId, 10, true);
if (!empty($StartLink)) {
    print '<a style="font-size:80%; margin-right: 15px;" href="' . $StartLink . '" title="Информация о месте и порядке старта ММБ" target = "_blank">Старт</a>' . "\r\n";
}
print '<a style="font-size:80%; margin-right: 15px;" href="?links&RaidId=' . $RaidId . '" title="Страница впечатлений: отчеты, фотографии, треки...">Впечатления</a>' . "\r\n";
print '<a style="font-size:80%; margin-right: 15px;" href="?files&RaidId=' . $RaidId . '" title="Все материалы ММБ: положение, карты, легенды...">Материалы</a>' . "\r\n";
print '<a style="font-size:80%; margin-right: 15px;" href="javascript: JsonExport();">Json</a> ' . "\r\n";
// можем / нужно ли показывать карты?
$mapQuery = "select raidfile_name, raidfile_comment\n\t                from RaidFiles\n\t                        where raid_id = {$RaidId} \n\t                        \tand filetype_id = 4 \n\t                        \tand substr(lower(raidfile_name), -4)  in ('.png','.gif','.jpg','jpeg')\n\t                        \tand raidfile_hide = 0\n\t     \t\t\torder by raidfile_id asc";
$canShowMaps = CRights::canShowImages($RaidId) && CSql::rowCount($mapQuery) > 0;
$showMapImages = mmb_validateInt($_GET, 'showMap', '0');
if ($canShowMaps) {
    if ($showMapImages == 1) {
        print '<a style="font-size:80%; margin-right: 15px;" href="?protocol&RaidId=' . $RaidId . '&showMap=0" title="Не отображать карты в протоколе - можно смотреть на странцие материалов">Скрыть карты</a> ' . "\r\n";
    } else {
        print '<a style="font-size:80%; margin-right: 15px;" href="?protocol&RaidId=' . $RaidId . '&showMap=1" title="Отображать карты на этой странице - время загрзуки может заметно вырасти!">Показать карты</a> ' . "\r\n";
    }
}
print '</div>' . "\r\n";
// собственно вывод карт
if ($canShowMaps and $showMapImages) {
    print '<div align="left" style="margin-top:10px; margin-bottom:10px; font-size: 100%;">' . "\r\n";
    $Result = MySqlQuery($mapQuery);
    while ($Row = mysql_fetch_assoc($Result)) {
        $ImageLink = $Row['raidfile_name'];
        $ImageComment = $Row['raidfile_comment'];
Example #7
0
    $sql = " update Teams set team_hide = 0\n\t\t\t where team_id = {$TeamId}";
    MySqlQuery($sql);
    $sql = " update TeamUsers set teamuser_hide = 0\n\t\t\t where team_id = {$TeamId}";
    MySqlQuery($sql);
    $sql = " update TeamUnionLogs set union_status = 2\n\t\t\t where union_status = 1\n\t\t\t       and teamunionlog_hide = 0 ";
    MySqlQuery($sql);
    RecalcTeamResultFromTeamLevelPoints(0, $TeamId);
    CMmb::setResult('Команды объединены', "ViewRaidTeams");
} elseif ($action == "CancelUnionTeams") {
    // Действие вызывается нажатием кнопки "Объединить"
    // Права
    if (!$Administrator and !$Moderator) {
        CMmb::setErrorMessage('Нет прав на отмену объединения');
        return;
    }
    $pParentTeamId = mmb_validateInt($_POST, 'TeamId');
    if ($RaidId <= 0) {
        setUnionError('Не указан ММБ.');
        return;
    }
    if ($pParentTeamId <= 0) {
        setUnionError('Не указана команда.');
        return;
    }
    // Проверяем, что команда есть в объединении
    $sql = " select teamunionlog_id\n\t         from TeamUnionLogs \n\t\t\t where teamunionlog_hide = 0 \n                               and union_status = 2\n\t\t\t       and team_parentid = {$pParentTeamId}";
    if (CSql::rowCount($sql) <= 0) {
        setUnionError('Команды нет в объединении');
        return;
    }
    // Приступаем, собственно к отмене:
Example #8
0
		if ($CanViewResults)
		    print('<option value="Place" '.($OrderType == 'Place' ? 'selected' :'').">возрастанию места</option>\r\n");

		if ($Administrator || $Moderator)
		    print('<option value="Errors" '.($OrderType == 'Errors' ? 'selected' :'').">наличию ошибок</option>\r\n");

		print('</select>'."\r\n");
	 }


	print("Фильтровать: \r\n"); 

	$distanceId = mmb_validate($_REQUEST, 'DistanceId', '');
	$DistanceCondition = empty($distanceId) ? 'true' : "d.distance_id = $distanceId";

        $GpsFilter = (mmb_validateInt($_REQUEST, 'GPSFilter', 0)) == 1 ? 1 : 0;
        $GpsCondition = $GpsFilter ? "t.team_usegps = 0" : "true";

        $sql = "select distance_id, distance_name
                    from  Distances
                    where distance_hide = 0 and raid_id = $RaidId
                    order by distance_name";
		//echo 'sql '.$sql;
	$Result = MySqlQuery($sql);
	if (mysql_num_rows($Result) > 1)
	{
		print('<select name="DistanceId" style = "margin-left: 10px; margin-right: 5px;"
                               onchange="DistanceIdChange();"  tabindex="'.(++$TabIndex).'">'."\r\n");

                $selected  =  (0 == $distanceId) ? ' selected' : '';
		print("<option value=\"0\" $selected>дистанцию</option>\r\n");
Example #9
0
File: index.php Project: se-ti/mmb
                if (isset($_GET['badges'])) {
                    $action = "ViewAllBadgesPage";
                } else {
                    if (isset($_GET['amnesty'])) {
                        $action = "ViewLevelPointDiscountsPage";
                    } else {
                        if (isset($_GET['files'])) {
                            $action = "ViewRaidFilesPage";
                        } else {
                            if (isset($_GET['links'])) {
                                $action = "ViewUsersLinksPage";
                            } else {
                                if (isset($_GET['changepasswordsessionid'])) {
                                    $action = "sendpasswordafterrequest";
                                } else {
                                    if (mmb_validateInt($_GET, 'RaidId', '') !== false) {
                                        // должно идти предпоследним
                                        $action = "ViewRaidTeams";
                                    } else {
                                        $action = "";
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
$tmAction = CMmbLogger::addInterval('before action', $tmSt);
Example #10
0
    //         RecalcTeamResultFromTeamLevelPoints(25, 0);
    /*   
     $statustext = CheckLevelPoints($DistanceId);
     if (!empty($error))
     {
    	$alert = 1;
     }
    */
} elseif ($action == 'HideTlp') {
    //	if (!$Administrator && !$Moderator)
    if (!CRights::canEditPointResult($UserId, $RaidId, $TeamId)) {
        CMmb::setMessage('Нет прав на правку результата для точки');
        return;
    }
    $pTeamLevelPointId = mmb_validateInt($_POST, 'TeamLevelPointId');
    $pTeamId = mmb_validateInt($_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))
    	 {
Example #11
0
 // Проверка возможности редактировать результаты
 if (!CanEditResults($Administrator, $Moderator, $TeamUser, $OldMmb, $RaidStage, $TeamOutOfRange)) {
     $statustext = 'Изменение результатов команды запрещено';
     return;
 }
 // Получаем информацию об этапах, которые могла проходить команда
 $sql = "select l.level_id, l.level_name, l.level_pointnames, l.level_starttype, l.level_pointpenalties,\n\t\tl.level_begtime, l.level_maxbegtime, l.level_minendtime, l.level_endtime,\n\t\ttl.teamlevel_begtime, tl.teamlevel_endtime,\n\t\ttl.teamlevel_points, tl.teamlevel_progress, tl.teamlevel_penalty,\n\t\ttl.teamlevel_id\n\t\tfrom Teams t\n\t\t\tinner join Distances d on t.distance_id = d.distance_id\n\t\t\tinner join Levels l on d.distance_id = l.distance_id\n\t\t\tleft outer join TeamLevels tl on l.level_id = tl.level_id and t.team_id = tl.team_id and tl.teamlevel_hide = 0\n\t\twhere l.level_hide = 0  and t.team_id = {$TeamId}";
 $rs = MySqlQuery($sql);
 // ================ Цикл обработки данных по этапам
 $statustext = "";
 while ($Row = mysql_fetch_assoc($rs)) {
     // По этому ключу потом определяем, есть ли уже строчка в TeamLevels или её нужно создать
     $TeamLevelId = $Row['teamlevel_id'];
     $levelPfx = 'Level' . $Row['level_id'];
     // Обрабатываем сход с этапа
     $TeamLevelProgress = mmb_validateInt($_POST, $levelPfx . '_progress', 0);
     // Вычисляем время выхода на этап
     $BegYear = mmb_validate($_POST, $levelPfx . '_begyear', '');
     $BegDate = mmb_validate($_POST, $levelPfx . '_begdate', '');
     $BegTime = mmb_validate($_POST, $levelPfx . '_begtime', '');
     $BegYDTs = CSql::timeString($BegYear, $BegDate, $BegTime);
     // Конвертируем в даты php для сравнения
     $BegYDT = strtotime(substr(trim($BegYDTs), 1, -1));
     $BegMinYDT = strtotime(substr(trim($Row['level_begtime']), 1, -1));
     $BegMaxYDT = strtotime(substr(trim($Row['level_maxbegtime']), 1, -1));
     // Обнуляем время старта, если он не в порядке готовности
     if ($Row['level_starttype'] != 1) {
         $BegYDTs = "NULL";
     } else {
         if ($BegYDT < $BegMinYDT or $BegYDT > $BegMaxYDT) {
             if ($TeamLevelProgress > 0) {
Example #12
0
    }
    $sql = " select count(*) as countresult\r\n\t\t  from LevelPoints\r\n\t\t  where levelpoint_hide = 0  and distance_id = {$pDistanceId}\r\n\t\t        and pointtype_id in (1,2,3,4)\r\n\t\t        and (levelpoint_order <= {$pDiscountFinish}\r\n\t\t\tand levelpoint_order >= {$pDiscountStart})";
    if ((int) CSql::singleValue($sql, 'countresult') > 0) {
        raidError('Интервал содержит запрещённые для амнистии точки.');
        return;
    }
    $sql = "update LevelPointDiscounts  set levelpointdiscount_value = {$pDiscountValue}\r\n\t                                ,levelpointdiscount_start = {$pDiscountStart}\r\n\t                                ,levelpointdiscount_finish = {$pDiscountFinish}\r\n\t                                ,levelpoint_id = {$pLevelPointId}\r\n\t       where \tlevelpointdiscount_id = {$pLevelPointDiscountId}";
    //echo $sql;
    MySqlQuery($sql);
    $viewmode = "Add";
} elseif ($action == 'HideLevelPointDiscount') {
    if (!$Administrator && !$Moderator) {
        CMmb::setMessage('Нет прав на правку интервала');
        return;
    }
    $pLevelPointDiscountId = mmb_validateInt($_POST, 'LevelPointDiscountId');
    if ($pLevelPointDiscountId <= 0) {
        raidError('Не определён ключ интервала.');
        return;
    }
    $sql = "update LevelPointDiscounts set levelpointdiscount_hide = 1\r\n\t        where levelpointdiscount_id = {$pLevelPointDiscountId}";
    MySqlQuery($sql);
    CMmb::setViews('ViewLevelPointDiscounts', 'Add');
} elseif ($action == 'RecalculateLevels') {
    if (!$Administrator && !$Moderator) {
        CMmb::setMessage('Нет прав на правку');
        return;
    }
    CMmb::setViews('ViewLevelPoints', 'Add');
    $pDistanceId = (int) $_POST['DistanceId'];
    if ($pDistanceId <= 0) {
Example #13
0
     }
     // можно добавить ещё проверку на то, что выдача по рангу не проводилась или, что лотерея не проводилась
     $pInvitationsEndDate = trim($pInvitationsEndDate) . ' 23:59:59';
     $sql = "insert into Invitations (user_id, invitation_begindt, invitation_enddt, invitationdelivery_id)\n\t\tSELECT \tu.user_id, NOW(), '{$pInvitationsEndDate}', {$newInvDeliveryId}\n\t\tFROM Users u\n\t\tWHERE COALESCE(u.user_noinvitation, 0) = 0\n\t\tORDER BY u.user_r6 DESC\n\t\tLIMIT 0, {$pInvitationsCount}\n\t\t";
     //echo  $sql;
     MySqlQuery($sql);
     CMmb::setShortResult('Приглашения по рейтингу выданы', '');
     //CMmb::setResult('', "ViewAdminDataPage", "");
     return;
 } elseif ($action == 'LottoInvitations') {
     CMmb::setViews('ViewAdminDataPage', '');
     if ($RaidId <= 0) {
         CMmb::setError('Марш-бросок не найден.', $view, '');
         return;
     }
     $pInvitationsCount = mmb_validateInt($_POST, 'LottoInvitationsCount');
     if ($pInvitationsCount <= 0) {
         CMmb::setError('Не указано число приглашений.', $view, '');
         return;
     }
     // пересчитываем рейтинг на всякий случай
     RecalcUsersRank($RaidId);
     // проверяем
     if (!CRights::canDeliveryInvitation($UserId, $RaidId, 2)) {
         CMmb::setError('Невозможно провести лотерею.', $view, '');
         return;
     }
     if ($pInvitationsCount > CSql::availableInvitationsCount($RaidId)) {
         CMmb::setError('Заявок указано больше, чем доступно.', $view, '');
         return;
     }
Example #14
0
        return;
    }
    // 19.06.2015 Добавил level_id чтобы проставить ввести точки по старым ММБ,
    // потом можно и нужно убрать
    $sql = "select tlp.levelpoint_id, \n\t               lp.levelpoint_name as lp_name,\n\t               tlp.teamlevelpoint_comment as tlp_comment,\n\t\t       tlp.teamlevelpoint_duration, \n\t\t       tlp.teamlevelpoint_penalty as tlp_penalty, \n\t\t       tlp.teamlevelpoint_result as tlp_result, \n\t\t       tlp.teamlevelpoint_datetime, \n\t\t       COALESCE(tlp.error_id, 0) as error_id,\n\t\t       DATE_FORMAT(tlp.teamlevelpoint_datetime, '%Y') as tlp_syear,\n\t\t       DATE_FORMAT(tlp.teamlevelpoint_datetime, '%d%m') as tlp_sdate,\n\t\t       DATE_FORMAT(tlp.teamlevelpoint_datetime, '%H%i%s') as tlp_stime,\n\t\t       DATE_FORMAT(tlp.teamlevelpoint_duration, '%H%i%s') as tlp_duration\n\t\tfrom TeamLevelPoints tlp\n\t\t     inner join LevelPoints lp\n\t\t     on lp.levelpoint_id = tlp.levelpoint_id\n\t\twhere tlp.teamlevelpoint_id = {$pTeamLevelPointId}";
    $Row = CSql::singleRow($sql);
    // Если вернулись после ошибки переменные не нужно инициализировать
    if ($viewsubmode == "ReturnAfterErrorTlp") {
        ReverseClearArrays();
        $LevelPointId = mmb_validateInt($_POST, 'LevelPointId');
        $TlpComment = $_POST['TlpComment'];
        $TlpYear = $_POST['TlpYear'];
        $TlpDate = $_POST['TlpDate'];
        $TlpTime = $_POST['TlpTime'];
        $PointName = '';
        $ErrorId = mmb_validateInt($_POST, 'ErrorId');
    } else {
        $LevelPointId = $Row['levelpoint_id'];
        $TlpComment = $Row['tlp_comment'];
        $TlpYear = $Row['tlp_syear'];
        $TlpDate = $Row['tlp_sdate'];
        $TlpTime = $Row['tlp_stime'];
        $PointName = $Row['lp_name'];
        $ErrorId = $Row['error_id'];
    }
    $NextActionName = 'ChangeTlp';
    $OnClickText = '';
    $SaveButtonText = 'Сохранить результат';
}
// В форме правки выводится только день и время, год считаем по дате регистарции ММБ и не выводим
if (empty($TlpYear) or (int) $TlpYear == 0) {
Example #15
0
            $Msg .= "Команда N {$Row['team_num']}, Дистанция: {$Row['distance_name']}, ММБ: " . trim($Row['raid_name']) . ".\n";
            $Msg .= "Автор изменений: {$ChangeDataUserName}.\n";
            $Msg .= "Вы можете увидеть результат на сайте и при необходимости внести свои изменения.\n\n";
            $Msg .= "P.S. Изменения может вносить любой из участников команды, а также модератор ММБ.";
            // Отправляем письмо
            SendMail($Row['user_email'], $Msg, $Row['user_name']);
        }
        mysql_free_result($Result);
    }
    // Конец отправки писем
    // Если передали альтернативную страницу, на которую переходить (пока только одна возможность - на список команд)
    if (empty($view)) {
        $view = "ViewTeamData";
    }
} elseif ($action == 'FindTeam') {
    $TeamNum = mmb_validateInt($_REQUEST, 'TeamNum', '');
    if ($TeamNum === false) {
        CMmb::setShortResult('Не указан номер команды', '');
        return;
    }
    $sql = "select team_id from Teams t\n\t\t\tinner join Distances d on t.distance_id = d.distance_id\n\t\twhere d.raid_id = {$RaidId} and t.team_hide = 0 and t.team_num = " . (int) $TeamNum;
    $TeamId = CSql::singleValue($sql, 'team_id');
    // Поменялся TeamId, заново определяем права доступа
    GetPrivileges($SessionId, $RaidId, $TeamId, $UserId, $Administrator, $TeamUser, $Moderator, $OldMmb, $RaidStage, $TeamOutOfRange);
    if ($TeamId <= 0) {
        CMmb::setResult('Команда с номером ' . (int) $TeamNum . ' не найдена', '');
        return;
    }
    $view = "ViewTeamData";
} elseif ($action == 'TeamInfo' or $action == 'TlpInfo' or $action == 'AddTlp' or $action == 'ChangeTlp' or $action == 'HideTlp') {
    if ($TeamId <= 0) {
Example #16
0
    $sql = "select raid_id \n               from  UserLinks \n               where userlink_id = {$pUserLinkId}";
    //     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", "");
} elseif ($action == "SendInvitation") {
    // Действие вызывается нажатием кнопки "Выдать приглашение"
    $pUserId = mmb_validateInt($_POST, 'UserId');
    if ($pUserId <= 0 or $UserId <= 0 or !CRights::canDeliveryInvitation($UserId, $RaidId, 1)) {
        CMmb::setErrorMessage('Не хватает прав или нет доступных приглашений');
        return;
    }
    // вставляем запись о розадче
    // Нахождим дату окончания регистрации
    $sql = "select ADDTIME(r.raid_registrationenddate, '23:59:59') as invenddt\n                from Raids r\n                where  r.raid_id = {$RaidId}\n                    and r.raid_registrationenddate is not null\n            ";
    $invEndDt = CSql::singleValue($sql, 'invenddt', false);
    if (empty($invEndDt)) {
        CMmb::setErrorSm('Не определена дата окончания действия приглашения.');
        return;
    }
    // смотрим максимальную дату приглашений по рейтингу
    // если нашли, то ставим её, а не дату окончания ММБ
    $sql = "select MAX(inv.invitation_enddt) as maxinvdt\n                from InvitationDeliveries invd\n                    inner join Invitations inv\n                    on invd.invitationdelivery_id = inv.invitationdelivery_id\n                where  invd.raid_id = {$RaidId}\n                    and inv.invitation_enddt > NOW()\n                    and invd.invitationdelivery_type = 1 \n            ";