Your IP : 3.149.249.107
<?php
namespace Webprofy;
use Bitrix\Main\Event;
use \Bitrix\Main\EventResult;
use \Bitrix\Sale\ResultError;
class OrderCheck
{
/**
* @param Event $event
* @return EventResult
* Проверка Емайл до оформления заказа
*/
static function onSaleOrderBeforeSaved(Event $event)
{
$parameters = $event->getParameters();
$order = $parameters['ENTITY'];
global $USER;
// Пользователь не авторизован и это новый заказ
if(!$USER->IsAuthorized() && $order->isNew()) {
//Найдем емайл
$collections = $order->getPropertyCollection()->getArray();
foreach($collections['properties'] as $property){
if(strtolower($property['CODE']) == 'email'){
$email = array_shift($property['VALUE']);
break;
}
}
if($email){
//Поищем по точному совпадению емайл в текущей базе пользователей
$dbUser = \CUser::GetList(($by="id"), ($order="desc"), array("=EMAIL" => $email));
if($arUser = $dbUser->Fetch())
{
//Вернем исключение
return new EventResult(EventResult::ERROR, new ResultError('PROPERTY_EMAIL_EXISTS', 'PROPERTY'),'sale');
}
}
}
}
}