public static function UserCreate($name, $phone, $domen, $login, $group) //$name - string, $phone - string, $domen - string, $login - string, $group - array { if (CUser::IsAuthorized()) { $userId = CUser::GetID(); return (int)$userId; } else { $usersCheck = CUser::GetByLogin($login); if ($arUser = $usersCheck->Fetch()) { return (int)$arUser["ID"]; } else { $stringPhone = preg_replace('~\D~','',$phone); $password = OrderClick::GeneratePassword(10); $user = new CUser; $arFields = Array( "NAME" => $name, "EMAIL" => $stringPhone . "@" . $domen, "LOGIN" => $phone, "ACTIVE" => "N", // Делаю пользователя не активным "GROUP_ID" => $group, "PASSWORD" => $password, "CONFIRM_PASSWORD" => $password, "PERSONAL_PHONE" => $stringPhone, ); return $user->Add($arFields); } } }
/** * Finds first free login adding "-1", "-2" etc. to $login * @param string $login * @return string */ public static function FindNotUsedLogin($login) { $i = 0; do { ++$i; $newlogin = $login . "-{$i}"; } while (CUser::GetByLogin($newlogin)->SelectedRowsCount() > 0); return $newlogin; }
function GetUserName($USER_ID, $sNameTemplate = "") { $sNameTemplate = str_replace(array("#NOBR#", "#/NOBR#"), "", !empty($sNameTemplate) ? $sNameTemplate : CSite::GetDefaultNameFormat()); if (intval($USER_ID) <= 0) { $db_res = CUser::GetByLogin($USER_ID); $ar_res = $db_res->Fetch(); $USER_ID = $ar_res["ID"]; } return CForumUser::GetFormattedNameByUserID($USER_ID, $sNameTemplate); }
function CheckAuthorization($user, $password) { $UserAuthTry = new CUser(); $authTry = $UserAuthTry->Login($user, $password); if ($authTry === true) { $unode = $UserAuthTry->GetByLogin($user); $uinfo = $unode->Fetch(); return $uinfo; } return new CSOAPFault('Server Error', 'Unable to authorize user.'); }
public function DeleteByLogin($login) { if (!$login) { throw new \Exception("Unexpected login", 1); } else { $user = \CUser::GetByLogin($login)->Fetch(); $subscriber = \CSubscription::GetByEmail($user["EMAIL"])->Fetch(); \CSubscription::Delete($subscriber["ID"]); return True; } }
function GetUserName($USER_ID, $nameTemplate = "") { $ar_res = false; if (IntVal($USER_ID) > 0) { $db_res = CUser::GetByID(IntVal($USER_ID)); $ar_res = $db_res->Fetch(); } if (!$ar_res) { $db_res = CUser::GetByLogin($USER_ID); $ar_res = $db_res->Fetch(); } $USER_ID = IntVal($ar_res["ID"]); $f_LOGIN = htmlspecialcharsex($ar_res["LOGIN"]); $forum_user = CForumUser::GetByUSER_ID($USER_ID); if ($forum_user["SHOW_NAME"] == "Y" && (strlen(trim($ar_res["NAME"])) > 0 || strlen(trim($ar_res["LAST_NAME"])) > 0)) { $nameTemplate = trim(empty($nameTemplate)) ? CSite::GetNameFormat() : $nameTemplate; return trim(CUser::FormatName($nameTemplate, array("NAME" => htmlspecialcharsEx($ar_res["NAME"]), "LAST_NAME" => htmlspecialcharsEx($ar_res["LAST_NAME"]), "SECOND_NAME" => htmlspecialcharsEx($ar_res["SECOND_NAME"])))); } else { return $f_LOGIN; } }
<?php define("NOT_CHECK_PERMISSIONS", true); require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php"; if (defined('BX_UTF') && BX_UTF == TRUE) { $msg = array('charset' => 'UTF-8', 'userChngScs' => 'Пользователь успешно изменён.', 'userAddScs' => 'Пользователь успешно добавлен.', 'delScript' => 'Удалить скрипт', 'delScriptMsg' => 'В целях безопасности рекомендуется удалить данный скрипт из системы.', 'title' => 'Восстановление пароля администратора', 'go2admin' => 'Перейти в адмиинку', 'subTitle' => 'Введите имя пользователя и пароль', 'note' => 'Если такой пользователь существует, то его пароль будет перезаписан, а членство в группе администраторов — восстановлено. Если пользователя нет, то он будет создан.', 'login' => 'Логин', 'pswd' => 'Пароль', 'pswdRep' => 'Повтор пароля', 'email' => 'E-mail', 'send' => 'Отправить'); } else { $msg = array('charset' => 'windows-1251', 'userChngScs' => '������������ ������� �������.', 'userAddScs' => '������������ ������� ��������.', 'delScript' => '������� ������', 'delScriptMsg' => '� ����� ������������ ������������� ������� ������ ������ �� �������.', 'title' => '�������������� ������ ��������������', 'go2admin' => '������� � ��������', 'subTitle' => '������� ��� ������������ � ������', 'note' => '���� ����� ������������ ����������, �� ��� ������ ����� �����������, � �������� � ������ ��������������� — �������������. ���� ������������ ���, �� �� ����� ������.', 'login' => '�����', 'pswd' => '������', 'pswdRep' => '������ ������', 'email' => 'E-mail', 'send' => '���������'); } $arError = array(); $arMess = array(); if (isset($_POST['action']) && $_POST['action'] == 'submit') { $rsUser = CUser::GetByLogin($_POST['login']); $arUser = $rsUser->Fetch(); $user = new CUser(); $arFields = array('LOGIN' => $_POST['login'], 'ACTIVE' => 'Y', 'GROUP_ID' => array(1, 2), 'PASSWORD' => $_POST['pwd1'], 'CONFIRM_PASSWORD' => $_POST['pwd2']); if (!empty($_POST['email'])) { $arFields['EMAIL'] = $_POST['email']; } $userId = 0; if ($arUser) { $result = $user->Update($arUser['ID'], $arFields); if (intval($result) > 0) { $arMess[] = $msg['userChngScs']; $userId = $arUser['ID']; } else { $arError[] = $user->LAST_ERROR; } } else { $result = $user->Add($arFields); if (intval($result) > 0) {
$strCaptchaWord = htmlspecialcharsEx(trim($_REQUEST['captcha_word'])); $strCaptchaSid = htmlspecialcharsEx(trim($_REQUEST['captcha_sid'])); if (check_bitrix_sessid() || !strlen($strCaptchaSid) || !strlen($strSessid)) { $arrErrorField = array(); if (!strlen($strEmail)) $arrErrorField['REG_EMAIL'] = 'Поле E-mail обязательное, заполните его.'; if (!strlen($strCaptchaWord)) $arrErrorField['REG_CAPTCHA_WORD'] = 'Поле цифры обязательное, заполните его.'; if (!count($arrErrorField)) { if (strlen($strEmail) < 6) $arrErrorField['REG_EMAIL'] = 'Минимальное количество символов 6 символов.'; if (strlen($strCaptchaWord) < 5) $arrErrorField['REG_CAPTCHA_WORD'] = 'Минимальное количество символов 5 символов.'; if (!count($arrErrorField)) { if (!check_email($strEmail)) $arrErrorField['REG_EMAIL'] = 'Вы ввели не правильный E-Mail.'; if (!$APPLICATION->CaptchaCheckCode($strCaptchaWord, $strCaptchaSid)) $arrErrorField['REG_CAPTCHA_WORD'] = 'Вы ввели не правильные цифры с картинки.'; if (!count($arrErrorField)) { // Проверим уникальность E-Mail $rsUser = CUser::GetByLogin($strEmail); if ($arUser = $rsUser->Fetch()) { // Такой пользователь есть $arrResult['error_message'] = 'Указанный E-Mail уже зарегистрирован в базе сайта. Данные авторизации были отправлены Вам на электронный адрес. Если Вы утеряли их, то всегда можете восстановить перейдя по ссылке забыли пароль в форме авторизации.'; $arrErrorField['REG_EMAIL'] = ' '; } else { // Это новый пользователь // Регим его $strPassword = randString(); $arResult = $USER->Register($strEmail, '', '', $strPassword, $strPassword, $strEmail); if ($arResult['ID']) { $arrResult['result'] = 'ok'; $arrResult['login'] = $strEmail; $arrResult['password'] = $strPassword; } else $arrResult['error_message'] = 'Регистрация не удалась.'; }//\\ if
function ImportUser() { if ($this->isErrorOccured) { return false; } $this->errorMessage = ""; $defaultEmail = $this->GetDefaultEmail(); if (!($arUser = $this->csv->FetchDelimiter())) { return false; } $arFields = array(); foreach ($this->arHeader as $index => $key) { if (($f = trim($arUser[$index])) != '') { $arFields[$key] = $f; } } if (!array_key_exists("NAME", $arFields) || strlen($arFields["NAME"]) < 1) { $this->errorMessage = GetMessage("CSV_IMPORT_NO_NAME") . " (" . implode(", ", $arFields) . ").<br>"; return true; } if (!array_key_exists("LAST_NAME", $arFields) || strlen($arFields["LAST_NAME"]) < 1) { $this->errorMessage = GetMessage("CSV_IMPORT_NO_LASTNAME") . " (" . implode(", ", $arFields) . ").<br>"; return true; } if (!array_key_exists("PASSWORD", $arFields) || strlen($arFields["PASSWORD"]) < 1) { $arFields["PASSWORD"] = $this->GenerateUserPassword(6); } $arFields["CONFIRM_PASSWORD"] = $arFields["PASSWORD"]; if (!array_key_exists("EMAIL", $arFields) || strlen($arFields["EMAIL"]) < 3 || !check_email($arFields["EMAIL"])) { $arFields["EMAIL"] = $defaultEmail; } if (!array_key_exists("LOGIN", $arFields)) { $arFields["LOGIN"] = ToLower($arFields["NAME"] . " " . $arFields["LAST_NAME"]); } if (array_key_exists("PERSONAL_BIRTHDAY", $arFields) && (strlen($arFields["PERSONAL_BIRTHDAY"]) < 2 || !CheckDateTime($arFields["PERSONAL_BIRTHDAY"]))) { unset($arFields["PERSONAL_BIRTHDAY"]); } if (array_key_exists("DATE_REGISTER", $arFields) && (strlen($arFields["DATE_REGISTER"]) < 2 || !CheckDateTime($arFields["DATE_REGISTER"]))) { unset($arFields["DATE_REGISTER"]); } if ($this->externalAuthID !== null && !array_key_exists("EXTERNAL_AUTH_ID", $arFields)) { $arFields["EXTERNAL_AUTH_ID"] = $this->externalAuthID; } if (!array_key_exists("XML_ID", $arFields)) { $arFields["XML_ID"] = md5(uniqid(rand(), true)); } if (!array_key_exists("CHECKWORD", $arFields) || strlen($arFields["CHECKWORD"]) <= 0) { $arFields["CHECKWORD"] = md5(CMain::GetServerUniqID() . uniqid()); } if ($this->imageFilePath !== null) { if (array_key_exists("PERSONAL_PHOTO", $arFields) && strlen($arFields["PERSONAL_PHOTO"]) > 0) { $arFile = CFile::MakeFileArray($this->imageFilePath . "/" . $arFields["PERSONAL_PHOTO"]); $arFile["MODULE_ID"] = "main"; $arFields["PERSONAL_PHOTO"] = $arFile; } if (array_key_exists("WORK_LOGO", $arFields) && strlen($arFields["WORK_LOGO"]) > 0) { $arFile = CFile::MakeFileArray($this->imageFilePath . "/" . $arFields["WORK_LOGO"]); $arFile["MODULE_ID"] = "main"; $arFields["WORK_LOGO"] = $arFile; } } else { unset($arFields["PERSONAL_PHOTO"]); unset($arFields["WORK_LOGO"]); } $arFields["GROUP_ID"] = $this->userGroups; $user = new CUser(); $userID = (int) $user->Add($arFields); if ($userID <= 0) { if ($user->LAST_ERROR != '') { $this->errorMessage = $arFields["NAME"] . " " . $arFields["LAST_NAME"] . ": " . $user->LAST_ERROR; } } if ($userID <= 0 && $this->ignoreDuplicate === false) { $postFix = 2; $login = $arFields["LOGIN"]; do { $rsUser = CUser::GetByLogin($arFields["LOGIN"]); if (!$rsUser->Fetch()) { break; } $arFields["LOGIN"] = $login . $postFix; $userID = (int) $user->Add($arFields); if ($userID > 1) { break; } $postFix++; } while (true); } if ($userID > 0) { if ($this->attachIBlockID > 0) { $iblockSectionID = $this->__GetIBlockSectionID($arFields); if ($iblockSectionID > 0) { if (!$this->isUserPropertyCreate) { $this->isUserPropertyCreate = $this->__CreateUserProperty(); } $arUpdate = array(); $arUpdate[$this->userPropertyName] = array($iblockSectionID); $user->Update($userID, $arUpdate); } } if ($this->callback !== null) { call_user_func_array($this->callback, array(&$arFields, &$userID)); } } return true; }
if ($arUserLogin = $dbUserLogin->Fetch()) { $newLoginTmp = $NEW_LOGIN; $uind = 0; do { $uind++; if ($uind == 10) { $NEW_LOGIN = $arUserResult["USER_EMAIL"]; $newLoginTmp = $NEW_LOGIN; } elseif ($uind > 10) { $NEW_LOGIN = "******" . time() . GetRandomCode(2); $newLoginTmp = $NEW_LOGIN; break; } else { $newLoginTmp = $NEW_LOGIN . $uind; } $dbUserLogin = CUser::GetByLogin($newLoginTmp); } while ($arUserLogin = $dbUserLogin->Fetch()); $NEW_LOGIN = $newLoginTmp; } $def_group = COption::GetOptionString("main", "new_user_registration_def_group", ""); if ($def_group != "") { $GROUP_ID = explode(",", $def_group); $arPolicy = $USER->GetGroupPolicy($GROUP_ID); } else { $arPolicy = $USER->GetGroupPolicy(array()); } $password_min_length = intval($arPolicy["PASSWORD_LENGTH"]); if ($password_min_length <= 0) { $password_min_length = 6; } $password_chars = array("abcdefghijklnmopqrstuvwxyz", "ABCDEFGHIJKLNMOPQRSTUVWXYZ", "0123456789");
<? define("NO_KEEP_STATISTIC", true); define("NO_AGENT_STATISTIC", true); require_once($_SERVER["DOCUMENT_ROOT"].'/bitrix/modules/main/include/prolog_before.php'); $arRes = Array(); if (isset($_POST['EMAIL'])){ $email = trim($_POST['EMAIL']); if (strlen($email) > 0){ $rsUser = CUser::GetByLogin($email); if (intval($rsUser->SelectedRowsCount())>0) $arRes["RESULT"] = "Y"; else $arRes["RESULT"] = "N"; } } elseif(isset($_POST['ADDRESS_ID']) && CModule::IncludeModule("useraddress") && CModule::IncludeModule("sale")) { $addressID = intval($_POST['ADDRESS_ID']); $addressInfo = CUserAddress::getAddressId($addressID); //поиск LOCATION по названию города $db_vars = CSaleLocation::GetList( array(), array("LID" => LANGUAGE_ID, "CITY_NAME" => trim($addressInfo[0]["CITY"])), false, false, array("ID")
} $res = CControllerMember::CheckUserAuth($ar_mem["ID"], $oRequest->arParameters['login'], $oRequest->arParameters['password']); if (is_array($res)) { $oResponse->arParameters = $res; $oResponse->status = "200 OK"; } else { $oResponse->status = "473 Bad password."; $e = $APPLICATION->GetException(); $oResponse->text = $e->GetString(); } break; case 'check_auth': $dbr = CControllerMember::GetByGuid($oRequest->member_id); $ar = $dbr->Fetch(); $arControllerLog = array('NAME' => 'AUTH', 'CONTROLLER_MEMBER_ID' => $ar["ID"], 'STATUS' => 'Y'); $dbUser = CUser::GetByLogin($oRequest->arParameters['login']); if (!($arUser = $dbUser->Fetch())) { $oResponse->status = "444 User is not found."; $oResponse->text = "User is not found."; $arControllerLog['STATUS'] = 'N'; } else { if (strlen($arUser["PASSWORD"]) > 32) { $salt = substr($arUser["PASSWORD"], 0, strlen($arUser["PASSWORD"]) - 32); $db_password = substr($arUser["PASSWORD"], -32); } else { $salt = ""; $db_password = $arUser["PASSWORD"]; } if ($arUser['ACTIVE'] == 'Y' && md5($db_password . 'MySalt') == md5(md5($salt . $oRequest->arParameters['password']) . 'MySalt')) { $arSaveUser = CControllerClient::PrepareUserInfo($arUser); $arSaveUser["GROUP_ID"] = array();
public static function ExistenceUserLogin($Login = "") { $Query = CUser::GetByLogin($Login)->Fetch(); return empty($Query) ? 0 : $Query["ID"]; }
// $arParams["DISPLAY_PANEL"] = ($arParams["DISPLAY_PANEL"] == "Y" ? "Y" : "N"); /******************************************************************** /Input params ********************************************************************/ $parser = new forumTextParser(); $parser->MaxStringLen = $arParams["WORD_LENGTH"]; $parser->userPath = $arParams["URL_TEMPLATES_PROFILE_VIEW"]; $parser->userNameTemplate = $arParams["NAME_TEMPLATE"]; $arResult["USER"] = array(); $arResult["FORUM_USER"] = array(); $bUserFound = $ar_res = false; if (!empty($arParams["UID"])) { false; $db_res = CUser::GetByID(intVal($arParams["UID"])); if (!($ar_res = $db_res->Fetch())) { $db_res = CUser::GetByLogin($arParams["UID"]); $ar_res = $db_res->Fetch(); $arParams["UID"] = $ar_res["ID"]; } $bUserFound = !empty($ar_res) && is_array($ar_res); } if (!$bUserFound) { CHTTP::SetStatus("404 Not Found"); ShowError(empty($arParams["UID"]) ? GetMessage("F_NO_UID") : GetMessage("F_NO_DUSER", array("#UID#" => htmlspecialcharsEx($arParams["UID"])))); return false; } foreach ($ar_res as $key => $val) { $arResult["USER"]["~" . $key] = $val; $arResult["USER"][$key] = is_string($val) ? $parser->wrap_long_words(htmlspecialcharsex(trim($val))) : $val; } $arResult["USER"]["PERSONAL_BIRTHDAY_FORMATED"] = CForumFormat::FormatDate($arResult["USER"]["~PERSONAL_BIRTHDAY"], CLang::GetDateFormat("SHORT"), $arParams["DATE_FORMAT"]);
} } foreach ($arResult['FROM_ACCOUNT'] as $curr => &$arAcc) { if (empty($arAcc)) { $arAcc = array('CURRENT_BUDGET' => 0.0, 'CURRENCY' => $curr, 'CURRENT_BUDGET_FORMATED' => SaleFormatCurrency(0, $curr)); } } if (strlen($_REQUEST['send_money']) && check_bitrix_sessid()) { $arResult['MONEY_OFF'] = round($arResult['REQUEST_AMOUNT'] + $arResult['REQUEST_AMOUNT'] / 100 * $arParams['COMISSION'], 2); if ($arResult['REQUEST_AMOUNT'] <= 0 || !strlen($arResult['REQUEST_USER']) || !strlen($arResult['REQUEST_ACCOUNT'])) { $arResult['ERROR'] = GetMessage('SPT_ERROR_REQUIRED_FIELDS'); } if (!strlen($arResult['ERROR']) && $arResult['FROM_ACCOUNT'][$arResult['REQUEST_ACCOUNT']]['CURRENT_BUDGET'] < $arResult['MONEY_OFF']) { $arResult['ERROR'] = GetMessage('SPT_ERROR_NOT_ENOUGH'); } if (!strlen($arResult['ERROR']) && !($arUser = CUser::GetByLogin($arResult['REQUEST_USER'])->Fetch()) && !($arUser = CUser::GetByID($arResult['REQUEST_USER'])->Fetch())) { $arResult['ERROR'] = GetMessage('SPT_ERROR_USER_NOT_FOUND'); } if (!strlen($arResult['ERROR']) && $arUser['ID'] == $USER->GetID()) { $arResult['ERROR'] = GetMessage('SPT_ERROR_CANNT_YOURSELF'); } if (!strlen($arResult['ERROR'])) { $arResult['TO_USER'] = $arUser; if (strlen($_REQUEST['send_money_now'])) { $arUserCurr = CUser::GetByID($USER->GetID())->Fetch(); CSaleUserAccount::UpdateAccount($USER->GetID(), -$arResult['MONEY_OFF'], $arResult['REQUEST_ACCOUNT'], GetMessage('SPT_TRANSACT_DESC_FROM', $arUser), 0, $arResult['~REQUEST_COMMENT']); CSaleUserAccount::UpdateAccount($arUser['ID'], $arResult['REQUEST_AMOUNT'], $arResult['REQUEST_ACCOUNT'], GetMessage('SPT_TRANSACT_DESC_TO', $arUserCurr), 0, $arResult['~REQUEST_COMMENT']); if ($arParams['NOTIFY_USER'] == 'Y' && CModule::IncludeModule('socialnetwork')) { $letter = GetMessage('SPT_MESS_DESC_TO', array_merge($arUserCurr, array('SUM' => SaleFormatCurrency($arResult['REQUEST_AMOUNT'], $arResult['REQUEST_ACCOUNT'])))); if (strlen($arResult['~REQUEST_COMMENT'])) { $letter .= ' (' . $arResult['~REQUEST_COMMENT'] . ')';
$arRequestParams = array("USER_CHECKWORD", "USER_PASSWORD", "USER_CONFIRM_PASSWORD"); foreach ($arRequestParams as $param) { $arResult[$param] = strlen($_REQUEST[$param]) > 0 ? $_REQUEST[$param] : ""; $arResult[$param] = htmlspecialcharsbx($arResult[$param]); } if (isset($_GET["USER_LOGIN"])) { $arResult["~LAST_LOGIN"] = CUtil::ConvertToLangCharset($_GET["USER_LOGIN"]); } elseif (isset($_POST["USER_LOGIN"])) { $arResult["~LAST_LOGIN"] = $_POST["USER_LOGIN"]; } else { $arResult["~LAST_LOGIN"] = $_COOKIE[COption::GetOptionString("main", "cookie_name", "BITRIX_SM") . "_LOGIN"]; } $arResult["LAST_LOGIN"] = htmlspecialcharsbx($arResult["~LAST_LOGIN"]); $userId = 0; if ($arResult["~LAST_LOGIN"] != '') { $res = CUser::GetByLogin($arResult["~LAST_LOGIN"]); if ($profile = $res->Fetch()) { $userId = $profile["ID"]; } } $arResult["GROUP_POLICY"] = CUser::GetGroupPolicy($userId); $arResult["SECURE_AUTH"] = false; if (!CMain::IsHTTPS() && COption::GetOptionString('main', 'use_encrypted_auth', 'N') == 'Y') { $sec = new CRsaSecurity(); if ($arKeys = $sec->LoadKeys()) { $sec->SetKeys($arKeys); $sec->AddToForm('bform', array('USER_PASSWORD', 'USER_CONFIRM_PASSWORD')); $arResult["SECURE_AUTH"] = true; } } $this->IncludeComponentTemplate();
if (strlen($arParams["LOGIN"]) <= 0) { $arParams["LOGIN"] = "******"; } $arResult["~USER_ID"] = $_REQUEST[$arParams["USER_ID"]]; $arResult["USER_ID"] = intval($arResult["~USER_ID"]); $arResult["~CONFIRM_CODE"] = trim($_REQUEST[$arParams["CONFIRM_CODE"]]); $arResult["CONFIRM_CODE"] = htmlspecialcharsbx($arResult["~CONFIRM_CODE"]); $arResult["~LOGIN"] = trim($_REQUEST[$arParams["LOGIN"]]); $arResult["LOGIN"] = htmlspecialcharsbx($arResult["~LOGIN"]); if ($USER->IsAuthorized()) { $arResult["MESSAGE_TEXT"] = GetMessage("CC_BSAC_MESSAGE_E02"); $arResult["MESSAGE_CODE"] = "E02"; $arResult["SHOW_FORM"] = false; } else { if ($arResult["USER_ID"] <= 0 && strlen($arResult["~LOGIN"]) > 0) { $rsUser = CUser::GetByLogin($arResult["~LOGIN"]); } else { $rsUser = CUser::GetByID($arResult["USER_ID"]); } if ($arResult["USER"] = $rsUser->GetNext()) { if ($arResult["USER"]["ACTIVE"] === "Y") { $arResult["MESSAGE_TEXT"] = GetMessage("CC_BSAC_MESSAGE_E03"); $arResult["MESSAGE_CODE"] = "E03"; $arResult["SHOW_FORM"] = false; } else { if (strlen($arResult["CONFIRM_CODE"]) <= 0) { $arResult["MESSAGE_TEXT"] = GetMessage("CC_BSAC_MESSAGE_E04"); $arResult["MESSAGE_CODE"] = "E04"; $arResult["SHOW_FORM"] = true; } elseif ($arResult["~CONFIRM_CODE"] !== $arResult["USER"]["~CONFIRM_CODE"]) { $arResult["MESSAGE_TEXT"] = GetMessage("CC_BSAC_MESSAGE_E05");
function PROPFIND(&$options, &$files, $arParams = array()) { global $by, $order, $USER; $io = self::GetIo(); if (!function_exists("__sort_array_folder_and_file")) { function __sort_array_folder_and_file($res1, $res2) { global $by, $order; InitSorting(); if (empty($by)) { $by = "NAME"; $order = "ASC"; } $by = strtoupper($by); $order = strtoupper($order); if ($res1["~TYPE"] == "FOLDER" && $res2["~TYPE"] == "FILE") { return -1; } elseif ($res1["~TYPE"] == "FILE" && $res2["~TYPE"] == "FOLDER") { return 1; } else { $by = is_set($res1, $by) ? $by : "NAME"; $ord = $order; if ($by == "TIMESTAMP_X") { $ord = $order == "ASC" ? "DESC" : "ASC"; } if ($ord == "ASC") { return $res1[$by] < $res2[$by] ? -1 : 1; } else { return $res1[$by] < $res2[$by] ? 1 : -1; } } } } $this->IsDir($options); $files['files'] = array(); $arResult = array("NAV_RESULT" => false, "RESULT" => array()); if (empty($options["FILTER"])) { if ($this->arParams["not_found"] === true) { return false; } elseif ($this->arParams["is_dir"] != true) { //$files["files"]["E".$res["ID"]] = $this->_get_fileinfo($this->arParams["item_id"]); $files["files"]["E"] = $this->_get_fileinfo($this->arParams["item_id"]); } else { $files["files"]["section"] = $this->_get_fileinfo($this->arParams["item_id"]); if (!empty($this->arParams["item_id"]) && $this->arParams["item_id"] != "/") { $arResult["SECTION"] = array("ID" => $this->arParams["item_id"], "NAME" => $this->arParams["item_id"]); } //$path = $this->_slashify($io->CombinePath($this->real_path_full, $this->arParams["item_id"])); $path = CWebDavBase::CleanRelativePathString($this->arParams["item_id"], $this->real_path_full); if ($path === false) { return false; } $path = $this->_slashify($path); if (!empty($options["depth"])) { $dir = $io->GetDirectory($path); if ($dir->IsExists()) { $this->arParams["item_id"] = $this->_slashify(str_replace("//", "/", $this->arParams["item_id"])); $tzOffset = CTimeZone::GetOffset(); $arChildren = $dir->GetChildren(); foreach ($arChildren as $node) { $filename = $node->GetName(); $filePath = $io->CombinePath($this->arParams["item_id"], $filename); $res = array("~TYPE" => "FOLDER", "TYPE" => "S", "ID" => $filePath, "NAME" => $filename, "TIMESTAMP_X" => $node->GetModificationTime() + $tzOffset, "PERMISSION" => $this->permission, "PATH" => $filePath, "REAL_PATH" => $path . $filename, "FILE_SIZE" => 0); if ($this->MetaNames($res)) { if (!$node->IsDirectory()) { $ext = strtolower(strrchr($filename, '.')); if (in_array($ext, $this->arFileForbiddenExtentions["READ"])) { continue; } $res["~TYPE"] = "FILE"; $res["TYPE"] = "E"; $res["LOCK_STATUS"] = "green"; $res["EXTENTION"] = $ext; $res["FILE_SIZE"] = $node->GetFileSize(); $res["FILE_ARRAY"] = array("TIMESTAMP_X" => $res["TIMESTAMP_X"], "MODULE_ID" => "webdav", "HEIGHT" => 0, "WIDTH" => 0, "FILE_SIZE" => $res["FILE_SIZE"], "CONTENT_TYPE" => $node->IsReadable() ? $this->_mimetype($path . $filename) : 'application/x-non-readable', "SUBDIR" => $io->CombinePath("/", $this->real_path, $this->arParams["item_id"]), "FILE_NAME" => $filename, "ORIGINAL_NAME" => $filename, "DESCRIPTION" => ""); } $res["PROPS"] = $this->_get_props($filePath); $res["LOCK_STATUS"] = 'green'; if (is_array($res['PROPS']['LOCK'])) { $userLogin = $GLOBALS['USER']->GetLogin(); $now = time(); foreach ($res['PROPS']['LOCK'] as $arLock) { if ($arLock['exclusivelock'] == 1 && $arLock['expires'] >= $now && $arLock['created'] <= $now) { $res['LOCK_STATUS'] = $userLogin == $arLock['owner'] ? 'yellow' : 'red'; $rsUser = CUser::GetByLogin($arLock['owner']); $arUser = $rsUser->GetNext(); $res['LOCKED_USER_NAME'] = '(' . $arUser['LOGIN'] . ')'; if (strlen($arUser['NAME']) > 0 && strlen($arUser['LAST_NAME']) > 0) { $res['LOCKED_USER_NAME'] .= ' ' . $arUser['NAME'] . ' ' . $arUser['LAST_NAME']; } break; } } } $res['SHOW'] = $this->_getShowParams($res); $arResult["RESULT"][($res["TYPE"] == "FOLDER" ? "S" : "E") . $filename] = $res; $files['files'][] = $this->_get_fileinfo($this->arParams["item_id"] . $filename); } } } } } } else { $arSearchResults = array(); if (IsModuleInstalled('search') && CModule::IncludeModule('search')) { $arSearchParams = array("MODULE_ID" => "main", "URL" => $this->base_url . '%'); if (isset($options["FILTER"]["content"]) && strlen($options["FILTER"]["content"]) > 0) { $arSearchParams += array("QUERY" => $options["FILTER"]["content"]); } $obSearch = new CSearch(); $obSearch->Search($arSearchParams); if ($obSearch->errorno != 0) { $arResult["ERROR_MESSAGE"] = $obSearch->error; } else { while ($arSearchResultItem = $obSearch->GetNext()) { $arSearchResults[] = $arSearchResultItem['ITEM_ID']; } } $tzOffset = CTimeZone::GetOffset(); foreach ($arSearchResults as $sSearchItem) { $file = array_pop(explode("|", $sSearchItem)); $filename = GetFileName($file); $sFullFileName = $io->CombinePath($_SERVER['DOCUMENT_ROOT'], $file); if (strpos($sFullFileName, $this->real_path_full) === 0) { $filePath = CWebDavBase::ConvertPathToRelative($sFullFileName, $this->real_path_full); } $filePath = CWebDavBase::CleanRelativePathString($filePath, $this->real_path_full); if ($filePath === false) { return false; } /*$sFullFileName = $io->CombinePath($_SERVER['DOCUMENT_ROOT'], $file); $filename = array_pop(explode("/", $file)); $path = implode("/", array_slice(explode("/", $sFullFileName), 0 , -1)) . "/"; $filePath = $io->CombinePath($path, $filename);*/ $oFile = $io->GetFile($filePath); $res = array("ID" => $file, "NAME" => $filename, "TIMESTAMP_X" => $oFile->GetModificationTime() + $tzOffset, "PERMISSION" => $this->permission, "PATH" => substr($file, strlen($this->real_path)), "REAL_PATH" => $filePath, "FILE_SIZE" => 0); $res['SHOW'] = $this->_getShowParams($res); if ($this->MetaNames($res)) { $res["PROPS"] = $this->_get_props(substr($file, strlen($this->real_path))); if (!isset($res["PROPS"]["UNDELETEBX:"])) { if ($oFile->IsExists()) { $ext = strtolower(strrchr($filename, '.')); if (in_array($ext, $this->arFileForbiddenExtentions["READ"])) { continue; } $fileSize = $oFile->GetFileSize(); $res["~TYPE"] = "FILE"; $res["TYPE"] = "E"; $res["LOCK_STATUS"] = "green"; $res["EXTENTION"] = $ext; $res["FILE_SIZE"] = $fileSize; $res["FILE_ARRAY"] = array("TIMESTAMP_X" => $res["TIMESTAMP_X"], "MODULE_ID" => "webdav", "HEIGHT" => 0, "WIDTH" => 0, "FILE_SIZE" => $fileSize, "CONTENT_TYPE" => $oFile->IsReadable() ? $this->_mimetype($filePath) : 'application/x-non-readable', "SUBDIR" => implode("/", array_slice(explode("/", $file), 0, -1)), "FILE_NAME" => $filename, "ORIGINAL_NAME" => $filename, "DESCRIPTION" => ""); } $arResult["RESULT"][($res["TYPE"] == "FOLDER" ? "S" : "E") . $filename] = $res; } } } } } if ($arParams["return"] == "nav_result" || $arParams["return"] == "array") { uasort($arResult["RESULT"], "__sort_array_folder_and_file"); $arResult["NAV_RESULT"] = new CDBResult(); $arResult["NAV_RESULT"]->InitFromArray($arResult["RESULT"]); $arResult["NAV_RESULT"] = new CDBResultWebDAVFiles($arResult["NAV_RESULT"]); return $arResult; } return true; }
* To change this template use File | Settings | File Templates. */ require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php"; $email = trim($_POST["email"]); $reg = intval($_POST["reg"]); $password = trim($_POST["password"]); if ($email == "" || $password == "") { die(json_encode(array("status" => "errors", "message" => "Пустой логин или пароль", "input" => array("email", "password")))); } global $USER; $user = new CUser(); $arAuthResult = $user->Login($email, $password, "Y"); if ($arAuthResult['TYPE'] != "ERROR") { die(json_encode(array("status" => "ok"))); } elseif ($reg == 1) { if (CUser::GetByLogin($email)->Fetch() == NULL) { $arFields = array("EMAIL" => $email, "LOGIN" => $email, "ACTIVE" => "Y", "PASSWORD" => $password, "CONFIRM_PASSWORD" => $password); $ID = $user->Add($arFields); if (intval($ID) > 0) { if ($user->Authorize($ID)) { die(json_encode(array("status" => "ok"))); } else { die(json_encode(array("status" => "ok", "message" => "Не получилось авторизировать"))); } } else { die(json_encode(array("status" => "errors", "message" => $user->LAST_ERROR))); } } else { die(json_encode(array("status" => "errors", "message" => "Логин уже занят"))); } } else {
public static function PostIntoBuzzAsBlog($userTwit, $arSiteId = array(), $userLogin = '') { global $DB; if (!CModule::IncludeModule("blog")) { return; } $arParams = array(); if (IsModuleInstalled('bitrix24') && defined('BX24_HOST_NAME') && $userLogin != '') { if ($arUserTwit = unserialize(base64_decode($userTwit))) { $userTwit = $arUserTwit; } if ($arSiteIdCheck = unserialize(base64_decode($arSiteId))) { $arSiteId = $arSiteIdCheck; } $dbUser = CUser::GetByLogin($userLogin); if ($arUser = $dbUser->Fetch()) { $arParams["USER_ID"] = $arUser["ID"]; } } else { $arParams["USER_ID"] = $userTwit['kp_user_id']; } if (isset($arSiteId[$userTwit['kp_user_id']])) { $siteId = $arSiteId[$userTwit['kp_user_id']]; } if (strlen($siteId) <= 0) { $siteId = SITE_ID; } if (isset($userTwit['text'])) { $arParams["GROUP_ID"] = COption::GetOptionString("socialnetwork", "userbloggroup_id", false, $siteId); $arParams["PATH_TO_BLOG"] = COption::GetOptionString("socialnetwork", "userblogpost_page", false, $siteId); $arParams["PATH_TO_SMILE"] = COption::GetOptionString("socialnetwork", "smile_page", false, $siteId); $arParams["NAME_TEMPLATE"] = COption::GetOptionString("main", "TOOLTIP_NAME_TEMPLATE", false, $siteId); $arParams["SHOW_LOGIN"] = '******'; $arParams["PATH_TO_POST"] = $arParams["PATH_TO_BLOG"]; $arFilterblg = array("ACTIVE" => "Y", "USE_SOCNET" => "Y", "GROUP_ID" => $arParams["GROUP_ID"], "GROUP_SITE_ID" => $siteId, "OWNER_ID" => $arParams["USER_ID"]); $groupId = is_array($arParams["GROUP_ID"]) ? IntVal($arParams["GROUP_ID"][0]) : IntVal($arParams["GROUP_ID"]); if (isset($GLOBALS["BLOG_POST"]["BLOG_P_" . $groupId . "_" . $arParams["USER_ID"]]) && !empty($GLOBALS["BLOG_POST"]["BLOG_P_" . $groupId . "_" . $arParams["USER_ID"]])) { $arBlog = $GLOBALS["BLOG_POST"]["BLOG_P_" . $groupId . "_" . $arParams["USER_ID"]]; } else { $dbBl = CBlog::GetList(array(), $arFilterblg); $arBlog = $dbBl->Fetch(); if (!$arBlog && IsModuleInstalled("intranet")) { $arBlog = CBlog::GetByOwnerID($arParams["USER_ID"]); } $GLOBALS["BLOG_POST"]["BLOG_P_" . $groupId . "_" . $arParams["USER_ID"]] = $arBlog; } $arResult["Blog"] = $arBlog; if (empty($arBlog)) { if (!empty($arParams["GROUP_ID"])) { $arFields = array("=DATE_UPDATE" => $DB->CurrentTimeFunction(), "GROUP_ID" => is_array($arParams["GROUP_ID"]) ? IntVal($arParams["GROUP_ID"][0]) : IntVal($arParams["GROUP_ID"]), "ACTIVE" => "Y", "ENABLE_COMMENTS" => "Y", "ENABLE_IMG_VERIF" => "Y", "EMAIL_NOTIFY" => "Y", "ENABLE_RSS" => "Y", "ALLOW_HTML" => "N", "ENABLE_TRACKBACK" => "N", "SEARCH_INDEX" => "Y", "USE_SOCNET" => "Y", "=DATE_CREATE" => $DB->CurrentTimeFunction(), "PERMS_POST" => array(1 => "I", 2 => "I"), "PERMS_COMMENT" => array(1 => "P", 2 => "P")); $bRights = false; $rsUser = CUser::GetByID($arParams["USER_ID"]); $arUser = $rsUser->Fetch(); if (strlen($arUser["NAME"] . "" . $arUser["LAST_NAME"]) <= 0) { $arFields["NAME"] = GetMessage("BLG_NAME") . " " . $arUser["LOGIN"]; } else { $arFields["NAME"] = GetMessage("BLG_NAME") . " " . $arUser["NAME"] . " " . $arUser["LAST_NAME"]; } $arFields["URL"] = str_replace(" ", "_", $arUser["LOGIN"]) . "-blog-" . SITE_ID; $arFields["OWNER_ID"] = $arParams["USER_ID"]; $urlCheck = preg_replace("/[^a-zA-Z0-9_-]/is", "", $arFields["URL"]); if ($urlCheck != $arFields["URL"]) { $arFields["URL"] = "u" . $arParams["USER_ID"] . "-blog-" . SITE_ID; } if (CBlog::GetByUrl($arFields["URL"])) { $uind = 0; do { $uind++; $arFields["URL"] = $arFields["URL"] . $uind; } while (CBlog::GetByUrl($arFields["URL"])); } $featureOperationPerms = CSocNetFeaturesPerms::GetOperationPerm(SONET_ENTITY_USER, $arFields["OWNER_ID"], "blog", "view_post"); if ($featureOperationPerms == SONET_RELATIONS_TYPE_ALL) { $bRights = true; } $arFields["PATH"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_BLOG"], array("blog" => $arFields["URL"], "user_id" => $arFields["OWNER_ID"], "group_id" => $arFields["SOCNET_GROUP_ID"])); $blogID = CBlog::Add($arFields); if ($bRights) { CBlog::AddSocnetRead($blogID); } $arBlog = CBlog::GetByID($blogID, $arParams["GROUP_ID"]); } } // $DATE_PUBLISH = ""; // if(strlen($_POST["DATE_PUBLISH_DEF"]) > 0) // $DATE_PUBLISH = $_POST["DATE_PUBLISH_DEF"]; // elseif (strlen($_POST["DATE_PUBLISH"])<=0) $DATE_PUBLISH = ConvertTimeStamp(time() + CTimeZone::GetOffset(), "FULL"); // else // $DATE_PUBLISH = $_POST["DATE_PUBLISH"]; $arFields = array("DETAIL_TEXT" => $userTwit['text'], "DETAIL_TEXT_TYPE" => "text", "DATE_PUBLISH" => $DATE_PUBLISH, "PUBLISH_STATUS" => BLOG_PUBLISH_STATUS_PUBLISH, "PATH" => CComponentEngine::MakePathFromTemplate(htmlspecialcharsBack($arParams["PATH_TO_POST"]), array("post_id" => "#post_id#", "user_id" => $arBlog["OWNER_ID"])), "URL" => $arBlog["URL"], "SOURCE_TYPE" => "twitter"); $arFields["PERMS_POST"] = array(); $arFields["PERMS_COMMENT"] = array(); $arFields["MICRO"] = "N"; if (strlen($arFields["TITLE"]) <= 0) { $arFields["MICRO"] = "Y"; $arFields["TITLE"] = trim(blogTextParser::killAllTags($arFields["DETAIL_TEXT"])); if (strlen($arFields["TITLE"]) <= 0) { $arFields["TITLE"] = GetMessage("BLOG_EMPTY_TITLE_PLACEHOLDER"); } } $arFields["SOCNET_RIGHTS"] = array(); if (!empty($userTwit['user_perms'])) { $bOne = true; foreach ($userTwit['user_perms'] as $v => $k) { if (strlen($v) > 0 && is_array($k) && !empty($k)) { foreach ($k as $vv) { if (strlen($vv) > 0) { $arFields["SOCNET_RIGHTS"][] = $vv; if ($v != "SG") { $bOne = false; } } } } } if ($bOne && !empty($userTwit['user_perms']["SG"])) { $bOnesg = false; $bFirst = true; $oGrId = 0; foreach ($userTwit['user_perms']["SG"] as $v) { if (strlen($v) > 0) { if ($bFirst) { $bOnesg = true; $bFirst = false; $v = str_replace("SG", "", $v); $oGrId = IntVal($v); } else { $bOnesg = false; } } } if ($bOnesg) { if (!CSocNetFeaturesPerms::CanPerformOperation($arParams["USER_ID"], SONET_ENTITY_GROUP, $oGrId, "blog", "write_post") && !CSocNetFeaturesPerms::CanPerformOperation($arParams["USER_ID"], SONET_ENTITY_GROUP, $oGrId, "blog", "moderate_post") && !CSocNetFeaturesPerms::CanPerformOperation($arParams["USER_ID"], SONET_ENTITY_GROUP, $oGrId, "blog", "full_post")) { $arFields["PUBLISH_STATUS"] = BLOG_PUBLISH_STATUS_READY; } } } } $bError = false; /* if (CModule::IncludeModule('extranet') && !CExtranet::IsIntranetUser()) { if(empty($arFields["SOCNET_RIGHTS"]) || in_array("UA", $arFields["SOCNET_RIGHTS"])) { $bError = true; $arResult["ERROR_MESSAGE"] = GetMessage("BLOG_BPE_EXTRANET_ERROR"); } }*/ if (!$bError) { preg_match_all("/\\[user\\s*=\\s*([^\\]]*)\\](.+?)\\[\\/user\\]/ies" . BX_UTF_PCRE_MODIFIER, $userTwit['text'], $arMention); $arFields["=DATE_CREATE"] = $DB->GetNowFunction(); $arFields["AUTHOR_ID"] = $arParams["USER_ID"]; $arFields["BLOG_ID"] = $arBlog["ID"]; $newID = CBlogPost::Add($arFields); $socnetRightsOld = array("U" => array()); $bAdd = true; $bNeedMail = false; if ($newID) { $arFields["ID"] = $newID; $arParamsNotify = array("bSoNet" => true, "UserID" => $arParams["USER_ID"], "allowVideo" => $arResult["allowVideo"], "PATH_TO_SMILE" => $arParams["PATH_TO_SMILE"], "PATH_TO_POST" => $arParams["PATH_TO_POST"], "SOCNET_GROUP_ID" => $arParams["GROUP_ID"], "user_id" => $arParams["USER_ID"], "NAME_TEMPLATE" => $arParams["NAME_TEMPLATE"], "SHOW_LOGIN" => $arParams["SHOW_LOGIN"]); CBlogPost::Notify($arFields, $arBlog, $arParamsNotify); } } if ($newID > 0 && strlen($arResult["ERROR_MESSAGE"]) <= 0 && $arFields["PUBLISH_STATUS"] == BLOG_PUBLISH_STATUS_PUBLISH) { BXClearCache(true, "/" . SITE_ID . "/blog/last_messages_list/"); $arFieldsIM = array("TYPE" => "POST", "TITLE" => $arFields["TITLE"], "URL" => CComponentEngine::MakePathFromTemplate(htmlspecialcharsBack($arParams["PATH_TO_POST"]), array("post_id" => $newID, "user_id" => $arBlog["OWNER_ID"])), "ID" => $newID, "FROM_USER_ID" => $arParams["USER_ID"], "TO_USER_ID" => array(), "TO_SOCNET_RIGHTS" => $arFields["SOCNET_RIGHTS"], "TO_SOCNET_RIGHTS_OLD" => $socnetRightsOld["U"]); if (!empty($arMentionOld)) { $arFieldsIM["MENTION_ID_OLD"] = $arMentionOld[1]; } if (!empty($arMention)) { $arFieldsIM["MENTION_ID"] = $arMention[1]; } CBlogPost::NotifyIm($arFieldsIM); $arParams["ID"] = $newID; if (!empty($_POST["SPERM"]["SG"])) { foreach ($_POST["SPERM"]["SG"] as $v) { $group_id_tmp = substr($v, 2); if (IntVal($group_id_tmp) > 0) { CSocNetGroup::SetLastActivity(IntVal($group_id_tmp)); } } } } } }
$arToken = array(); parse_str($oResponce, $arToken); //Пишем токен в базу $fb_token = $_SESSION['fb_access_token'] = $fb_token ? $fb_token : $arToken['access_token']; } //Получаем Id пользователя Фэйсбука $uUrl = "https://graph.facebook.com/me?access_token={$fb_token}"; $uResponse = file_get_contents($uUrl); $UserData = json_decode($uResponse); $UserDataSerialized = serialize($UserData); $arFileds = (array) unserialize($UserDataSerialized); // gender] => male // graph.facebook.com/tabotaOG/picture?type=large // printAr($arFileds); if (!$USER_ID) { $rsUser = CUser::GetByLogin($arFileds["email"]); if ($arUser = $rsUser->Fetch()) { //Если найден, то вот он наш пользователь авторизуем, если нет, то ищем по ID Facebook $ID = $arUser["ID"]; } else { //Пользователь с логином не найден!'; if ($userFromFB_ID = User::findFromFB($arFileds["id"])) { // ищем по ID Facebook $ID = $userFromFB_ID; } else { //тогда создаем нового пользователя $user = new CUser(); $password = randString(7); $arFields = array("NAME" => $arFileds["first_name"], "LAST_NAME" => $arFileds["last_name"], "EMAIL" => $arFileds["email"], "LOGIN" => $arFileds["email"], "PERSONAL_BIRTHDAY" => str_replace("/", ".", $arFileds["birthday"]), "LID" => "ru", "ACTIVE" => "Y", "PASSWORD" => $password, "CONFIRM_PASSWORD" => $password, "PERSONAL_PHOTO" => CFile::MakeFileArray("http://graph.facebook.com/" . $arFileds["id"] . "/picture?type=large")); $ID = $user->Add($arFields); }
<? require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php"); $wishUser = CUser::GetByLogin($_GET['USER'])->Fetch(); $APPLICATION->SetTitle("Muchmore.ru - Понравилось пользователю " . $wishUser['NAME']); $APPLICATION->AddHeadString('<meta property="og:title" content="Muchmore.ru - Понравилось пользователю ' . $wishUser['NAME'] . '"/>'); CModule::IncludeModule('iblock'); $wishUser = CUser::GetByLogin($_GET['USER'])->Fetch(); if (false === $wishUser) { } else { $rsItems = CIBlockElement::GetList(array( 'DATE_CREATE' => 'DESC' ), array( 'IBLOCK_ID' => 17, 'PROPERTY_USER' => $wishUser['ID'], 'ACTIVE' => 'Y' ), false, false, array( 'PROPERTY_OBJECT_ID' )); while ($item = $rsItems->Fetch()) { $items[] = $item['PROPERTY_OBJECT_ID_VALUE']; } } require_once($_SERVER['DOCUMENT_ROOT'] . '/butik/.tags.class.php'); $tags = new WRTags(); ?> <link rel="stylesheet" type="text/css" href="/src/css/butik.css" /> <div class="cat-menu"> <ul class="sf-menu"> <li><? $tags->drawCatalog();?></li> <li><? $tags->drawGifts();?></li>
public function _getTestUser() { global $USER; $arFields = array('NAME' => GetMessage('OBX_MARKET_TEST_USER_1_FNAME'), 'LAST_NAME' => GetMessage('OBX_MARKET_TEST_USER_1_LNAME'), 'EMAIL' => '*****@*****.**', 'LID' => 'ru', 'ACTIVE' => 'Y', 'GROUP_ID' => array(1, 2), 'PASSWORD' => '123456', 'CONFIRM_PASSWORD' => '123456'); $rsUser1 = \CUser::GetByLogin('__test_basket_user_1'); $rsUser2 = \CUser::GetByLogin('__test_basket_user_2'); if ($arUser1 = $rsUser1->Fetch()) { self::$_arTestUser = $arUser1; } else { $user = new \CUser(); $arFields['LOGIN'] = '******'; $ID = $user->Add($arFields); $this->assertGreaterThan(0, $ID, 'Error: can\'t create test user 1. text: ' . $user->LAST_ERROR); $rsUser1 = \CUser::GetByLogin('__test_basket_user_1'); if ($arUser1 = $rsUser1->Fetch()) { $this->assertEquals('__test_basket_user_1', $arUser1['LOGIN']); self::$_arTestUser = $arUser1; } else { $this->fail('Error: can\'t get test user 1'); } } if ($arUser2 = $rsUser2->Fetch()) { self::$_arSomeOtherTestUser = $arUser2; } else { $user = new \CUser(); $arFields['LOGIN'] = '******'; $ID = $user->Add($arFields); $this->assertGreaterThan(0, $ID, 'Error: can\'t create test user 2. text: ' . $user->LAST_ERROR); $rsUser1 = \CUser::GetByLogin('__test_basket_user_2'); if ($arUser2 = $rsUser1->Fetch()) { $this->assertEquals('__test_basket_user_2', $arUser2['LOGIN']); self::$_arSomeOtherTestUser = $arUser2; } else { $this->fail('Error: can\'t get test user 2'); } } }
} } } } /* * register user if to order basket */ if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["BasketOrder"]) and !$USER->IsAuthorized()) { if (strlen($payerEMail) <= 0) { $errorMessage .= GetMessage("STOF_ERROR_REG_EMAIL") . "<br>"; } elseif (!check_email($payerEMail)) { $errorMessage .= GetMessage("STOF_ERROR_REG_BAD_EMAIL") . "<br>"; } $pos = strpos($payerEMail, "@"); $payerEMailNew = substr($payerEMail, 0, $pos); $dbUserLogin = CUser::GetByLogin($payerEMailNew); if ($arUserLogin = $dbUserLogin->Fetch()) { $errorMessage .= GetMessage("STOF_ERROR_REG_UNIQUE_LOGIN") . "<br>"; } $rsUsers = CUser::GetList($by = "id", $order = "desc", array("EMAIL" => $payerEMail)); $arUser = $rsUsers->Fetch(); if (count($arUser) > 1) { $errorMessage .= GetMessage("STOF_ERROR_REG_UNIQUE_EMAIL") . "<br>"; } if ('' == $errorMessage) { $user_id = CSaleUser::DoAutoRegisterUser($payerEMail, $payerName, SITE_ID, $arErrors, array()); if ($user_id > 0 && empty($arErrors)) { $USER->Authorize($user_id); $currentUserId = (int) $USER->GetID(); //send mail register user if ($arParams["SEND_NEW_USER_NOTIFY"] == "Y") {
public static function DoAutoRegisterUser($autoEmail, $payerName, $siteId, &$arErrors, $arOtherFields = null) { $autoEmail = trim($autoEmail); if (empty($autoEmail)) { return null; } if ($siteId == null) { $siteId = SITE_ID; } $autoName = ""; $autoLastName = ""; if (!is_array($payerName) && strlen($payerName) > 0) { $arNames = explode(" ", $payerName); $autoName = $arNames[1]; $autoLastName = $arNames[0]; $autoSecondName = false; } elseif (is_array($payerName)) { $autoName = $payerName["NAME"]; $autoLastName = $payerName["LAST_NAME"]; $autoSecondName = $payerName["SECOND_NAME"]; } $autoLogin = $autoEmail; $pos = strpos($autoLogin, "@"); if ($pos !== false) { $autoLogin = substr($autoLogin, 0, $pos); } if (strlen($autoLogin) > 47) { $autoLogin = substr($autoLogin, 0, 47); } while (strlen($autoLogin) < 3) { $autoLogin .= "_"; } $idx = 0; $loginTmp = $autoLogin; $dbUserLogin = CUser::GetByLogin($autoLogin); while ($arUserLogin = $dbUserLogin->Fetch()) { $idx++; if ($idx == 10) { $autoLogin = $autoEmail; } elseif ($idx > 10) { $autoLogin = "******" . time() . GetRandomCode(2); break; } else { $autoLogin = $loginTmp . $idx; } $dbUserLogin = CUser::GetByLogin($autoLogin); } $defaultGroup = COption::GetOptionString("main", "new_user_registration_def_group", ""); if ($defaultGroup != "") { $arDefaultGroup = explode(",", $defaultGroup); $arPolicy = CUser::GetGroupPolicy($arDefaultGroup); } else { $arPolicy = CUser::GetGroupPolicy(array()); } $passwordMinLength = intval($arPolicy["PASSWORD_LENGTH"]); if ($passwordMinLength <= 0) { $passwordMinLength = 6; } $passwordChars = array("abcdefghijklnmopqrstuvwxyz", "ABCDEFGHIJKLNMOPQRSTUVWXYZ", "0123456789"); if ($arPolicy["PASSWORD_PUNCTUATION"] === "Y") { $passwordChars[] = ",.<>/?;:'\"[]{}\\|`~!@#\$%^&*()-_+="; } $autoPassword = randString($passwordMinLength + 2, $passwordChars); $arFields = array("LOGIN" => $autoLogin, "NAME" => $autoName, "LAST_NAME" => $autoLastName, "SECOND_NAME" => $autoSecondName, "PASSWORD" => $autoPassword, "PASSWORD_CONFIRM" => $autoPassword, "EMAIL" => $autoEmail, "GROUP_ID" => $arDefaultGroup, "LID" => $siteId); $arFields["ACTIVE"] = isset($arOtherFields["ACTIVE"]) && $arOtherFields["ACTIVE"] == "N" ? "N" : "Y"; if (isset($arOtherFields["ACTIVE"])) { unset($arOtherFields["ACTIVE"]); } if (is_array($arOtherFields)) { foreach ($arOtherFields as $key => $value) { if (!array_key_exists($key, $arFields)) { $arFields[$key] = $value; } } } $user = new CUser(); $userId = $user->Add($arFields); if (intval($userId) <= 0) { $arErrors[] = array("TEXT" => Loc::getMessage("STOF_ERROR_REG") . (strlen($user->LAST_ERROR) > 0 ? ": " . $user->LAST_ERROR : "")); return 0; } return $userId; }
$userId = 0; $groupId = 0; if (empty($errorMessage)) { $saleLogin = "******" . randString(5, "ABCDEFGHIJKLNMOPQRSTUVWXYZ"); $idx = 0; $saleLoginTmp = $saleLogin; $dbSaleLoginUser = CUser::GetByLogin($saleLogin); while ($arSaleLoginUser = $dbSaleLoginUser->Fetch()) { $idx++; if ($idx > 10) { $saleLogin = $saleLogin . time(); break; } else { $saleLogin = $saleLoginTmp . $idx; } $dbSaleLoginUser = CUser::GetByLogin($saleLogin); } } if (empty($errorMessage)) { $defaultGroup = COption::GetOptionString("main", "new_user_registration_def_group", ""); if ($defaultGroup != "") { $arDefaultGroup = explode(",", $defaultGroup); $arPolicy = CUser::GetGroupPolicy($arDefaultGroup); } else { $arPolicy = CUser::GetGroupPolicy(array()); } $passwordMinLength = intval($arPolicy["PASSWORD_LENGTH"]); if ($passwordMinLength <= 10) { $passwordMinLength = 10; } $passwordChars = array("abcdefghijklnmopqrstuvwxyz", "ABCDEFGHIJKLNMOPQRSTUVWXYZ", "0123456789");
if (strLen($UID) <= 0 && $USER->IsAuthorized()) { $UID = intVal($USER->getId()); } $bUserFound = False; if (intVal($UID) > 0) { $db_res = CUser::GetByID(IntVal($UID)); if ($ar_res = $db_res->Fetch()) { $UID = IntVal($UID); $bUserFound = True; while (list($key, $val) = each($ar_res)) { ${"f_" . $key} = htmlspecialcharsex(trim($val)); } } } if (!$bUserFound) { $db_res = CUser::GetByLogin($UID); if ($ar_res = $db_res->Fetch()) { while (list($key, $val) = each($ar_res)) { ${"f_" . $key} = htmlspecialcharsex(trim($val)); } $UID = IntVal($f_ID); $bUserFound = True; } } // ******************** VOTINGS ************************ if ($_GET["VOTE_USER"] == "Y" && $UID > 0 && $bUserFound && $USER->IsAuthorized()) { ForumVote4User($UID, $_GET["VOTES"], strlen($_GET["CANCEL_VOTE"]) > 0 ? True : False, $strErrorMessage, $strOKMessage); } // ******************** END OF VOTINGS ***************** $APPLICATION->SetTitle(GetMessage("FV_FTITLE")); $APPLICATION->SetTemplateCSS("forum/forum_tmpl_1/forum.css");