Пример #1
0
} elseif ($action == 'ChangeTlp') {
    //	if (!$Administrator && !$Moderator)
    if (!CRights::canEditPointResult($UserId, $RaidId, $TeamId)) {
        CMmb::setMessage('Нет прав на правку результата для точки');
        return;
    }
    $pTeamLevelPointId = mmb_validateInt($_POST, 'TeamLevelPointId');
    if ($pTeamLevelPointId <= 0) {
        teamEditError('Не определён ключ результата для точки.');
        return;
    }
    $pLevelPointId = mmb_validateInt($_POST, 'LevelPointId');
    $pTeamId = mmb_validateInt($_POST, 'TeamId');
    $pTlpComment = $_POST['TlpComment'];
    $pErrorId = mmb_validateInt($_POST, 'ErrorId', -1);
    $TlpYDTs = CSql::timeString2($_POST, 'TlpYear', 'TlpDate', 'TlpTime', false);
    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                                ,teamlevelpoint_date = NOW()\n\t        where teamlevelpoint_id = {$pTeamLevelPointId}";
    //echo $sql;
    MySqlQuery($sql);
    RecalcTeamResultFromTeamLevelPoints(0, $pTeamId);
    //         RecalcTeamResultFromTeamLevelPoints(25, 0);
    /*   
Пример #2
0
    if ($pLevelPointId <= 0) {
        raidError('Не определён ключ точки.');
        return;
    }
    $sql = "select  YEAR(NOW()) as nowyear";
    $NowYear = (int) CSql::singleValue($sql, 'nowyear');
    // вроде есть способы и попроще :)
    $pPointTypeId = mmb_validateInt($_POST, 'PointTypeId');
    $pDistanceId = mmb_validateInt($_POST, 'DistanceId');
    $pPointName = trim($_POST['PointName']);
    $pPointPenalty = mmb_validateInt($_POST, 'PointPenalty');
    $pScanPointId = $_POST['ScanPointId'];
    // todo почему где-то оно -- int, а где-то -- строка
    //	$pLevelId = $_POST['LevelId'];
    $MinYDTs = CSql::timeString2($_POST, 'MinYear', 'MinDate', 'MinTime');
    $MaxYDTs = CSql::timeString2($_POST, 'MaxYear', 'MaxDate', 'MaxTime');
    // тут надо поставить проверки
    $sql = " select count(*) as countresult\r\n\t  from LevelPoints\r\n\t  where levelpoint_hide = 0  and distance_id = {$pDistanceId}\r\n\t        and levelpoint_id <> {$pLevelPointId}\r\n\t        and trim(levelpoint_name)= trim('{$pPointName}')";
    if ((int) CSql::singleValue($sql, 'countresult') > 0) {
        raidError('Повтор названия.');
        return;
    }
    //	                                ,level_id = '".$pLevelId."'
    $sql = "update LevelPoints  set pointtype_id = {$pPointTypeId}\r\n\t                                ,scanpoint_id = '{$pScanPointId}'\r\n\t                                ,levelpoint_name = '{$pPointName}'\r\n\t                                ,levelpoint_penalty = {$pPointPenalty}\r\n\t                                ,levelpoint_mindatetime = {$MinYDTs}\r\n\t                                ,levelpoint_maxdatetime = {$MaxYDTs}\r\n\t        where levelpoint_id = {$pLevelPointId}";
    //echo $sql;
    MySqlQuery($sql);
    $statustext = CheckLevelPoints($DistanceId);
    if (!empty($error)) {
        $alert = 1;
    }
} elseif ($action == 'HideLevelPoint') {