示例#1
0
文件: useraction.php 项目: se-ti/mmb
} elseif ($action == 'DelLink') {
    $pUserId = $_POST['UserId'];
    if ($pUserId <= 0) {
        CMmb::setErrorMessage('Пользователь не найден');
        return;
    }
    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", "");
示例#2
0
// +++++++++++ Показ/редактирование данных команды ++++++++++++++++++++++++++++
// Выходим, если файл был запрошен напрямую, а не через include
if (!isset($MyPHPScript)) {
    return;
}
if (!isset($viewmode)) {
    $viewmode = "";
}
if (!isset($viewsubmode)) {
    $viewsubmode = "";
}
// ================ Добавляем новую команду ===================================
if ($viewmode == 'Add') {
    if ($RaidId <= 0 || $UserId <= 0) {
        CMmb::setErrorMessage('Для регистрации новой команды обязателен идентификатор пользователя и ММБ');
        return;
    }
    // Если запрещено создавать команду - молча выходим, сообщение уже выведено в teamaction.php
    //if (!CanCreateTeam($Administrator, $Moderator, $OldMmb, $RaidStage, $TeamOutOfRange)) return;
    if (!CRights::canCreateTeam($UserId, $RaidId)) {
        return;
    }
    $Sql = "select user_email from Users where user_id = {$UserId}";
    $UserEmail = CSql::singleValue($Sql, 'user_email');
    // Если вернулись после ошибки переменные не нужно инициализировать
    if ($viewsubmode == "ReturnAfterError") {
        ReverseClearArrays();
        $TeamNum = (int) $_POST['TeamNum'];
        $TeamName = CMmbUi::toHtml($_POST['TeamName']);
        $DistanceId = mmb_validateInt($_POST, 'DistanceId');
示例#3
0
        // Точка, кроме старта, финиша или смены карт
        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);
} elseif ($action == 'ViewUsersLinksPage') {
    if ($RaidId <= 0) {
        CMmb::setErrorMessage('Id ММБ не указан');
        return;
    }
    //       	print '2';
    CMmb::setViews('ViewUsersLinks', '');
} elseif ($action == 'ViewAllBadgesPage') {
    //     	print '1';
    CMmb::setViews('ViewAllBadges', '');
} else {
}
示例#4
0
    MySqlQuery($sql);
    $sql = " update TeamUsers tu\n\t\t\t  inner join\n\t\t\t  (\n\t\t\t    select  t.team_id\n\t\t            from  Teams t\n  \t\t\t    where t.team_parentid = {$TeamId}\n\t\t\t   )  a\n\t\t\t  on  tu.team_id = a.team_id\n\t\t  set tu.teamuser_hide = 1 ";
    MySqlQuery($sql);
    $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('Команды нет в объединении');
示例#5
0
 MySqlQuery($sql);
 // на всякий случай ещё раз проверяем
 if (!CRights::canDeliveryInvitation($UserId, $RaidId, 1) or $pInvitationsCount > CSql::availableInvitationsCount($RaidId)) {
     CMmb::setErrorMessage('Не хватает прав или нет доступных приглашений');
     return;
 }
 // А вот дальше собственно вставка приглашений на основании лотереи
 // и их привязка к команде
 $sql = " CREATE TEMPORARY TABLE\n\t\t\t\ttmp_lottoteams (\n\t\t\t\t num INT NOT NULL AUTO_INCREMENT PRIMARY KEY, \n                                 team_id INT, \n                                 user_id  INT\n\t\t\t\t        ) \n\t\t\t\tENGINE=MEMORY, AUTO_INCREMENT = 0";
 $rs = MySqlQuery($sql);
 // отбираем в таблицу команды вне зачета с автонумерованной первой колонкой
 $sql = " INSERT INTO tmp_lottoteams (team_id, user_id)\n\t\t\t select t.team_id, MIN(tu.user_id) as user_id \n         \t\t\tfrom   Teams t\n        \t\t\t\tinner join TeamUsers tu\n\t\t\t\t        on t.team_id = tu.team_id\n\t\t\t\t\tinner join Distances d\n\t\t\t\t\ton t.distance_id = d.distance_id\n           \t\t\twhere tu.invitationdelivery_id = {$newInvDeliveryId}\n\t\t\t\tgroup by t.team_id\n\t\t\t";
 $rs = MySqlQuery($sql);
 // на всякий случай ещё раз проверяем
 if (!CRights::canDeliveryInvitation($UserId, $RaidId, 1) or $pInvitationsCount > CSql::availableInvitationsCount($RaidId)) {
     CMmb::setErrorMessage('Не хватает прав или нет доступных приглашений');
     return;
 }
 // Если нужны разыне вероятности, то можно добавить стоьлко раз строчку команды, сколько "веса"  она должна получить
 //  находим случайно нужное число команд
 // вставляем приглешния
 $sql = " insert into Invitations (user_id, invitation_begindt, invitation_enddt, invitationdelivery_id)\n\t\t select user_id, NOW(), NOW(), {$newInvDeliveryId}\n\t\t from tmp_lottoteams\n \t\t ORDER BY RAND()\n\t\t LIMIT {$pInvitationsCount}\n\t\t  \t          ";
 //   echo $sql;
 $rs = MySqlQuery($sql);
 // активируем команды , которые связаны с одной стороны с временой таблицы а через неё с приглашениями
 $sql = " update  Teams t\n\t\t  \t inner join  tmp_lottoteams tmp\n\t\t\t on t.team_id = tmp.team_id\n\t\t\t inner join Invitations inv\n\t\t\t on inv.user_id = tmp.user_id\n\t\t set t.team_outofrange = 0, t.invitation_id = inv.invitation_id\n\t\t where inv.invitationdelivery_id = {$newInvDeliveryId}\n\t\t";
 // echo $sql
 $rs = MySqlQuery($sql);
 //	$sql = " DELETE FROM tmp_lottoteams  ";
 //	$rs = MySqlQuery($sql);
 CMmb::setShortResult('Лотерея проведена', '');