//echo $sql; MySqlQuery($sql); } // Перебрасываем ссылки, ставим признак скрытия пользователя // Скрываем старого пользователя // Ключ журнала нужен исключительно для возможности потом переименовать пользователя - сделан уникальный ключ, который не допускаетодинаковое ФИО и год, но теперь я туда добавил ещё поле userunionlog_id // Тонкость в том, что при отмене объеддинения наод проверять, что польщзователь не свопадает, иначе будет ошибка ключа $sql = " update Users set user_hide = 0, userunionlog_id = NULL \n\t\t where userunionlog_id = {$UserUnionLogId}"; MySqlQuery($sql); // Меняем ссылку в комнадах $sql = " update TeamUsers set user_id = {$pUserParentId}, userunionlog_id = NULL\n\t\t where userunionlog_id = {$UserUnionLogId}"; MySqlQuery($sql); // Меняем статус в журнале $sql = " update UserUnionLogs set union_status = 3 \n\t\t\t where userunionlog_id = {$UserUnionLogId}"; MySqlQuery($sql); CMmb::setViews('ViewUserUnionPage', ''); } elseif ($action == 'AddLink') { $pUserId = $_POST['UserId']; if ($pUserId <= 0) { CMmb::setErrorMessage('Пользователь не найден'); return; } if ($SessionId <= 0) { CMmb::setErrorMessage('Сессия не найдена'); return; } $pLinkName = trim($_POST['NewLinkName']); $pLinkUrl = trim($_POST['NewLinkUrl']); $pLinkTypeId = $_POST['LinkTypeId']; $pLinkRaidId = $_POST['LinkRaidId']; if (!isset($pLinkRaidId)) {
// Точка, кроме старта, финиша или смены карт 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 { }
} $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', false); // Поменялся 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) { CMmb::setErrorMessage('Id команды не указан'); return; } CMmb::setViews('ViewTeamData', ''); } elseif ($action == 'HideTeamUser') { $HideTeamUserId = mmb_validateInt($_POST, 'HideTeamUserId'); if ($HideTeamUserId <= 0) { CMmb::setErrorMessage('Участник не найден'); return; } if ($TeamId <= 0) { CMmb::setErrorMessage('Команда не найдена'); return; } if ($RaidId <= 0) { CMmb::setErrorMessage('Марш-бросок не найден'); return; } if ($SessionId <= 0) {
// $rs = MySqlQuery($sql); CMmb::setShortResult('Лотерея проведена', ''); //CMmb::setResult('Лотерея проведена', "ViewAdminDataPage", ""); return; } elseif ($action == 'RankRecalc') { if ($RaidId <= 0) { CMmb::setShortResult('Марш-бросок не найден', ''); return; } if (!$Administrator && !$Moderator) { return; } RecalcUsersRank($RaidId); CMmb::setShortResult('Рейтинг пересчитан', 'ViewAdminDataPage'); } elseif ($action == 'DeleteOutOfRangeTeams') { CMmb::setViews('ViewAdminDataPage', ''); if ($RaidId <= 0) { CMmb::setError('Марш-бросок не найден.', $view, ''); return; } // проверяем if (!CRights::canDeleteOutOfRangeTeams($UserId, $RaidId)) { CMmb::setError('Невозможно удалить команды вне зачета.', $view, ''); return; } $sql = "UPDATE Teams t INNER JOIN Distances d on t.distance_id = d.distance_id \n\t\tSET t.team_hide = 1 \n\t\tWHERE d.raid_id = {$RaidId} and t.team_outofrange = 1\n\t\t"; //echo $sql; MySqlQuery($sql); CMmb::setShortResult('Команды вне зачета удалены', ''); //CMmb::setResult('', "ViewAdminDataPage", ""); return;