<?php $sql = "select ul.userlink_id, ul.userlink_name, lt.linktype_name,\n\t\t ul.userlink_url, r.raid_name, r.raid_id,\n\t\t\t u.user_name, a.team_name, a.team_num,\n\t\t\t a.distance_name, a.distance_id\n\t\t from UserLinks ul\n\t\t\t inner join LinkTypes lt on ul.linktype_id = lt.linktype_id\n\t\t\t inner join Raids r on ul.raid_id = r.raid_id \n\t\t\t inner join Users u on ul.user_id = u.user_id \n\t\t\t left outer join (select tu.user_id, d.raid_id, t.team_name, t.team_num,\n\t\t\t d.distance_name, d.distance_id\n\t\t\t from TeamUsers tu\n\t\t\t inner join Teams t on tu.team_id = t.team_id and t.team_hide = 0\n\t\t\t inner join Distances d on t.distance_id = d.distance_id and d.distance_hide = 0\n\t\t\t\t\t where tu.teamuser_hide = 0\t \n\t\t\t\t\t ) a\n\t\t\t on ul.user_id = a.user_id and ul.raid_id = a.raid_id\n\t\t\twhere ul.userlink_hide = 0 \n\t\t\torder by r.raid_id desc, userlink_id asc"; // echo 'sql '.$sql; $Result = MySqlQuery($sql); $PredRaid = ''; while ($Row = mysql_fetch_assoc($Result)) { // сменился ММБ if ($PredRaid != $Row['raid_name']) { print '<div align="left" style="margin-left: 15px; margin-top: 25px;"><b>' . $Row['raid_name'] . "</b></div>\r\n"; $PredRaid = $Row['raid_name']; } $Label = empty($Row['userlink_name']) ? $Row['userlink_url'] : CMmbUI::toHtml($Row['userlink_name']); print '<div class="impress">' . $Row['linktype_name'] . ' ' . ' <a href="' . $Row['userlink_url'] . '" title="' . CMmbUI::toHtml($Row['userlink_name']) . '">' . $Label . '</a> ' . CMmbUI::toHtml($Row['user_name']) . ', ' . (empty($Row['team_name']) ? '' : 'команда ' . CMmbUI::toHtml($Row['team_name']) . ', N ' . $Row['team_num'] . ', дистанция ' . $Row['distance_name']) . "\r\n"; print "</div>\r\n"; } mysql_free_result($Result); ?> <p><table width="100%" border="0" cellspacing="1" cellpadding="5"> <tbody><tr><th> <font size="+2">Впечатления участников ММБ (ссылки)</font> </th> </tr><tr><td><a href="http://dw.school2.ru/mb/mbfilm">Марш-бросок. фильм</a> (2007-2009)</td></tr> <tr><th><font size="+1"><a name="13v">ММБ13-Весна, Шемякино — Протвино, 17-19 мая 2013 года</a></font></th></tr> <tr><td><ul> <li>3 <a href="http://al-stal.livejournal.com/201681.html">Улисс</a></li>
public static function getText($asHtml = true) { if (!$asHtml) { return implode("\r\n", self::$records); } $res = ''; foreach (self::$records as $rec) { $res .= CMmbUI::toHtml($rec) . "<br/>"; } return $res; }
</script> <?php print '<form name = "ModeratorsForm" action = "' . $MyPHPScript . '" method = "post">' . "\r\n"; print '<input type = "hidden" name = "action" value = "">' . "\r\n"; print '<input type = "hidden" name = "UserId" value = "0">' . "\n"; print '<input type = "hidden" name = "RaidModeratorId" value = "0">' . "\n"; $sql = "select u.user_id, u.user_name, rm.raidmoderator_id \n\t\t from Users u\n\t\t\t inner join RaidModerators rm\n\t\t\t on u.user_id = rm.user_id \n\t\t\twhere rm.raidmoderator_hide = 0\n\t\t\t and rm.raid_id = {$RaidId}\n\t\t\torder by user_name "; //echo 'sql '.$sql; $Result = MySqlQuery($sql); $RowsCount = mysql_num_rows($Result); if ($RowsCount > 0) { while ($Row = mysql_fetch_assoc($Result)) { print '<div class="team_res">' . "\r\n"; print '<a href="?UserId=' . $Row['user_id'] . '">' . CMmbUI::toHtml($Row['user_name']) . '</a>' . "\r\n"; print '<input type="button" onClick="javascript: if (confirm(\'Вы уверены, что хотите снять статус модератора с текущего марш-броска? \')) { HideModerator(' . $Row['raidmoderator_id'] . ',' . $Row['user_id'] . '); }" name="ModeratorHideButton" value="Скрыть" tabindex="10">' . "\r\n"; print "</div>\r\n"; } } else { print '<div class="input" align="left">Не найдено</div>' . "\r\n"; } print "</form>\r\n"; mysql_free_result($Result); ?> <!-- </td></tr> </table> -->
$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 ' '; } print "</td>\r\n</tr>\r\n"; } mysql_free_result($Result); print "</table>\r\n"; ?> <br/>
print '<tr><td><a href="javascript:ViewAdminUnionPage();" title="Управление объединением команд">Объединение команд</a></td></tr>' . "\r\n"; } // Поиск команды print '<tr><td style="padding-top: 15px;"><input type="text" name="TeamNum" style="width: 125px;" value="Номер команды" tabindex="206" title="Будет выведена карточка команды с указанным номером для выбранного выше ММБ"' . CMmbUI::placeholder('Номер команды') . '> <input type="submit" name="FindButton" value="Найти" style="width: 55px; margin-left: 5px;" tabindex="207"></td></tr>' . "\r\n"; print '</table>' . "\r\n"; print '</form>' . "\r\n"; // Поиск участника print '<form name="FindUserForm" action="' . $MyPHPScript . '" method="post" onSubmit="return ValidateFindUserForm();">' . "\r\n"; print '<input type="hidden" name="action" value="FindUser">' . "\r\n"; print '<input type="hidden" name="view" value="' . $view . '">' . "\r\n"; print '<input type="hidden" name="RaidId" value="' . $RaidId . '">' . "\r\n"; print '<input type="hidden" name="DistanceId" value="0">' . "\r\n"; print '<table class="menu" border="0" cellpadding="0" cellspacing="0">' . "\r\n"; print '<tr><td class="input"><input type="text" name="FindString" style="width:125px;" value="Часть ФИО" tabindex="301" title="Будет выведен список пользователей, чьи ФИО содержат указанный текст. Для вывода всех наберите: все-все (можно и все-все-все)."' . CMmbUI::placeholder('Часть ФИО') . '> <input type="submit" name="FindButton" value="Найти" style="width: 55px; margin-left: 5px;" tabindex="302"></td></tr>' . "\r\n"; print '</table>' . "\r\n"; print '</form>' . "\r\n"; print '</br>' . "\r\n"; // Внешние сылки print '<table class="menu" border="0" cellpadding="0" cellspacing="0">' . "\r\n"; print '<tr><td><a href="http://www.livejournal.com/community/_mmb_" title="Сообщество ММБ в Живом Журнале" target = "_blank">ЖЖ</a></td></tr>' . "\r\n"; print '<tr><td><a href="http://slazav.mccme.ru/maps/" title="Карты ММБ для просмотра и загрузки в GPS" target = "_blank">Карты</a></td></tr>' . "\r\n"; print '<tr><td><a href="?badges" title="Значки со всех ММБ">Все значки</a></td></tr>' . "\r\n"; print '<tr><td><a href="?rating" title="Страница рейтинга участников">Рейтинг</a></td></tr>' . "\r\n"; print '<tr><td><a href="' . $MyLocation . 'vp_old.html" title="Ручная подборка впечатлений за 2003-2013гг" target = "_blank">Архив впечатлений</a></td></tr>' . "\r\n"; print '<tr><td> <a href="http://slazav.mccme.ru/mmb/" title="Статическая версия сайта 2009г" target = "_blank">Архив сайта</a></td></tr>' . "\r\n"; print '</table>' . "\r\n"; print '</br>' . "\r\n"; // Почта
if ($PredRaid <> $Row['raid_name']) { // print('<div align = "left" style = "margin-left: 15px; margin-top: 25px;"><b>'.$Row['raid_name'].'</b></div>'."\r\n"); $PredRaid = $Row['raid_name']; } if ($PredLinkType <> $Row['linktype_name']) { $PredLinkType = $Row['linktype_name']; $LinkTextOnly = $Row['linktype_textonly']; print("<div align = \"left\" style = \"margin-left: 15px; margin-top: 25px;\"><b>{$Row['linktype_name']}</b></div>\r\n"); } $Label = (empty($Row['userlink_name'])) ? $Row['userlink_url'] : CMmbUI::toHtml($Row['userlink_name']); $TeamDist = (empty($Row['team_name']) ? '' : ', команда '.CMmbUI::toHtml($Row['team_name']).', N '.$Row['team_num'].', дистанция '.$Row['distance_name']); if (empty($LinkTextOnly)) { print("<div class=\"impress\"><a href=\"{$Row['userlink_url']}\" title=\"" . CMmbUI::toHtml($Row['userlink_name']) . "\">$Label</a> ". CMmbUI::toHtml($Row['user_name']). "$TeamDist \r\n"); } else { print("<div class=\"impress\">{$Row['userlink_url']} ". CMmbUI::toHtml($Row['user_name']). "$TeamDist \r\n"); } print("</div>\r\n"); } mysql_free_result($Result); ?>
print '</select>' . "\n"; // Показываем выпадающий список типов ссылок print '<select name="LinkTypeId" class="leftmargin" tabindex="' . ++$TabIndex . '">' . "\n"; $sql = "select linktype_id, linktype_name, linktype_textonly from LinkTypes where linktype_hide = 0 order by linktype_order asc "; $Result = MySqlQuery($sql); while ($Row = mysql_fetch_assoc($Result)) { $linktypeselected = ''; $LinkNameDisabled = empty($Row['linktype_textonly']) ? 'false' : 'true'; print '<option value="' . $Row['linktype_id'] . '" ' . $linktypeselected . ' onclick = "javascript:document.UserLinksForm.NewLinkName.disabled=' . $LinkNameDisabled . ';">' . $Row['linktype_name'] . "</option>\n"; } mysql_free_result($Result); print '</select>' . "\n"; print '<input type="text" name="NewLinkName" size="30" value="' . $NewLinkName . '" tabindex = "' . ++$TabIndex . '" ' . $DisabledText . ' ' . CMmbUI::placeholder($NewLinkName) . ' title = "Название нового впечатления">' . "\r\n"; print "</div>\r\n"; print '<div align = "left" style = "padding-top: 5px;">' . "\r\n"; print '<input type="text" name="NewLinkUrl" size="50" value="' . $NewLinkUrl . '" tabindex = "' . ++$TabIndex . '" ' . $DisabledText . ' ' . CMmbUI::placeholder($NewLinkUrl) . ' title = "Адрес ссылки на впечатление">' . "\r\n"; print '<input type="button" onClick = "javascript: AddLink();" name="AddLinkButton" value="Добавить" tabindex = "' . ++$TabIndex . '">' . "\r\n"; print "</div></form>\r\n"; } // Конец блока ссылок на впечатления // 08.06.2016 Блок приглашений if ($viewmode != 'Add' and CRights::canViewUserInvitations($pUserId, $RaidId, $UserId)) { // Выводим спсиок print '<div style = "margin-top: 20px; margin-bottom: 10px; text-align: left">Приглашения:</div>' . "\r\n"; $sql = "select inv.invitation_id, inv.invitation_begindt as begindt, inv.invitation_enddt as enddt,\n\t\t idt.invitationdeliverytype_name as type_name, t.team_id, t.team_name, t.team_num,\n\t\t r.raid_id, r.raid_name\n \t\t\tfrom Invitations inv\n\t \t\t\tinner join InvitationDeliveries idev\n \t\t\t\ton inv.invitationdelivery_id = idev.invitationdelivery_id\n\t \t\t\tinner join InvitationDeliveryTypes idt\n \t\t\t\ton idev.invitationdelivery_type = idt.invitationdeliverytype_id\n \t\t\t\tinner join Raids r\n \t\t\t\ton idev.raid_id = r.raid_id\n \t\t\t\tleft outer join Teams t\n \t\t\t\ton inv.invitation_id = t.invitation_id\n\t \t\t\t and t.team_hide = 0\n\t\t \twhere inv.user_id = {$pUserId}\n\t\t\torder by r.raid_id desc, inv.invitation_id asc\n \t"; // echo 'sql '.$sql; $Result = MySqlQuery($sql); while ($Row = mysql_fetch_assoc($Result)) { print '<div class="team_res">' . $Row['raid_name'] . '; ' . $Row['type_name'] . '; выдано: ' . $Row['begindt'] . '; '; if (!empty($Row['team_id'])) { print 'использовано для команды: <a href = "?TeamId=' . $Row['team_id'] . '">' . $Row['team_name'] . ' (N' . $Row['team_num'] . ')</a>';
print '<tr><td class="input">Лимит команд <input type="text" name="RaidTeamsLimit" size="8" maxlength="4" value="' . $RaidTeamsLimit . '" tabindex="' . ++$TabIndex . '"' . $DisabledText . ($viewmode != 'Add' ? '' : CMmbUI::placeholder($RaidTeamsLimit)) . ' title="Лимит команд"></td></tr>' . "\r\n"; /* // ============ Информация о старте (ссылка) print('<tr><td class="input">Ссылка на информацию о старте: <input type="text" name="RaidStartLink" size="36" value="'.$RaidStartLink.'" tabindex="'.(++$TabIndex) .'"'.$DisabledText.($viewmode <> 'Add' ? '' : CMmbUI::placeholder($RaidStartLink)) .' title="Ссылка на информацию о старте ММБ"></td></tr>'."\r\n"); */ print '<tr><td class="input"><br/></td></tr>' . "\r\n"; print '<tr><td class="input"><b>Заполняется после ММБ</b></td></tr>' . "\r\n"; // ============ Финиш ММБ print '<tr><td class="input">Название пункта финиша: <input type="text" name="RaidFinishPointName" size="40" value="' . $RaidFinishPointName . '" tabindex="' . ++$TabIndex . '"' . $DisabledText . ($viewmode != 'Add' ? '' : CMmbUI::placeholder($RaidFinishPointName)) . ' title="Название пункта финиша ММБ"></td></tr>' . "\n\n"; // ============ Отображение резудьтатов ММБ print '<tr><td class="input">Не показывать результаты ММБ <input type="checkbox" name="RaidNoShowResult" ' . ($RaidNoShowResult == 1 ? 'checked="checked"' : '') . ' tabindex = "' . ++$TabIndex . '" ' . $DisabledText . ' title = "Не показывать результаты ММБ" /></td></tr>' . "\r\n"; // ============ Дата закрытия протокола ММБ print '<tr><td class="input">Дата закрытия протокола (гггг-мм-дд): <input type="text" name="RaidCloseDate" size="10" value="' . $RaidCloseDate . '" tabindex="' . ++$TabIndex . '"' . $DisabledText . ($viewmode != 'Add' ? '' : CMmbUI::placeholder($RaidCloseDate)) . ' title="Дата закрытия протокола ММБ">' . "\r\n"; // ============ Очистка даты закрытия протокола ММБ print '<input type="checkbox" name="ClearRaidCloseDate" ' . ($ClearRaidCloseDate == 1 ? 'checked="checked"' : '') . ' tabindex = "' . ++$TabIndex . '" ' . $DisabledText . ' title = "Дата закрытия протокола будет очищена" /> Убрать</td></tr>' . "\r\n"; /* // ============ Значок (ссылка и загрузка файла) print('<tr><td class="input">Ссылка на значок: <input type="text" name="RaidZnLink" size="50" value="'.$RaidZnLink.'" tabindex="'.(++$TabIndex) .'"'.$DisabledText.($viewmode <> 'Add' ? '' : CMmbUI::placeholder($RaidZnLink)) .' title="Ссылка на значок ММБ"></td></tr>'."\r\n"); 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 '<div style = "margin-top: 30px; margin-bottom: 10px; text-align: left">Рассылка для всех участников!</div>' . "\r\n"; print '<form name = "SendMessageForAllForm" action = "' . $MyPHPScript . '" method = "post">' . "\r\n"; print '<input type = "hidden" name = "action" value = "">' . "\r\n"; print '<input type = "hidden" name = "RaidId" value = "' . $RaidId . '">' . "\r\n"; $DisabledText = ''; $NewMessageSubject = 'Тема рассылки'; $NewMessageText = 'Текст сообщения'; // print('<div align = "left" style = "padding-top: 5px;">'."\r\n"); // Показываем выпадающий список типов ссылок print '<div style = "margin-top: 10px; margin-bottom: 10px; text-align: left">' . "\r\n"; print '<select name="SendForAllTypeId" tabindex="' . ++$TabIndex . '">' . "\n"; print '<option value="1" selected>Обычная (всем участникам выбранного ММБ, с учетом флага)</option>' . "\n"; print '<option value="2">Экстренная (всем участникам выбранного ММБ)</option>' . "\n"; print '<option value="3">Пользователям (всем пользователям сайта, с учетом флага)</option>' . "\n"; print '<option value="4">Участникам ожидающих команд, имеющих неиспользованное рейтинговое приглашение</option>' . "\n"; print '<option value="5">Участниками команд, ожидающих приглашения, (удаление)</option>' . "\n"; print '</select>' . "\n"; print '</div>' . "\r\n"; print '<div style = "margin-top: 10px; margin-bottom: 10px; text-align: left">' . "\r\n"; print '<input type="text" name="MessageSubject" size="50" value="' . $NewMessageSubject . '" tabindex = "' . ++$TabIndex . '" ' . $DisabledText . ' ' . CMmbUI::placeholder($NewMessageSubject) . ' title = "Тема рассылки">' . "\r\n"; print '</div>' . "\r\n"; // print("</div>\r\n"); print '<div class="team_res"><textarea name="MessageText" rows="5" cols="60" tabindex = "' . ++$TabIndex . '" ' . $DisabledText . ' ' . CMmbUI::placeholder($NewMessageText) . ' title = "Текст сообщения">' . $NewMessageText . '</textarea></div>' . "\r\n"; print "<br/>\r\n"; print '<input type="button" onClick = "javascript: SendMessageForAll();;" name="SendMessageForAllButton" value="Отправить" tabindex = "' . ++$TabIndex . '">' . "\r\n"; print '</form>' . "\r\n"; ?>
print "<tr><td class=\"input\"><b>{$RaidFileName}</b></td></tr>\r\n"; print '<input type="hidden" name="raidfile" value="' . substr($RaidFileName, strlen($RaidFilePrefix)) . '"/>'; } print '<tr><td class="input">' . "\n"; print 'Тип файла</span>' . "\n"; // Показываем выпадающий список файлов print '<select name="FileTypeId" class="leftmargin" tabindex="' . ++$TabIndex . '"' . $DisabledText . '>' . "\n"; $sql = "select filetype_id, filetype_name from FileTypes "; $Result = MySqlQuery($sql); while ($Row = mysql_fetch_assoc($Result)) { $filetypeselected = $Row['filetype_id'] == $FileTypeId ? 'selected' : ''; print '<option value="' . $Row['filetype_id'] . '" ' . $filetypeselected . ' >' . $Row['filetype_name'] . "</option>\n"; } mysql_free_result($Result); print '</select>' . "\n"; $placeHolder = $viewmode != 'Add' ? '' : CMmbUI::placeholder($RaidFileComment); print '<tr><td class = "input"><input type="text" name="RaidFileComment" size="50" value="' . $RaidFileComment . '" tabindex = "' . ++$TabIndex . '" ' . " {$DisabledText} {$placeHolder} title = \"Описание файла\"></td></tr>\r\n"; /* print(' <span style="margin-left: 30px;"> Точка дистанции</span>'."\n"); // Показываем выпадающий список точек print('<select name="LevelPointId" class="leftmargin" tabindex="'.(++$TabIndex).'"'.$DisabledText.'>'."\n"); $sql = "select lp.levelpoint_id, lp.levelpoint_name from LevelPoints lp inner join Levels l on lp.level_id = l.level_id inner join Distances d on l.distance_id = d.distance_id where d.raid_id = ".$RaidId." order by d.distance_id, lp.levelpoint_order"; $Result = MySqlQuery($sql); while ($Row = mysql_fetch_assoc($Result)) { $levelpointselected = ($Row['levelpoint_id'] == $LevelPointId ? 'selected' : '');
if ($Administrator && $outOfRange && in_array($Row['team_id'], $forgetful)) { $outOfRange = '<span style="color:red">' . $outOfRange . '</span>'; } if ($outOfRange) { $outOfRange = ', ' . $outOfRange; } print '<tr class="' . $TrClass . '"> <td' . $tdstyle . '><a name="' . $Row['team_num'] . '"></a>' . $Row['team_num'] . '</td> <td' . $tdstyle . '><a href="?TeamId=' . $Row['team_id'] . '&RaidId=' . $RaidId . '">' . CMmbUI::toHtml($Row['team_name']) . "</a> ({$useGps}{$Row['distance_name']}, {$Row['team_mapscount']}{$teamGP}{$outOfRange}) {$teamDismiss}</td><td{$tdstyle}>\r\n"; // Формируем колонку Участники if (!isset($TeamMembers[$Row['team_id']])) { print '<div class= "input">no member records in team ' . $Row['team_id'] . '</div>' . "\r\n"; // die("</td></tr></table> no member records in team '{$Row['team_id']}'"); } else { foreach ($TeamMembers[$Row['team_id']] as $UserRow) { print '<div class= "input"><a href="?UserId=' . $UserRow['user_id'] . '&RaidId=' . $RaidId . '">' . CMmbUI::toHtml($UserRow['user_name']) . '</a> ' . $UserRow['user_birthyear'] . ' ' . CMmbUI::toHtml($UserRow['user_city']) . "\r\n"; // Отметка невыхода на старт в предыдущем ММБ if ($UserRow['teamuser_notstartraidid'] > 0) { print ' <a title="Участник был заявлен, но не вышел на старт в прошлый раз" href="#comment">(?!)</a> '; } // Неявку участников показываем, если загружены результаты if ($CanViewResults) { if ($UserRow['levelpoint_name'] != '') { print "<i>Не явился(-ась) в: {$UserRow['levelpoint_name']}</i>\r\n"; } } print '</div>' . "\r\n"; } } // Конец формирования колонки Участники print "</td>\r\n";
print '<input type="Text" maxlength="6" name="TlpTime" size="6" value="' . $TlpTime . '" tabindex="' . ++$TabIndex . '"' . ' onclick="this.select();" title="ччммсс - часы минуты секунды без разделителя">' . "\n"; print '</td></tr>' . "\r\n"; print '<tr><td class="input">' . "\n"; print 'Ошибка ' . "\n"; print '<select name="ErrorId" class="leftmargin" tabindex="' . ++$TabIndex . '"' . $DisabledText . '>' . "\n"; $sql = "select error_id, error_name from Errors order by error_id "; $Result = MySqlQuery($sql); while ($Row = mysql_fetch_assoc($Result)) { $errorselected = $Row['error_id'] == $ErrorId ? 'selected' : ''; print '<option value="' . $Row['error_id'] . '" ' . $errorselected . ' >' . $Row['error_name'] . "</option>\n"; } mysql_free_result($Result); print '</select>' . "\n"; print '</td></tr>' . "\r\n"; print '<tr><td class="input">' . "\n"; print ' Комментарий <input type="text" name="TlpComment" size="20" value="' . $TlpComment . '" tabindex = "' . ++$TabIndex . '" ' . $DisabledText . ' ' . ($viewmode != 'Add' ? '' : CMmbUI::placeholder($TlpComment)) . 'title="Комментарий">' . "\r\n"; print "</td></tr>\r\n"; // ================ Submit для формы ========================================== print '<tr><td class="input" style="padding-top: 20px;">' . "\n"; print '<input type="button" onClick="javascript: if (ValidateTlpForm()) submit();" name="RegisterButton" value="' . $SaveButtonText . '" tabindex="' . ++$TabIndex . '">' . "\n"; // print('<input type="button" onClick="javascript: Cancel();" name="CancelButton" value="Отмена" tabindex="'.(++$TabIndex).'">'."\n"); // ============ Кнопка удаления точки if ($viewmode != "Add" && !empty($viewmode) && $AllowEditResult == 1) { print ' <input type="button" style="margin-left: 30px;" onClick="javascript: if (confirm(\'Вы уверены, что хотите удалить точку: ' . trim($PointName) . '? \')) {HideTlp();}" name="HideTlpButton" value="Удалить точку" tabindex="' . ++$TabIndex . '">' . "\n"; } print "</td></tr>\r\n"; print "</table>\n"; print "</form>\r\n"; } print "<br/>\n"; print "<table class=\"std\">\r\n";
print '</select>' . "\n"; print 'Тип Точки' . "\n"; // Показываем выпадающий список файлов print '<select name="PointTypeId" class="leftmargin" tabindex="' . ++$TabIndex . '"' . $DisabledText . '>' . "\n"; $sql = "select pointtype_id, pointtype_name from PointTypes "; $Result = MySqlQuery($sql); while ($Row = mysql_fetch_assoc($Result)) { $pointtypeselected = $Row['pointtype_id'] == $PointTypeId ? 'selected' : ''; print '<option value="' . $Row['pointtype_id'] . '" ' . $pointtypeselected . ' >' . $Row['pointtype_name'] . "</option>\n"; } mysql_free_result($Result); print '</select>' . "\n"; print "</td></tr>\r\n"; print "<tr><td class=\"input\">\n"; print '<input type="text" name="PointName" size="20" value="' . $PointName . '" tabindex = "' . ++$TabIndex . '" ' . $DisabledText . ' ' . ($viewmode != 'Add' ? '' : CMmbUI::placeholder($PointName)) . ' title = "Название КП">' . "\r\n"; print ' Штраф: <input type="text" name="PointPenalty" size="5" value="' . $PointPenalty . '" tabindex = "' . ++$TabIndex . '" ' . $DisabledText . ' ' . ($viewmode != 'Add' ? '' : CMmbUI::placeholder($PointPenalty)) . ' title = "Штраф за невзятие КП в минутах">' . "\r\n"; print "</td></tr>\r\n"; print "<tr><td>\r\n"; print "Дата (ддмм) и время (ччмм) ограничений для прохождения точки: <br/> снизу\r\n"; // Можно отключить правку написав $MinDateReadOnly = 'readonly' $MinDateReadOnly = ''; print '<input type="hidden" maxlength="4" name="MinYear" size="3" value="' . $LevelPointMinYear . '" >' . "\n"; print '<input type="Text" maxlength="4" name="MinDate" size="3" value="' . $LevelPointMinDate . '" tabindex="' . ++$TabIndex . '"' . $MinDateReadOnly . ' title="ддмм - день месяц без разделителя" onclick="this.select();" onkeydown="if (event.keyCode == 13 && this.value.length == 4) {document.LevelPointForm.MinTime.focus();}">' . "\n"; print '<input type="Text" maxlength="4" name="MinTime" size="3" value="' . $LevelPointMinTime . '" tabindex="' . ++$TabIndex . '"' . ' onclick="this.select();" title="ччмм - часы минуты без разделителя">' . "\n"; print ' и сверху' . "\n\n"; $MaxDateReadOnly = ''; print '<input type="hidden" maxlength="4" name="MaxYear" size="3" value="' . $LevelPointMaxYear . '" >' . "\n"; print '<input type="Text" maxlength="4" name="MaxDate" size="3" value="' . $LevelPointMaxDate . '" tabindex="' . ++$TabIndex . '"' . $MaxDateReadOnly . ' title="ддмм - день месяц без разделителя" onclick="this.select();" onkeydown="if (event.keyCode == 13 && this.value.length == 4) {document.LevelPointForm.MaxTime.focus();}">' . "\n"; print '<input type="Text" maxlength="4" name="MaxTime" size="3" value="' . $LevelPointMaxTime . '" tabindex="' . ++$TabIndex . '"' . ' onclick="this.select();" title="ччмм - часы минуты без разделителя">' . "\n"; print '</td></tr>' . "\n\n"; // ================ Submit для формы ==========================================
// Возможность добавлять участников заканчивается вместе с возможностью создавать команды // Обычный пользователь может добавлять новых участников при редактировании своей команды // Модератор/Администратор могут создавать новые команды с другим участником вместо себя //if (($AllowEdit == 1) && CanCreateTeam($Administrator, $Moderator, $OldMmb, $RaidStage, $TeamOutOfRange) && // (($viewmode <> "Add") || $Moderator || $Administrator)) // 21.03.2016 Определяем, когда можно добавлять нового пользователя // при добавлении команды можно только модераторам или администраторам // при правке - в зависимости от типа команды if ($viewmode != 'Add' and CRights::canEditTeam($UserId, $RaidId, $TeamId) or $viewmode == 'Add' and (CSql::userAdmin($UserId) or CSql::userModerator($UserId, $RaidId)) and CSql::raidStage($RaidId) < 7) { print '<tr><td class="input" style="padding-top: 10px;">' . "\n"; // Предупредим команды в зачете о том, что они могут добавлять участников только до закрытия регистрации if ($TeamUser and !$TeamOutOfRange) { print 'Добавление новых участников в команду разрешено до ' . $RegistrationEnd . ".<br/>\n"; //print('После этой даты они могут участвовать в ММБ только в виде самостоятельной команды вне зачета.<br/>'."\n"); } print '<input type="text" name="NewTeamUserEmail" size="50" value="Email нового участника" tabindex="' . ++$TabIndex . '"' . CMmbUI::placeholder('Email нового участника') . 'title="Укажите e-mail пользователя, которого Вы хотите добавить в команду. Пользователь может запретить добавлять себя в команду в настройках своей учетной записи.">' . "\n"; print "</td></tr>\n"; } // 20/02/2014 Пользовательское соглашение if ($viewmode == "Add" && $AllowEdit == 1) { print '<tr><td class="input" style="padding-top: 10px; font-size: 80%;">' . "\n"; print '<b>Условия участия (выдержка из <a href="' . $RaidRulesLink . '">положения</a>):</b><br/>' . "\n"; // Ищем последнее пользовательское соглашение $ConfirmFile = trim($MyStoreHttpLink) . CSql::raidFileName(null, 8, true); $Fp = @fopen($ConfirmFile, "r"); if ($Fp === false) { print "Файл с положением на сайт не загружен\n"; CMmbLogger::e('raidFileLink', "File '{$ConfirmFile}' doesn't exist"); } else { while (!feof($Fp) && !strpos(trim(fgets($Fp, 4096)), 'body')) { }
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("\\%", "\\_", "\\[", "\\]"); $searchVal = str_replace($search, $replace, $searchVal); $searchCond = "logs_message like(" . CSql::quote("%{$searchVal}%") . ")"; } $sql = "select logs_id, logs_level, user_id, logs_operation, logs_message, logs_dt, logs_duration from Logs \n where {$cond} and {$searchCond} \n order by logs_id desc \n limit {$limit}"; $Result = MySqlQuery($sql); print "<table class='std'>\n"; print "<tr class='gray head'><th>#</th><th width='50'>id</th><th>Время</th><th>Уровень</th><th>Пользователь</th><th>Операция</th><th>Сообщение</th><th>Длительность</th></tr>\n"; $cnt = 0;
<?php $TabIndex = 0; if ($AllowEdit == 1) { // Выводим начало формы с точкой print '<form name="ScanPointForm" action="' . $MyPHPScript . '" method="post" onSubmit="' . $OnSubmitFunction . '">' . "\n"; print '<input type="hidden" name="action" value="">' . "\n"; print '<input type="hidden" name="view" value="ViewLevelPoints">' . "\n"; print '<input type="hidden" name="RaidId" value="' . $RaidId . '">' . "\n"; print '<input type="hidden" name="ScanPointId" value="' . $pScanPointId . '">' . "\n\n"; print '<table style="font-size: 80%;" border="0" cellpadding="2" cellspacing="0">' . "\n\n"; $DisabledText = ''; print '<tr><td class="input">' . "\n"; print '<input type="text" name="ScanPointName" size="40" value="' . $ScanPointName . '" tabindex = "' . ++$TabIndex . '" ' . $DisabledText . ' ' . ($viewmode != 'Add' ? '' : CMmbUI::placeholder($ScanPointName)) . 'title = "Название точки сканирования">' . "\r\n"; print '</td></tr>' . "\n\n"; // ================ Submit для формы ========================================== print '<tr><td class="input" style="padding-top: 20px;">' . "\n"; print '<input type="button" onClick="javascript: if (ValidateScanPointForm()) submit();" name="RegisterButton" value="' . $SaveButtonText . '" tabindex="' . ++$TabIndex . '">' . "\n"; // ============ Кнопка удаления точки if ($viewmode != "Add" && $AllowEdit == 1) { print ' <input type="button" style="margin-left: 20px;" onClick="javascript: {ScanPointUp();}" name="ScanPointUpButton" value="Поднять скан-точку" tabindex="' . ++$TabIndex . '">' . "\n"; print ' <input type="button" style="margin-left: 20px;" onClick="javascript: {ScanPointDown();}" name="ScanPointDownButton" value="Опустить скан-точку" tabindex="' . ++$TabIndex . '">' . "\n"; print ' <input type="button" style="margin-left: 30px;" onClick="javascript: if (confirm(\'Вы уверены, что хотите удалить скан-точку: ' . trim($ScanPointName) . '? \')) {HideScanPoint();}" name="HideLevelPointButton" value="Удалить точку" tabindex="' . ++$TabIndex . '">' . "\n"; } print "</td></tr>\r\n"; print "</table>\n"; print "</form>\r\n"; } print "<br/>\n";
print "<td><a href=\"?UserId={$Row['user_id']}\">" . CMmbUI::toHtml($Row['user_name']) . "</a></td>\r\n"; print "<td align=\"center\">{$Row['userrank']}</td>\r\n"; if ($ShowAllRaids) { // Показываем список ММБ foreach ($distances as $distanceId) { $RowRaids = $teamPlaces->GetUserDistance($Row['user_id'], $distanceId); if ($RowRaids !== null && !empty($RowRaids['team_name'])) { $TeamPlace = $teamPlaces->GetTeamPlace($RowRaids['team_id']); $LevelPointId = $RowRaids['levelpoint_id']; // Есть место команды и нет схода участника $TeamPlaceResult = ($TeamPlace > 0 and $LevelPointId == 0) ? ", место {$TeamPlace}" : ''; $TeamUserOff = ""; // Есть место команды, но сход участника // if ($TeamPlace > 0 and $LevelId > 0) $TeamUserOff = ", сход на этапе <b>".$RowRaids['level_name']."</b>"; // if ($TeamPlace > 0 and $LevelPointId > 0) $TeamUserOff = ", не явка в точку <b>".$RowRaids['levelpoint_name']."</b>"; $TeamString = '<a href="?TeamId=' . $RowRaids['team_id'] . '">' . CMmbUI::toHtml($RowRaids['team_name']) . '</a></br>' . $RowRaids['teamuser_rank'] . $TeamPlaceResult . $TeamUserOff; } else { $TeamString = ' '; } print "<td>{$TeamString}</td>\r\n"; } } print "</tr>\r\n"; } // Конец цикла по журналу объединений mysql_free_result($Result); print "</table>\r\n"; CMmbLogger::addInterval('выборка-отрисовка', $t5); ?> <br/>
print '<input type="hidden" name="action" value="">' . "\n"; print '<input type="hidden" name="view" value="ViewLevelPointDiscounts">' . "\n"; print '<input type="hidden" name="RaidId" value="' . $RaidId . '">' . "\n"; print '<input type="hidden" name="DistanceId" value="' . $DistanceId . '">' . "\n"; //print('<input type="hidden" name="UserId" value="0">'."\n\n"); //print('<input type="hidden" name="LevelPointId" value="'.$LevelPointId.'">'."\n"); print '<input type="hidden" name="LevelPointDiscountId" value="' . $pLevelPointDiscountId . '">' . "\r\n"; print "<table class=\"control\">\r\n"; $DisabledText = ''; print '<tr><td class="input">' . "\n"; print ' Амнистия (минуты) <input type="text" name="DiscountValue" size="5" value="' . $DiscountValue . '" tabindex = "' . ++$TabIndex . '" ' . $DisabledText . ' ' . ($viewmode != 'Add' ? '' : CMmbUI::placeholder($DiscountValue)) . 'title="Величина амнистии на интервале КП в минутах">' . "\r\n"; print ' на порядковые номера точек (КП) с <input type="text" name="DiscountStart" size="5" value="' . $DiscountStart . '" tabindex = "' . ++$TabIndex . '" ' . $DisabledText . ' ' . ($viewmode != 'Add' ? '' : CMmbUI::placeholder($DiscountStart)) . 'title="Порядковый номер первого КП в амнистии">' . "\r\n"; print ' по <input type="text" name="DiscountFinish" size="5" value="' . $DiscountFinish . '" tabindex = "' . ++$TabIndex . '" ' . $DisabledText . ' ' . ($viewmode != 'Add' ? '' : CMmbUI::placeholder($DiscountFinish)) . 'title="Порядковый номер последнего КП в амнистии">' . "\r\n"; print '</td></tr>' . "\n\n"; print '<tr><td class="input">' . "\n"; print 'Точка зачёта амнистии: </span>' . "\n"; // Показываем выпадающий список точек // ограничиваем пока Сменой карт и Финишем print '<select name="LevelPointId" class="leftmargin" tabindex="' . ++$TabIndex . '">' . "\n"; $sql = "select levelpoint_id, levelpoint_name from LevelPoints where pointtype_id in (2,4) and distance_id = " . $DistanceId . " order by levelpoint_order "; $Result = MySqlQuery($sql); while ($Row = mysql_fetch_assoc($Result)) { $levelpointselected = $Row['levelpoint_id'] == $LevelPointId ? 'selected' : ''; print '<option value="' . $Row['levelpoint_id'] . '" ' . $levelpointselected . ' >' . $Row['levelpoint_name'] . "</option>\n"; } mysql_free_result($Result); print '</select>' . "\n"; print '</td></tr>' . "\n\n";
//echo 'sql '.$sql; $Result = MySqlQuery($sql); print "<table class=\"std\">\r\n"; print '<tr class="head gray"> <td width="150">Пользователь</td> <td width="300">Слияние с</td> <td width="200">Статус</td> <td width="150">Создана</td> <td width="400">Возможные действия</td> </tr>' . "\r\n"; // Сканируем команды while ($Row = mysql_fetch_assoc($Result)) { // print('<tr class = "'.$TrClass.'">'."\r\n"); print "<tr>\r\n"; print "<td>" . CMmbUI::toHtml($Row['user_name']) . "</td>\r\n"; print "<td>" . CMmbUI::toHtml($Row['user_parentname']) . "</td>\r\n"; print "<td align=\"center\">{$Row['unionstatus']}</td>\r\n"; print "<td>{$Row['log_dt']}</td>\r\n"; print "<td>\r\n"; if (CanApproveUserUnion($Administrator, $Row['log_id'], $UserId)) { print '<input type="button" style = "margin-left: 15px;" onClick = "javascript: ApproveUnion(' . $Row['log_id'] . ', ' . $UserId . '); " name="ApproveButton" value="Подтвердить" tabindex = "' . ++$TabIndex . '">' . "\r\n"; } if (CanRejectUserUnion($Administrator, $Row['log_id'], $UserId)) { print '<input type="button" style = "margin-left: 15px;" onClick = "javascript: RejectUnion(' . $Row['log_id'] . ', ' . $UserId . '); " name="RejectButton" value="Отклонить" tabindex = "' . ++$TabIndex . '">' . "\r\n"; } if (CanRollBackUserUnion($Administrator, $Row['log_id'], $UserId)) { print '<input type="button" style = "margin-left: 15px;" onClick = "javascript: RollBackUnion(' . $Row['log_id'] . ', ' . $UserId . '); " name="RollBackButton" value="Восстановить" tabindex = "' . ++$TabIndex . '">' . "\r\n"; } print " </tr>\r\n"; } // Конец циклда по журанлу объединений