Пример #1
0
        print "</div>\n";
    }
    mysql_free_result($Result);
    print "</td></tr>\n";
}
// Закончили вывод списка участников
// ============ Новый участник
// Возможность добавлять участников заканчивается вместе с возможностью создавать команды
// Обычный пользователь может добавлять новых участников при редактировании своей команды
// Модератор/Администратор могут создавать новые команды с другим участником вместо себя
//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);
Пример #2
0
function UACanLinkEdit($pUserId, $raidId, $userId)
{
    $Admin = CSql::userAdmin($userId);
    $RaidModerator = CSql::userModerator($userId, $raidId);
    return $pUserId == $userId || $Admin || $RaidModerator ? 1 : 0;
}
Пример #3
0
        print "</div>\n";
    }
    mysql_free_result($Result);
    print "</td></tr>\n";
}
// Закончили вывод списка участников
// ============ Новый участник
// Возможность добавлять участников заканчивается вместе с возможностью создавать команды
// Обычный пользователь может добавлять новых участников при редактировании своей команды
// Модератор/Администратор могут создавать новые команды с другим участником вместо себя
//if (($AllowEdit == 1) && CanCreateTeam($Administrator, $Moderator, $OldMmb, $RaidStage, $TeamOutOfRange) &&
//	(($viewmode <> "Add") || $Moderator || $Administrator))
// 21.03.2016 Определяем, когда можно добавлять нового пользователя
// при добавлении команды можно только можераторам или администраторам
// при правке - в зависимости от типа команды
if ($viewmode != 'Add' and ($TeamId == CSql::userTeamId($UserId, $RaidId) or CSql::userAdmin($UserId) or CSql::userModerator($UserId, $RaidId)) and !CSql::teamOutOfRange($TeamId) and CSql::raidStage($RaidId) < 2 or $viewmode != 'Add' and ($TeamId == CSql::userTeamId($UserId, $RaidId) or CSql::userAdmin($UserId) or CSql::userModerator($UserId, $RaidId)) and CSql::teamOutOfRange($TeamId) and CSql::raidStage($RaidId) < 7 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";
    // Ищем последнее пользовательское соглашение
    $sql = "select rf.raidfile_id, rf.raidfile_name\n\t\tfrom RaidFiles rf\n\t\twhere rf.raidfile_hide = 0 and rf.filetype_id = 8\n\t\torder by rf.raid_id DESC, rf.raidfile_id DESC\n\t\tLIMIT 0,1";
Пример #4
0
        $Label = empty($Row['userlink_name']) ? $Row['userlink_url'] : CMmbUI::toHtml($Row['userlink_name']);
        print '<div class="team_res">' . $Row['raid_name'] . ' ' . $Row['linktype_name'] . ' <a href = "' . CMmbUI::toHtml($Row['userlink_url']) . '"
		          title = "' . CMmbUI::toHtml($Row['userlink_name']) . '">' . $Label . '</a>' . "\r\n";
        print '<input type="button" style = "margin-left: 20px;" onClick = "javascript: if (confirm(\'Вы уверены, что хотите удалить впечатление ? \')) {DelLink(' . $Row['userlink_id'] . ');}"  name="DelLinkButton" value="Удалить" tabindex = "' . ++$TabIndex . '">' . "\r\n";
        print '</div>' . "\r\n";
    }
    mysql_free_result($Result);
    $TabIndex = 1;
    $DisabledText = '';
    $NewLinkName = 'Название (можно не заполнять)';
    $NewLinkUrl = 'Адрес ссылки';
    print '<div align = "left" style = "padding-top: 5px;">' . "\r\n";
    // Показываем выпадающий список ММБ
    print '<select name="LinkRaidId"  tabindex="' . ++$TabIndex . '">' . "\n";
    $RaidCondition = '';
    if (CSql::userModerator($UserId, $RaidId) == 1 and $UserId != $pUserId) {
        $RaidCondition = "where raid_id = {$RaidId}";
    }
    $sql = "select raid_id, raid_name from Raids {$RaidCondition} order by raid_id  desc";
    $Result = MySqlQuery($sql);
    while ($Row = mysql_fetch_assoc($Result)) {
        $raidselected = $Row['raid_id'] == $RaidId ? ' selected ' : '';
        print '<option value="' . $Row['raid_id'] . '" ' . $raidselected . ' >' . $Row['raid_name'] . "</option>\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)) {
Пример #5
0
 public static function canAddToDevelopers($userId, $raidId, $puserId)
 {
     $Super = CSql::userAdmin($userId) || CSql::userModerator($userId, $raidId);
     if (!$Super) {
         return false;
     }
     // проверяем, что не участник
     $sql = "select count(*) as teamuser\n    \t\t\tfrom  TeamUsers tu \n    \t\t\t        inner join Teams t\n    \t\t\t        on t.team_id = tu.team_id\n    \t\t\t        inner join Distances d\n    \t\t\t        on t.distance_id = d.distance_id\n\t    \t\twhere  tu.user_id = {$puserId}\n\t    \t\t       and t.team_hide = 0\n\t    \t\t       and d.raid_id = {$raidId}\n\t    \t\t       and tu.teamuser_hide = 0\n\t    \t\t    \n\t    \t\t";
     $teamuser = CSql::singleValue($sql, 'teamuser', false);
     if ($teamuser) {
         return false;
     }
     // проверяем, что не волонтёр уже
     $sql = "select count(*) as raiddeveloper\n    \t\t\tfrom  RaidDevelopers rd \n\t    \t\twhere  rd.user_id = {$puserId}\n\t    \t\t       and rd.raiddeveloper_hide = 0\n\t    \t\t       and rd.raid_id = {$raidId}\n\t    \t\t";
     $raiddeveloper = CSql::singleValue($sql, 'raiddeveloper', false);
     if ($raiddeveloper) {
         return false;
     }
     return true;
 }
Пример #6
0
Файл: menu.php Проект: se-ti/mmb
/*
echo '-1 ';
echo $UserId;
echo '-2 ';
echo $RaidId;
echo '0 ';
echo !CSql::userTeamId($UserId, $RaidId);
echo '1 ';
echo CSql::userAdmin($UserId);
echo '2 ';
echo CSql::userModerator($UserId, $RaidId);
echo '3 ';
echo CSql::raidStage($RaidId);
echo '4 ';
*/
if ($UserId and $RaidId and (!CSql::userTeamId($UserId, $RaidId) or CSql::userAdmin($UserId) or CSql::userModerator($UserId, $RaidId)) and CSql::raidStage($RaidId) >= 1 and CSql::raidStage($RaidId) < 7) {
    print '<tr><td><a href="javascript:NewTeam();" title="Регистрация новой команды на выбранный выше ММБ">Новая команда</a></td></tr>' . "\r\n";
}
// !! реализовать показ ссылки на свою команду, если она существует !!
if (CSql::userTeamId($UserId, $RaidId)) {
    print '<tr><td><a href="' . $MyPHPScript . '?TeamId=' . CSql::userTeamId($UserId, $RaidId) . '" title="Просмотр карточки Вашей команды">Моя команда</a></td></tr>' . "\r\n";
}
// Команды
print '<tr><td><a href="?RaidId=' . $RaidId . '" title="Список зарегистрированных команд для выбранного выше ММБ">Команды</a></td></tr>' . "\r\n";
// Файлы
print '<tr><td><a href="?files&RaidId=' . $RaidId . '" title="Ссылки на карты, легенды и т.п. для выбранного выше ММБ">Файлы</a></td></tr>' . "\r\n";
// Впечатления
print '<tr><td><a href="?links&RaidId=' . $RaidId . '" title="Список впечатлений для выбранного выше ММБ">Впечатления</a></td></tr>' . "\r\n";
// Ввод/Правка марш-броска
if ($Administrator) {
    print '<tr><td><a href="javascript:NewRaid();" title="Создание марш-броска">Новый марш-бросок</a></td></tr>' . "\r\n";
Пример #7
0
         setViewError('Пользователь запретил добавлять себя в команду другим пользователям.');
         return;
     }
     // Проверка на наличие пользователя в другой команде
     $sql = "select count(*) as result\n\t\t\tfrom TeamUsers tu\n\t\t\t\tinner join Teams t on tu.team_id = t.team_id\n\t\t\t\tinner join Distances d on t.distance_id = d.distance_id\n\t\t\twhere teamuser_hide = 0 and d.raid_id = {$RaidId} and user_id = {$NewUserId}";
     if (CSql::singleValue($sql, 'result') > 0) {
         $NewUserId = 0;
         setViewError('Пользователь с таким email уже включен в другую команду');
         return;
     }
     // 19.05.2013 внёс изменения, чтобы разрешить регистрацию вне зачета
     //
     //if (!CanCreateTeam($Administrator, $Moderator, $OldMmb, $RaidStage, $TeamOutOfRange))
     // Проверка на право добавить нового пользователя пользователя
     // флаг вне зачета не проверяется для добавления команды, так как он устанавливается позже при записи
     if (!($action == 'TeamChangeData' and ($TeamId == CSql::userTeamId($UserId, $RaidId) or CSql::userAdmin($UserId) or CSql::userModerator($UserId, $RaidId)) and !CSql::teamOutOfRange($TeamId) and CSql::raidStage($RaidId) < 2 or $action == 'TeamChangeData' and ($TeamId == CSql::userTeamId($UserId, $RaidId) or CSql::userAdmin($UserId) or CSql::userModerator($UserId, $RaidId)) and CSql::teamOutOfRange($TeamId) and CSql::raidStage($RaidId) < 7 or $action == 'AddTeam' and ($NewUserId == $UserId or CSql::userAdmin($UserId) or CSql::userModerator($UserId, $RaidId)) and CSql::raidStage($RaidId) < 7)) {
         $NewUserId = 0;
         setViewError('Добавление новых участников закрыто');
         return;
     }
 } else {
     // Проверяем, что для новой команды передали email участника
     if ($action == "AddTeam") {
         $NewUserId = 0;
         setViewError('Для новой команды должен быть указан email участника.');
         return;
     }
     $NewUserId = 0;
 }
 // Конец проверки на корректную передачу email
 // 19.05.2013 внёс изменения, чтобы разрешить регистрацию вне зачета