2namespace Bitrix\Sale\Exchange\Entity;
5use Bitrix\Main\ArgumentException;
6use Bitrix\Main\UserTable;
7use Bitrix\Sale\Exchange\ImportBase;
8use Bitrix\Sale\IBusinessValueProvider;
46 if(is_array($fieldsConfig))
48 foreach($fieldsConfig as
$k => $v)
50 if(!isset($v[
'VALUE']))
53 if(!empty($property[
$k]))
58 if(empty(
$result[$v[
"VALUE"]]) && !empty($profile[$v[
"VALUE"]]))
60 $result[$v[
"VALUE"]] = $profile[$v[
"VALUE"]];
75 if(intval($orgFormId)<=0)
87 ((empty($v[
"VALUE"]) || $v[
"TYPE"] !=
"PROPERTY") &&
88 (empty($userProps) || (is_array($v) && is_string($v[
"VALUE"]) && empty($userProps[$v[
"VALUE"]])))
111 while(
$ar = $r->Fetch())
113 $config[
$ar[
"PERSON_TYPE_ID"]] = unserialize(
$ar[
"VARS"], [
'allowed_classes' =>
false]);
126 static $personType =
null;
128 if($personType ===
null)
131 $class = $registry->getPersonTypeClassName();
132 $r = $class::getlist([
'filter' => [
"=ACTIVE" =>
"Y",
"=PERSON_TYPE_SITE.SITE_ID" =>
$siteId]]);
133 while(
$ar = $r->fetch())
135 $personType[] =
$ar[
"ID"];
147 return (
$fields[
"TRAITS"][
"TYPE"] ==
"FIZ");
160 foreach(
$config as $id => $value)
162 if(($value[
"IS_FIZ"] ==
"Y" && $this->
isFiz()) ||
163 ($value[
"IS_FIZ"] ==
"N" && !$this->
isFiz()))
181 if(
$result[$personTypeId] ===
null)
184 array(
"SORT" =>
"ASC"),
186 "PERSON_TYPE_ID" => $personTypeId,
193 array(
"ID",
"TYPE",
"NAME",
"CODE",
"USER_PROPS",
"SORT",
"MULTIPLE")
195 while ($arOrderProperties = $dbOrderProperties->Fetch())
196 $result[$personTypeId][] = $arOrderProperties;
210 "NAME" =>
$fields[
"ITEM_NAME"],
211 "EMAIL" =>
$fields[
"CONTACT"][
"MAIL_NEW"],
214 if ($userFields[
"NAME"] ==
'')
215 $userFields[
"NAME"] =
$fields[
"CONTACT"][
"CONTACT_PERSON"];
217 $userFields[
"NAME"] = ($this->
isFiz() ? $userFields[
"NAME"]:
array(
"NAME"=>$userFields[
"NAME"]));
219 $emServer =
$_SERVER[
"SERVER_NAME"];
220 if(mb_strpos(
$_SERVER[
"SERVER_NAME"],
".") ===
false)
223 if ($userFields[
"EMAIL"] ==
'')
224 $userFields[
"EMAIL"] =
"buyer" . time() .
GetRandomCode(2) .
"@" . $emServer;
228 $obUser = new \CUser;
229 if(
$fields[
"CONTACT"][
"PHONE"] <>
'')
230 $obUser->Update($id,
array(
'WORK_PHONE'=>
$fields[
"CONTACT"][
"PHONE"]),
true);
248 $user = UserTable::getById($id);
275 if(!(
$entity instanceof Order))
getListPersonType($siteId)
getPropertyOrdersByConfig($personalTypeId, $profile, $property)
static getPropertyOrdersByPersonalTypeId($personTypeId)
static updateEmptyXmlId($id, $xmlId)
getFieldsConfig($orgFormId, $userProps=array())
static getBusinessValueOrderProvider(IBusinessValueProvider $entity)
resolvePersonTypeId($fields)
registerUser($fields, &$arErrors)
setEntity(ImportBase $entity)
static getInstance($type)
const REGISTRY_TYPE_ORDER
static DoAutoRegisterUser($autoEmail, $payerName, $siteId, &$arErrors, $arOtherFields=null)
static GetList($order=Array("ID"=> "DESC"), $filter=Array(), $group=false, $arNavStartParams=false, $select=array())
static GetList($arOrder=array(), $arFilter=array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
$_SERVER["DOCUMENT_ROOT"]