Example #1
0
    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);
            }
        }

    }
Example #2
0
 /**
  * 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;
 }
Example #3
0
 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);
 }
Example #4
0
 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.');
 }
Example #5
0
 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;
     }
 }
Example #6
0
 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' => 'Если такой пользователь существует, то его пароль будет перезаписан, а членство в группе администраторов &mdash; восстановлено. Если пользователя нет, то он будет создан.', 'login' => 'Логин', 'pswd' => 'Пароль', 'pswdRep' => 'Повтор пароля', 'email' => 'E-mail', 'send' => 'Отправить');
} else {
    $msg = array('charset' => 'windows-1251', 'userChngScs' => '������������ ������� �������.', 'userAddScs' => '������������ ������� ��������.', 'delScript' => '������� ������', 'delScriptMsg' => '� ����� ������������ ������������� ������� ������ ������ �� �������.', 'title' => '�������������� ������ ��������������', 'go2admin' => '������� � ��������', 'subTitle' => '������� ��� ������������ � ������', 'note' => '���� ����� ������������ ����������, �� ��� ������ ����� �����������, � �������� � ������ ��������������� &mdash; �������������. ���� ������������ ���, �� �� ����� ������.', '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) {
Example #8
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
Example #9
0
 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;
 }
Example #10
0
 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");
Example #11
0
<?
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();
Example #13
0
 public static function ExistenceUserLogin($Login = "")
 {
     $Query = CUser::GetByLogin($Login)->Fetch();
     return empty($Query) ? 0 : $Query["ID"];
 }
Example #14
0
// $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"]);
Example #15
0
    }
}
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'] . ')';
Example #16
0
$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();
Example #17
0
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");
Example #18
0
 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;
 }
Example #19
0
 * 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 {
Example #20
0
 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));
                     }
                 }
             }
         }
     }
 }
Example #21
0
     $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);
         }
Example #22
0
File: index.php Project: ASDAFF/mp
<?
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>
Example #23
0
 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');
         }
     }
 }
Example #24
0
             }
         }
     }
 }
 /*
  * 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") {
Example #25
0
 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;
 }
Example #26
0
 $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");
Example #27
0
 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");