Your IP : 18.118.163.233


Current Path : /home/bitrix/ext_www/dev.easy-comfort.com.ua/local/php_interface/ajax/
Upload File :
Current File : /home/bitrix/ext_www/dev.easy-comfort.com.ua/local/php_interface/ajax/email-auth.php

<? if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) {
    die();
}
/**
 * Обеспечиваем механихм авторизации по письму для опроса покупателя
 * нам прилетает запрос  вида
 * http://eshop.optima.webprofy.ru/ajax/?act=email-auth&id=34&hash=m2gUoZ8Cfb6840875c8e062f5e4c722136869b23
 * где id=34 ИД заказа
 * hash=m2gUoZ8Cfb6840875c8e062f5e4c722136869b23  CHECKWORD пользователя
 * наша задача найти пользователя по CHECKWORD повесить на него куку  и авторизовать через CUser::LoginByHash
 *
 * https://dev.1c-bitrix.ru/api_help/main/reference/cuser/authorize.php
 * https://dev.1c-bitrix.ru/api_help/main/reference/cuser/loginbyhash.php
 */

global $USER;
/** 1 Есть ИД заказа */
if (isset($_REQUEST['id'])) {
    /** Можем авторизовать? */
    if (isset($_REQUEST['hash']) && (!$USER->IsAuthorized())) {
        $filter = Array("CHECKWORD" => htmlspecialcharsbx($_REQUEST['hash']));
        $rsUsers = CUser::GetList($by = "id", $sort = "asc", $filter);
        $searchUser = array();
        if ($ob = $rsUsers->Fetch()) {
            $searchUser = $ob;
        }

        if (isset($searchUser['ID'])) {
            $USER->Authorize(
                $searchUser['ID'],
                true, /** для CUser::LoginByHash */
                true
            );
        }

        header("HTTP/1.1 301 Moved Permanently");
        header("Location: http://" . SITE_SERVER_NAME . '/ajax/?act=email-auth&id=' . $_REQUEST['id']);
        die();
    } elseif (!$USER->IsAuthorized()) {
        if (!is_object($USER)) $USER = new CUser;
        $cookie_login = ${COption::GetOptionString("main", "cookie_name", "BITRIX_SM") . "_LOGIN"};
        $cookie_md5pass = ${COption::GetOptionString("main", "cookie_name", "BITRIX_SM") . "_UIDH"};
        $USER->LoginByHash($cookie_login, $cookie_md5pass);
    }

    header("HTTP/1.1 301 Moved Permanently");
    header("Location: http://" . SITE_SERVER_NAME . '/cart/interview/?id=' . $_REQUEST['id']);
    die();


} else {
    /** Шлем нафик на главную  */
    header("HTTP/1.1 301 Moved Permanently");
    header("Location:  http://" . SITE_SERVER_NAME . '/');
    die();
}