$fields = array("NAME" => $arPost["NAME"], "LAST_NAME" => $arPost["LAST_NAME"], "SECOND_NAME" => $arPost["SECOND_NAME"], "EMAIL" => $arPost["EMAIL"], "PERSONAL_BIRTHDAY" => $arPost["PERSONAL_BIRTHDAY"], "PERSONAL_PHONE" => $arPost["PERSONAL_PHONE"]); $message = "Данные успешно изменены."; if (empty($arUser["EMAIL"]) && !empty($arPost["EMAIL"])) { CUserEx::capacityAdd($arUser["ID"], 1); // за мэйл +1ГБ //При занесении мэйла менять тип авторизации $password = mb_substr(md5(uniqid(rand(), true)), 0, 8); $fields["EXTERNAL_AUTH_ID"] = ""; $fields["PASSWORD"] = $password; $fields["CONFIRM_PASSWORD"] = $password; $arEventFields = array("USER_NAME" => trim($arPost["NAME"] . " " . $arPost["LAST_NAME"]), "PASSWORD" => $password, "EMAIL" => $arPost["EMAIL"]); CEvent::Send("USER_PASS_CHANGED_PROFILE", SITE_ID, $arEventFields); $message .= "На ваш email отправлен новый пароль."; } if (empty($arUser["PERSONAL_PHONE"]) && !empty($arPost["PERSONAL_PHONE"])) { CUserEx::capacityAdd($arUser["ID"], 1); // за ттееллееффоонн +1ГБ } $сuser->Update($arUser["ID"], $fields); $strError = $сuser->LAST_ERROR; $result['status'] = true; $result['message'] = "<font style='color:green'>" . $message . "</font>"; } } if ($action == "passport") { $arPost = $arPost["PASSPORT"]; $arPost["SERIA"] = preg_replace("/[^0-9]/", '', $arPost["SERIA"]); foreach ($arPost as &$value) { $value = htmlspecialcharsbx(trim($value)); } if (!preg_match("/^([0-9]{4})\$/", $arPost["SERIA"])) {
public function capacityAdd($SUBSCRIBE_TO, $USER_ID) { $result = \Hawkart\Megatv\ServiceTable::getById($SUBSCRIBE_TO); if ($arService = $result->fetch()) { $gb = IntVal($arService["UF_TEXT"]); } $gb = preg_replace("/[^0-9]/", '', $gb); if (intval($gb) > 0) { \CUserEx::capacityAdd($USER_ID, $gb); } }
public static function createUser($providerName, $userProfile) { global $USER; COption::SetOptionString("main", "captcha_registration", "N"); $default_group = COption::GetOptionString("main", "new_user_registration_def_group"); if (!empty($default_group)) { $arrGroups = explode(",", $default_group); } $password = mb_substr(md5(uniqid(rand(), true)), 0, 8); $birthday = $userProfile["birthDay"] . "." . $userProfile["birthMonth"] . "." . $userProfile["birthYear"]; if (strlen($birthday) != 10) { $birthday = ""; } $email = ""; if (!empty($userProfile["email"])) { $email = $userProfile["email"]; } else { if (!empty($userProfile["emailVerified"])) { $email = $userProfile["emailVerified"]; } } if (empty($userProfile["firstName"]) && empty($userProfile["lastName"])) { $userProfile["firstName"] = $userProfile["displayName"]; } $cUser = new \CUser(); $arFields = array("NAME" => $userProfile["firstName"], "LAST_NAME" => $userProfile["lastName"], "EMAIL" => $email, "LOGIN" => $email, "PERSONAL_GENDER" => strtoupper(substr($userProfile["gender"], 0, 1)), "PERSONAL_WWW" => $arResult['USER']["URL"], "PERSONAL_BIRTHDAY" => $birthday, "ACTIVE" => "Y", "GROUP_ID" => $arrGroups, "EXTERNAL_AUTH_ID" => $providerName . $userProfile["identifier"], "PASSWORD" => $password, "CONFIRM_PASSWORD" => $password, "PERSONAL_PHONE" => $userProfile["phone"], "PERSONAL_CITY" => $userProfile["home_town"]); //$json = file_get_contents('https://graph.facebook.com/'.$userProfile["identifier"].'/picture?type=large'); //$file = $_SERVER["DOCUMENT_ROOT"].'/upload/avatar/'.$userProfile["identifier"].'.jpg'; if (!empty($userProfile["photoURL"])) { if ($providerName == "facebook") { $img = file_get_contents('https://graph.facebook.com/' . $userProfile["identifier"] . '/picture?type=large'); $file = $_SERVER["DOCUMENT_ROOT"] . '/upload/avatar/' . $userProfile["identifier"] . '.jpg'; file_put_contents($file, $img); } else { if ($providerName == "yandex") { $img = file_get_contents('https://avatars.yandex.net/get-yapic/' . $userProfile["identifier"] . '/islands-200'); $file = $_SERVER["DOCUMENT_ROOT"] . '/upload/avatar/' . $userProfile["identifier"] . '.jpg'; file_put_contents($file, $img); } else { if ($providerName == "linkedin") { $img = file_get_contents($userProfile["photoURL"]); $file = $_SERVER["DOCUMENT_ROOT"] . '/upload/avatar/' . $userProfile["identifier"] . '.jpg'; file_put_contents($file, $img); } else { $file = $userProfile["photoURL"]; } } } $arImage = \CFile::MakeFileArray($file); $arImage["MODULE_ID"] = "main"; $arFields["PERSONAL_PHOTO"] = $arImage; } $USER_ID = $cUser->Add($arFields); if ($USER_ID) { \CUser::SendUserInfo($USER_ID, SITE_ID, "Приветствуем Вас как нового пользователя нашего сайта!"); if (!empty($email)) { \CUserEx::capacityAdd($USER_ID, 1); // за мэйл +1ГБ $fields = array(); $fields["EXTERNAL_AUTH_ID"] = ""; $fields["PASSWORD"] = $password; $fields["CONFIRM_PASSWORD"] = $password; $сuser = new \CUser(); $сuser->Update($USER_ID, $fields); $arEventFields = array("USER_NAME" => trim($userProfile["firstName"] . " " . $userProfile["lastName"]), "PASSWORD" => $password, "EMAIL" => $email); CEvent::Send("USER_PASS_CHANGED_PROFILE", SITE_ID, $arEventFields); $USER->Login($email, $password, 'N'); } //Бонус за регистрацию \CUserEx::capacityAdd($USER_ID, BONUS_FOR_REGISTRATION); self::connectToUser($USER_ID, $providerName, $userProfile); } else { echo $cUser->LAST_ERROR; } COption::SetOptionString("main", "captcha_registration", "Y"); return $USER_ID; }
CUserEx::subcribeOnFreeChannels($USER_ID); $arFields["USER_ID"] = $USER_ID; $event = new CEvent(); $event->SendImmediate("NEW_USER", SITE_ID, $arFields); if (CDev::check_phone($phone)) { $checkword = mb_substr(md5(uniqid(rand(), true)), 0, 8); $cuser = new CUser(); $cuser->Update($USER_ID, array("UF_PHONE_CHECKWORD" => $checkword)); $text = GetMessage('AUTH_ACTIVATE_CODE_TEXT') . $checkword; CEchogroupSmsru::Send($phone, $text); $result['message'] = "<font style='color:green'>" . GetMessage('AUTH_REGISTER_SUCCESS_TEXT_1') . "</font><br />"; } else { //Для подтверждения регистрации перейдите по следующей ссылке: //http://#SERVER_NAME#/auth/index.php?confirm_registration=yes&confirm_user_id=#USER_ID#&confirm_code=#CONFIRM_CODE# $event->SendImmediate("NEW_USER_CONFIRM", SITE_ID, $arFields); //на почту письмо для подтверждения $result['message'] = "<font style='color:green'>" . GetMessage('AUTH_REGISTER_SUCCESS_TEXT_2') . "</font><br />"; CUserEx::capacityAdd($USER_ID, 1); // за мэйл +1ГБ } } $result['status'] = "success"; //Бонус за регистрацию CUserEx::capacityAdd($USER_ID, BONUS_FOR_REGISTRATION); COption::SetOptionString("main", "captcha_registration", "Y"); } else { $result['status'] = 'error'; $result['message'] = $html; } } exit(json_encode($result));