$RaidName = $_POST['RaidName']; $RaidPeriod = $_POST['RaidPeriod']; $RaidRegistrationEndDate = $_POST['RaidRegistrationEndDate']; $ClearRaidRegistrationEndDate = mmb_isOn($_POST, 'ClearRaidRegistrationEndDate'); // $RaidLogoLink = $_POST['RaidLogoLink']; // $RaidRulesLink = $_POST['RaidRulesLink']; $RaidStartPointName = $_POST['RaidStartPointName']; // $RaidStartLink = $_POST['RaidStartLink']; $RaidFinishPointName = $_POST['RaidFinishPointName']; $RaidCloseDate = $_POST['RaidCloseDate']; $ClearRaidCloseDate = mmb_isOn($_POST, 'ClearRaidCloseDate'); // а ничего, что он всюду сравнивается с on? !!! // $RaidZnLink = $_POST['RaidZnLink']; //В отличие от остальных полей это - вычисляемое и после ошибки не возвращается $RaidDistancesCount = (int) $_POST['RaidDistancesCount']; $RaidNoShowResult = mmb_isOn($_POST, 'RaidNoShowResult'); // а ничего, что он всюду сравнивается с on? !!! $RaidReadOnlyHoursBeforeStart = (int) $_POST['RaidReadOnlyHoursBeforeStart']; $RaidFilePrefix = $_POST['RaidFilePrefix']; $RaidMapPrice = (int) $_POST['RaidMapPrice']; $RaidNoStartPrice = (int) $_POST['RaidNoStartPrice']; $RaidTeamsLimit = (int) $_POST['RaidTeamsLimit']; } else { $RaidName = $Row['raid_name']; $RaidPeriod = $Row['raid_period']; $RaidRegistrationEndDate = $Row['raid_registrationenddate']; $ClearRaidRegistrationEndDate = $Row['raid_clearregistrationenddate']; // $RaidLogoLink = $Row['raid_logolink']; // $RaidRulesLink = $Row['raid_ruleslink']; $RaidStartPointName = $Row['raid_startpoint']; // $RaidStartLink = $Row['raid_startlink'];
$Msg = $Msg . "Для активации пользователя и получения пароля необходимо перейти по ссылке:\r\n"; $Msg = $Msg . $MyHttpLink . $MyLocation . "?changepasswordsessionid={$ChangePasswordSessionId}\r\n\r\n"; $Msg = $Msg . "Учетные записи без активации могут быть удалены.\r\n"; $Msg = $Msg . "P.S. Если Вас зарегистрировали без Вашего желания - просто проигнорируйте письмо - приносим извинения за доставленные неудобства.\r\n"; // Отправляем письмо SendMail(trim($pUserEmail), $Msg, $pUserName); CMmb::setShortResult('Ссылка для активации пользователя и получения пароля выслана на указанный адрес. Если письмо не пришло - проверьте спам. Учетные записи без активации могут быть удалены.', 'MainPage'); } // Конец обработки нового пользователя } elseif ($action == 'UserChangeData') { // Правка текущего пользователя // флаги подписки передаем только при правке // пока убрал обработку флага ChangeInf // $pUserAllowChangeInfo = mmb_isOn($_POST, 'UserAllowChangeInfo'); $pUserAllowOrgMessages = mmb_isOn($_POST, 'UserAllowOrgMessages'); // Если вызвали с таким действием, должны быть определны оба пользователя if ($pUserId <= 0 or $UserId <= 0) { return; } // Права на редактирование if (!UACanEdit($pUserId)) { return; } // выходим // 03/07/2014 Добавляем признак анонимности (скрывать ФИО) // user_allowsendchangeinfo = $pUserAllowChangeInfo, $sql = "update Users set user_email = trim('{$pUserEmail}'),\n\t\t user_name = trim('{$pUserName}'),\n\t\t user_city = trim('{$pUserCity}'),\n\t\t user_phone = trim('{$pUserPhone}'),\n\t\t user_prohibitadd = {$pUserProhibitAdd},\n\t\t user_allowsendorgmessages = {$pUserAllowOrgMessages},\n\t\t user_noshow = {$pUserNoShow},\n\t\t\t\t user_birthyear = {$pUserBirthYear}\n\t\t where user_id = {$pUserId}"; // echo $sql; $rs = MySqlQuery($sql); // Обновление пароля джелаем только, когда просят
$TeamRegisterDt = $Row['team_registerdt']; $TeamResult = $Row['team_result']; $TeamWait = $Row['team_waitdt']; $TeamLate = (int) $Row['team_late']; $TeamInvitation = (int) $Row['invitation_id']; $DistanceResultLink = $Row['distance_resultlink']; $TeamDismiss = (int) $Row['team_dismiss']; // Если вернулись после ошибки переменные не нужно инициализировать if ($viewsubmode == "ReturnAfterError") { ReverseClearArrays(); $TeamNum = (int) $_POST['TeamNum']; $TeamName = $_POST['TeamName']; $DistanceId = mmb_validateInt($_POST, 'DistanceId', -1); $TeamUseGPS = mmb_isOn($_POST, 'TeamUseGPS'); $TeamMapsCount = (int) $_POST['TeamMapsCount']; $TeamGreenPeace = mmb_isOn($_POST, 'TeamGreenPeace'); } else { $TeamNum = $Row['team_num']; $TeamName = $Row['team_name']; $DistanceId = $Row['distance_id']; $TeamUseGPS = $Row['team_usegps']; $TeamMapsCount = (int) $Row['team_mapscount']; $TeamGreenPeace = $Row['team_greenpeace']; } $TeamName = CMmbUi::toHtml($TeamName); $NextActionName = 'TeamChangeData'; $AllowEdit = 0; $OnClickText = ''; $SaveButtonText = 'Сохранить данные команды'; $UnionButtonText = 'Добавить в объединение'; }
} elseif ($action == 'TeamChangeData' or $action == "AddTeam") { //$view = "ViewTeamData"; CMmb::setViews($_POST['view'], $action == "AddTeam" ? 'Add' : ''); // ой, как нехорошо с $_POST! // echo '111 '.$view; // пока валим всё в одну кучу - проверяем ниже $pDistanceId = (int) $_POST['DistanceId']; $pTeamNum = (int) $_POST['TeamNum']; $pTeamName = $_POST['TeamName']; $pTeamUseGPS = mmb_isOn($_POST, 'TeamUseGPS'); // Ниже доп. проверка на права и определение этого флага при записи данных // $pTeamOutOfRange = mmb_isOn($_POST, 'TeamOutOfRange'); $pTeamMapsCount = (int) $_POST['TeamMapsCount']; $pTeamGreenPeace = mmb_isOn($_POST, 'TeamGreenPeace'); $pNewTeamUserEmail = mmb_validate($_POST, 'NewTeamUserEmail', ''); $pTeamConfirmation = mmb_isOn($_POST, 'Confirmation'); if ($action != "AddTeam" && $TeamId <= 0) { setViewError("Не найден идентификатор команды."); return; } if (empty($pDistanceId)) { setViewError("Не указана дистанция."); return; } if ($RaidId <= 0) { setViewError("Не указан ММБ."); return; } if (trim($pTeamName) == '' or trim($pTeamName) == 'Название команды') { setViewError("Не указано название."); return;
$statustext = $statustext . "<br/> финиша '{$Row['level_name']}'"; } } // Ставим флаг "Дошла до конца этапа", если у нас есть корректное время финиша команды if ($EndYDTs != "NULL" && !$TeamLevelProgress) { $TeamLevelProgress = 2; } // Получаем отметки о невзятых КП переводим его в строку // Штраф и результат считаем для всех этапов отдельно (после записи данных) $ArrLen = count(explode(',', $Row['level_pointnames'])); //$Penalties = explode(',', $Row['level_pointpenalties']); $TeamLevelPoints = ''; $PenaltyTime = 0; $points = array(); for ($i = 0; $i < $ArrLen; $i++) { $points[] = mmb_isOn($_POST, $levelPfx . '_chk' . $i); } $TeamLevelPoints = implode(", ", $points); // Обрабатываем комментарии $Comment = $_POST[$levelPfx . '_comment']; if ($Comment == "") { $Comment = "NULL"; } else { $Comment = "'" . mysql_real_escape_string($Comment) . "'"; } // Если есть запись в базе - изменяем, нет - вставляем if ($TeamLevelId > 0) { $sql = "update TeamLevels set\n\t\t\t\t\tteamlevel_begtime = {$BegYDTs},\n\t\t\t\t\tteamlevel_endtime = {$EndYDTs},\n\t\t\t\t\tteamlevel_points = '{$TeamLevelPoints}',\n\t\t\t\t\tteamlevel_progress = '{$TeamLevelProgress}',\n\t\t\t\t\tteamlevel_comment = {$Comment},\n\t\t\t\t\terror_id = NULL\n\t\t\t\twhere teamlevel_id = {$TeamLevelId}"; } else { $sql = "insert into TeamLevels (team_id, level_id, teamlevel_begtime, teamlevel_endtime, teamlevel_points, teamlevel_comment, teamlevel_progress)\n\t\t\t\t\tvalues ({$TeamId}, {$Row['level_id']}, {$BegYDTs}, {$EndYDTs}, '{$TeamLevelPoints}', {$Comment}, {$TeamLevelProgress})"; }
} mysql_free_result($Result); // Заголовки, чтобы скачивать можно было и на мобильных устройствах просто браузером (который не умеет делать Save as...) header("Content-Type: application/octet-stream"); header("Content-Disposition: attachment; filename=\"device.json\""); // Вывод json print json_encode($data); // Можно не прерывать, но тогда нужно написать обработчик в index, чтобы не выводить дальше ничего die; return; } elseif ($action == "SendMessage") { // CMmb::setViews('ViewUserData', ''); $pUserId = mmb_validateInt($_POST, 'UserId', -1); $pText = $_POST['MessageText']; $pSendMessageCopyToAuthor = mmb_isOn($_POST, 'SendMessageCopyToAuthor'); if (empty($pText) or trim($pText) == 'Текст сообщения') { CMmb::setError('Укажите текст сообщения.', $view, ''); return; } // echo 'pUserId '.$pUserId.'now '.$NowUserId; // Если вызвали с таким действием, должны быть определны оба пользователя if ($pUserId <= 0 or $UserId <= 0) { return; } $row = CSql::fullUser($pUserId); $UserEmail = $row['user_email']; $UserName = $row['user_name']; //echo 'pSendMessageCopyToAuthor' .$pSendMessageCopyToAuthor; if ($pSendMessageCopyToAuthor == 1) { $row = CSql::fullUser($UserId);