Your IP : 3.149.249.107


Current Path : /home/bitrix/ext_www/rk_shared_core/local/classes/Webprofy/
Upload File :
Current File : /home/bitrix/ext_www/rk_shared_core/local/classes/Webprofy/OrderCheck.php

<?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');
				}
			}
		}
	}

}