示例#1
0
文件: useraction.php 项目: se-ti/mmb
    if (!UACanLinkEdit($pUserId, $pLinkRaidId, $userId)) {
        return;
    }
    // выходим
    // Прверяем, что нет ссылки с таким адресом
    $sql = "select count(*) as resultcount \n\t           from  UserLinks \n\t           where trim(userlink_url) = '" . trim($pLinkUrl) . "'\n\t           \t and linktype_id = {$pLinkTypeId}\n\t           \t and raid_id = {$pLinkRaidId}\n\t\t     \t and user_id = {$pUserId}\n\t\t         and userlink_hide = 0\n\t\t   ";
    //     echo $sql;
    if (CSql::singleValue($sql, 'resultcount') > 0) {
        CMmb::setErrorSm('Уже есть впечатление  с таким адресом.');
        return;
    }
    // Прверяем, что не более трёх ссылок на ММБ
    $sql = "select count(*) as resultcount \n\t           from  UserLinks \n\t\t   where raid_id = {$pLinkRaidId}\n\t\t     and userlink_hide = 0\n\t\t     and user_id = {$pUserId}";
    //echo $sql;
    if (CSql::singleValue($sql, 'resultcount') >= 4) {
        CMmb::setErrorSm('Уже есть 4 впечатления на этот ММБ.');
        return;
    }
    $Sql = "insert into UserLinks (userlink_name, userlink_url, linktype_id, userlink_hide, raid_id, user_id) \n\t\t         values ('{$pLinkName}', '{$pLinkUrl}', {$pLinkTypeId}, 0, {$pLinkRaidId}, {$pUserId})";
    //    echo $sql;
    MySqlQuery($Sql);
    CMmb::setResult('Добавлено новое впечатление', 'ViewUserData', "");
} elseif ($action == 'DelLink') {
    $pUserId = $_POST['UserId'];
    if ($pUserId <= 0) {
        CMmb::setErrorMessage('Пользователь не найден');
        return;
    }
    if ($SessionId <= 0) {
        CMmb::setErrorMessage('Сессия не найдена');
        return;
示例#2
0
function raidError($message)
{
    global $viewmode;
    $viewmode = "Edit";
    CMmb::setErrorSm($message);
}
示例#3
0
    $pTlpDate = $_POST['TlpDate'];
    $pTlpTime = $_POST['TlpTime'];
    $pTlpComment = $_POST['TlpComment'];
    $pErrorId = $_POST['ErrorId'];
    $TlpYDTs = CSql::timeString($pTlpYear, $pTlpDate, $pTlpTime, false);
    // Если день и время пустые, то и год пустой считаем
    if ((int) $pTlpDate == 0 and (int) $pTlpTime == 0) {
        $TlpYDTs = "'0000-00-00 00:00:00'";
    }
    if ($pTeamId <= 0 or $pLevelPointId <= 0) {
        teamEditError('Не определён ключ команды или ключ точки для результата.');
        return;
    }
    $sql = " select count(*) as countresult\n\t          from TeamLevelPoints\n\t          where team_id = {$pTeamId}\n\t\t        and levelpoint_id = {$pLevelPointId}\n\t\t\tand teamlevelpoint_id <> {$pTeamLevelPointId}";
    if (CSql::singleValue($sql, 'countresult') > 0) {
        CMmb::setErrorSm('Результаты по точке уже есть.', 'ReturnAfterErrorTlp');
        return;
    }
    $sql = "update TeamLevelPoints  set levelpoint_id = {$pLevelPointId}\n\t                                ,team_id = {$pTeamId}\n\t                                ,error_id = {$pErrorId}\n\t                                ,teamlevelpoint_comment = '{$pTlpComment}'\n\t                                ,teamlevelpoint_datetime = {$TlpYDTs}\n\t        where teamlevelpoint_id = {$pTeamLevelPointId}";
    //echo $sql;
    MySqlQuery($sql);
    RecalcTeamResultFromTeamLevelPoints(0, $pTeamId);
    //         RecalcTeamResultFromTeamLevelPoints(25, 0);
    /*   
     $statustext = CheckLevelPoints($DistanceId);
     if (!empty($error))
     {
    	$alert = 1;
     }
    */
} elseif ($action == 'HideTlp') {
示例#4
0
 // проверяем
 if (!CRights::canDeliveryInvitation($UserId, $RaidId, 2)) {
     CMmb::setError('Невозможно провести лотерею.', $view, '');
     return;
 }
 if ($pInvitationsCount > CSql::availableInvitationsCount($RaidId)) {
     CMmb::setError('Заявок указано больше, чем доступно.', $view, '');
     return;
 }
 // можно добавить ещё проверку на то, что выдача по рангу не проводилась или, что лотерея не проводилась
 $sql = "insert into InvitationDeliveries (raid_id, invitationdelivery_type, invitationdelivery_dt, user_id, invitationdelivery_amount)\n\t\t\t\t\tVALUES ({$RaidId}, 2, NOW(), {$UserId}, {$pInvitationsCount})\n\t\t";
 //echo $sql;
 $newInvDeliveryId = MySqlQuery($sql);
 //echo "newInvDeliveryId=  $newInvDeliveryId ";
 if ($newInvDeliveryId <= 0) {
     CMmb::setErrorSm('Ошибка записи раздачи приглашения.');
     return;
 }
 // Здесь нужна фиксация всех пользователей, которые участвуют в этом розыгрыше
 // не допускаем к лотерее новых пользователей
 // Если нужно не пускать тех, кто не вышел на старт или дисквалифицирован, то  нужно дополнительно смотреть таблицу Users
 $sql = "update TeamUsers tu\n\t\t\tinner join Teams t\n\t\t\ton tu.team_id = t.team_id\n\t\t\tinner join Distances d\n\t\t\ton t.distance_id = d.distance_id\n\t\tset tu.invitationdelivery_id = {$newInvDeliveryId}\n\t\twhere t.team_hide = 0\n\t\t\tand t.team_outofrange = 1\n\t\t\tand COALESCE(tu.teamuser_new, 0) = 0\n\t\t\tand tu.teamuser_hide = 0\n\t\t\tand d.raid_id = {$RaidId}\n\t\t";
 // echo $sql;
 MySqlQuery($sql);
 // на всякий случай ещё раз проверяем
 if (!CRights::canDeliveryInvitation($UserId, $RaidId, 1) or $pInvitationsCount > CSql::availableInvitationsCount($RaidId)) {
     CMmb::setErrorMessage('Не хватает прав или нет доступных приглашений');
     return;
 }
 // А вот дальше собственно вставка приглашений на основании лотереи
 // и их привязка к команде