$arUser = $rsUser->Fetch(); $arPost = $_REQUEST["USER"]; if ($action == "profile") { foreach ($arPost as &$value) { $value = htmlspecialcharsbx(trim($value)); } $arPost["PERSONAL_PHONE"] = preg_replace("/[^0-9]/", '', $arPost["PERSONAL_PHONE"]); if (!preg_match("/^([a-zA-Z0-9])+([\\.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+(\\.[a-zA-Z0-9_-]+)*\\.([a-zA-Z]{2,6})\$/", $arPost["EMAIL"])) { $result['errors']['USER[EMAIL]'] = "Неправильный формат электроной почты."; } if (!empty($arPost["EMAIL"])) { $rsUsers = CUser::GetList($by = "EMAIL", $order = "desc", array("=EMAIL" => $arPost["EMAIL"], "!ID" => $arUser["ID"])); if ($rsUsers->NavNext(true, "f_")) { $result['errors']['USER[EMAIL]'] = "Такая электроная почта существует на сайте."; } else { if (!CDev::check_email($arPost["EMAIL"])) { $result['errors']["USER[EMAIL]"] = "Неверный формат данных"; } } } if (empty($arPost["NAME"])) { $result['errors']['USER[NAME]'] = "Введите имя."; } if (empty($arPost["LAST_NAME"])) { $result['errors']['USER[LAST_NAME]'] = "Введите фамилию."; } if (empty($arPost["SECOND_NAME"])) { $result['errors']['USER[SECOND_NAME]'] = "Введите отчество."; } if (!empty($arPost["PERSONAL_BIRTHDAY"]) && !preg_match("/^([0-9]{2})+([\\/]{1})+([0-9]{2})+([\\/]{1})+([0-9]{4})\$/", $arPost["PERSONAL_BIRTHDAY"])) { $result['errors']["USER[PERSONAL_BIRTHDAY]"] = "Неверный формат.";
} $result = array(); $result['status'] = "error"; $result['errors'] = array(); $result['message'] = ''; //$result['post'] = $_POST; if (!$USER->IsAuthorized()) { $html = ""; if (strlen($_POST['ajax_key']) && $_POST['ajax_key'] != md5('ajax_' . LICENSE_KEY) || !check_bitrix_sessid()) { $html = "Сессия не действительна!"; } $emailTo = trim(htmlspecialcharsbx($_POST['USER_LOGIN'])); $phone = preg_replace("/[^0-9]/", '', $emailTo); $checkword = htmlspecialcharsbx($_POST["USER_CHECKWORD"]); $password = htmlspecialcharsbx($_POST["USER_PASSWORD"]); if (!CDev::check_email($emailTo) && !CDev::check_phone($phone)) { $result['errors']["USER_LOGIN"] = "******"; } if (empty($html) && count($result['errors']) == 0) { if (CDev::check_phone($phone)) { $rsUsers = CUser::GetList($by = "EMAIL", $order = "desc", array("PERSONAL_PHONE" => $phone), array("SELECT" => array("UF_PHONE_CHECKWORD", "ID"))); if ($arUser = $rsUsers->GetNext()) { if ($arUser["UF_PHONE_CHECKWORD"] == $checkword && !empty($arUser["UF_PHONE_CHECKWORD"])) { $cuser = new CUser(); $cuser->Update($arUser["ID"], array("UF_PHONE_CHECKWORD" => "", "PASSWORD" => $password, "CONFIRM_PASSWORD" => $password)); $result['status'] = "success"; } else { $result['errors']["USER_LOGIN"] = "******"; } } else { $result['errors']["USER_LOGIN"] = '******';
if (!is_object($USER)) { $USER = new CUser(); } $result = array(); $result['status'] = 'error'; $result['message'] = ''; $result['errors'] = array(); if (strlen($_POST['ajax_key']) && $_POST['ajax_key'] != md5('ajax_' . LICENSE_KEY) || htmlspecialcharsbx($_POST["TYPE"]) != "REGISTRATION" || !check_bitrix_sessid()) { $result['errors']["USER_NAME"] = GetMessage('AUTH_ERROR_SESSION_EXPIRED'); } if (!$USER->IsAuthorized() && count($result['errors']) == 0) { $EMAIL = htmlspecialcharsbx(strip_tags($_POST["USER_EMAIL"])); $AGREE = htmlspecialcharsbx(strip_tags($_POST["AGREE"])); $password = htmlspecialcharsbx($_POST["USER_PASSWORD"]); $phone = preg_replace("/[^0-9]/", '', $EMAIL); if (!\CDev::check_email($EMAIL) && !\CDev::check_phone($phone)) { $result['errors']["USER_EMAIL"] = GetMessage('AUTH_ERROR_DATA_FORMAT'); } else { if (\CDev::check_phone($phone)) { $rsUsers = \CUser::GetList($by = "EMAIL", $order = "desc", array("PERSONAL_PHONE" => $phone)); if ($arUser = $rsUsers->GetNext()) { if ($arUser["ACTIVE"] == "N") { $result["status"] = "need_confirm"; exit(json_encode($result)); } $result['errors']["USER_EMAIL"] = GetMessage('AUTH_ERROR_PHONE_EXIST'); } } else { $rsUsers = \CUser::GetList($by = "EMAIL", $order = "desc", array("=EMAIL" => $EMAIL)); if ($arUser = $rsUsers->GetNext()) { if ($arUser["ACTIVE"] != "Y") {