if ($Row['level_starttype'] != 1) { $BegYDTs = "NULL"; } else { if ($BegYDT < $BegMinYDT or $BegYDT > $BegMaxYDT) { if ($TeamLevelProgress > 0) { $statustext = $statustext . "</br> старта '{$Row['level_name']}'"; } // Теперь не выходим, а ставим время NULL - вдруг пользователь сохранить хотел КП $BegYDTs = "NULL"; } } // Вычисляем время финиша на этапе $EndYear = $_POST[$levelPfx . '_endyear']; $EndDate = $_POST[$levelPfx . '_enddate']; $EndTime = $_POST[$levelPfx . '_endtime']; $EndYDTs = CSql::timeString($EndYear, $EndDate, $EndTime); // Конвертируем в даты php для сравнения $EndYDT = strtotime(substr(trim($EndYDTs), 1, -1)); $EndMinYDT = strtotime(substr(trim($Row['level_minendtime']), 1, -1)); $EndMaxYDT = strtotime(substr(trim($Row['level_endtime']), 1, -1)); // Проверка границ финиша if ($EndYDT < $EndMinYDT or $EndYDT > $EndMaxYDT) { $EndYDTs = "NULL"; if ($TeamLevelProgress > 1) { $statustext = $statustext . "<br/> финиша '{$Row['level_name']}'"; } } // Ставим флаг "Дошла до конца этапа", если у нас есть корректное время финиша команды if ($EndYDTs != "NULL" && !$TeamLevelProgress) { $TeamLevelProgress = 2; }
CMmb::setMessage('Нет прав на правку результата для точки'); return; } $pTeamLevelPointId = $_POST['TeamLevelPointId']; if ($pTeamLevelPointId <= 0) { teamEditError('Не определён ключ результата для точки.'); return; } $pLevelPointId = $_POST['LevelPointId']; $pTeamId = $_POST['TeamId']; $pTlpYear = $_POST['TlpYear']; $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;
$pDistanceId = $_POST['DistanceId']; $pPointName = trim($_POST['PointName']); $pPointPenalty = $_POST['PointPenalty']; $pLevelPointMinYear = $_POST['MinYear']; $pLevelPointMinDate = $_POST['MinDate']; $pLevelPointMinTime = $_POST['MinTime']; $pLevelPointMaxYear = $_POST['MaxYear']; $pLevelPointMaxDate = $_POST['MaxDate']; $pLevelPointMaxTime = $_POST['MaxTime']; $pScanPointId = $_POST['ScanPointId']; // $pLevelId = $_POST['LevelId']; // тут надо поставить проверки // год всегда пишем текущий. если надо - можно добавить поле для года $MinYDTs = CSql::timeString($pLevelPointMinYear, $pLevelPointMinDate, $pLevelPointMinTime); $MinYDT = strtotime(substr(trim($MinYDTs), 1, -1)); $MaxYDTs = CSql::timeString($pLevelPointMaxYear, $pLevelPointMaxDate, $pLevelPointMaxTime); $MaxYDT = strtotime(substr(trim($MaxYDTs), 1, -1)); // Если день и время пустые, то и год пустой считаем if ((int) $pLevelPointMinDate == 0 and (int) $pLevelPointMinTime == 0) { $MinYDTs = "'0000-00-00 00:00:00'"; } // Если день и время пустые, то и год пустой считаем if ((int) $pLevelPointMaxDate == 0 and (int) $pLevelPointMaxTime == 0) { $MaxYDTs = "'0000-00-00 00:00:00'"; } $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."'