public static function CheckFields($ACTION, &$arFields, $ID = 0) { if ((is_set($arFields, "ORDER_ID") || $ACTION == "ADD") && IntVal($arFields["ORDER_ID"]) <= 0) { $GLOBALS["APPLICATION"]->ThrowException(GetMessage("SKGOPV_EMPTY_ORDER_ID"), "EMPTY_ORDER_ID"); return false; } if ((is_set($arFields, "ORDER_PROPS_ID") || $ACTION == "ADD") && IntVal($arFields["ORDER_PROPS_ID"]) <= 0) { $GLOBALS["APPLICATION"]->ThrowException(GetMessage("SKGOPV_EMPTY_PROP_ID"), "EMPTY_ORDER_PROPS_ID"); return false; } if (is_set($arFields, "ORDER_ID")) { if (!($arOrder = CSaleOrder::GetByID($arFields["ORDER_ID"]))) { $GLOBALS["APPLICATION"]->ThrowException(str_replace("#ID#", $arFields["ORDER_ID"], GetMessage("SKGOPV_NO_ORDER_ID")), "ERROR_NO_ORDER"); return false; } } if (is_set($arFields, "ORDER_PROPS_ID")) { if (!($arOrder = CSaleOrderProps::GetByID($arFields["ORDER_PROPS_ID"]))) { $GLOBALS["APPLICATION"]->ThrowException(str_replace("#ID#", $arFields["ORDER_PROPS_ID"], GetMessage("SKGOPV_NO_PROP_ID")), "ERROR_NO_PROPERY"); return false; } if (is_set($arFields, "ORDER_ID")) { $arFilter = array("ORDER_ID" => $arFields["ORDER_ID"], "ORDER_PROPS_ID" => $arFields["ORDER_PROPS_ID"]); if (IntVal($ID) > 0) { $arFilter["!ID"] = $ID; } $dbP = CSaleOrderPropsValue::GetList(array(), $arFilter); if ($arP = $dbP->Fetch()) { $GLOBALS["APPLICATION"]->ThrowException(GetMessage("SKGOPV_DUPLICATE_PROP_ID", array("#ID#" => $arFields["ORDER_PROPS_ID"], "#ORDER_ID#" => $arFields["ORDER_ID"])), "ERROR_DUPLICATE_PROP_ID"); return false; } } } return True; }
static function DoSaveUserProfile($userId, $profileId, $profileName, $personTypeId, $orderProps, &$arErrors) { $profileId = intval($profileId); $arIDs = array(); if ($profileId > 0) { $dbProfile = CSaleOrderUserProps::GetList(array(), array("ID" => $profileId), false, false, array("ID", "NAME", "USER_ID", "PERSON_TYPE_ID")); $arProfile = $dbProfile->Fetch(); if (!$arProfile) { $arErrors[] = array("CODE" => "PROFILE_NOT_FOUND", "TEXT" => GetMessage('SKGOUP_PROFILE_NOT_FOUND')); return false; } if ($arProfile["USER_ID"] != $userId || $arProfile["PERSON_TYPE_ID"] != $personTypeId) { $arErrors[] = array("CODE" => "PARAM", "TEXT" => GetMessage('SKGOUP_PARRAMS_ERROR')); return false; } //if (strlen($profileName) > 0 && $profileName != $arProfile["NAME"]) if (strlen($profileName) > 0) { $arFields = array("NAME" => $profileName, "USER_ID" => $userId); CSaleOrderUserProps::Update($profileId, $arFields); } $dbUserPropsValues = CSaleOrderUserPropsValue::GetList(array(), array("USER_PROPS_ID" => $profileId), false, false, array("ID", "ORDER_PROPS_ID")); while ($arUserPropsValue = $dbUserPropsValues->Fetch()) { $arIDs[$arUserPropsValue["ORDER_PROPS_ID"]] = $arUserPropsValue["ID"]; } } if (!is_array($orderProps)) { $dbOrderPropsValues = CSaleOrderPropsValue::GetList(array(), array("ORDER_ID" => intval($orderProps)), false, false, array("ORDER_PROPS_ID", "VALUE")); $orderProps = array(); while ($arOrderPropsValue = $dbOrderPropsValues->Fetch()) { $orderProps[$arOrderPropsValue["ORDER_PROPS_ID"]] = $arOrderPropsValue["VALUE"]; } } $dbOrderProperties = CSaleOrderProps::GetList(array(), array("PERSON_TYPE_ID" => $personTypeId, "ACTIVE" => "Y", "UTIL" => "N", "USER_PROPS" => "Y"), false, false, array("ID", "TYPE", "NAME", "CODE")); while ($arOrderProperty = $dbOrderProperties->Fetch()) { $curVal = $orderProps[$arOrderProperty["ID"]]; if ($arOrderProperty["TYPE"] == "MULTISELECT" && is_array($curVal)) { $curVal = implode(",", $curVal); } if (strlen($curVal) > 0) { if ($profileId <= 0) { if (strlen($profileName) <= 0) { $profileName = GetMessage("SOA_PROFILE") . " " . Date("Y-m-d"); } $arFields = array("NAME" => $profileName, "USER_ID" => $userId, "PERSON_TYPE_ID" => $personTypeId); $profileId = CSaleOrderUserProps::Add($arFields); } if (array_key_exists($arOrderProperty["ID"], $arIDs)) { $arFields = array("NAME" => $arOrderProperty["NAME"], "VALUE" => $curVal); CSaleOrderUserPropsValue::Update($arIDs[$arOrderProperty["ID"]], $arFields); unset($arIDs[$arOrderProperty["ID"]]); } else { $arFields = array("USER_PROPS_ID" => $profileId, "ORDER_PROPS_ID" => $arOrderProperty["ID"], "NAME" => $arOrderProperty["NAME"], "VALUE" => $curVal); CSaleOrderUserPropsValue::Add($arFields); } } } foreach ($arIDs as $id) { CSaleOrderUserPropsValue::Delete($id); } }
public static function GetOrderPropId($code) { $id = 0; if (CModule::IncludeModule('sale')) { $db_props = CSaleOrderProps::GetList(array("SORT" => "ASC"), array("CODE" => $code), false, false, array("ID")); if ($props = $db_props->Fetch()) { $id = $props["ID"]; } } else { Trace("Error: can't include module sale"); } return $id; }
protected function getOrderProps() { if ($this->orderProps === null) { $this->orderProps = array(); if (isset($this->formData["PERSON_TYPE"])) { $db_props = CSaleOrderProps::GetList(array(), array("PERSON_TYPE_ID" => $this->formData["PERSON_TYPE"])); while ($prop = $db_props->Fetch()) { $this->orderProps[] = $prop; } } } return $this->orderProps; }
protected static function translateLocationIDToCode($id, $orderPropId) { if (!CSaleLocation::isLocationProMigrated()) { return $id; } $prop = CSaleOrderProps::GetByID($orderPropId); if (isset($prop['TYPE']) && $prop['TYPE'] == 'LOCATION') { if ((string) $id === (string) intval($id)) { return CSaleLocation::tryTranslateIDToCode($id); } } return $id; }
function Delete($ID) { global $DB; $ID = IntVal($ID); $db_orderProps = CSaleOrderProps::GetList($by = "PROPS_GROUP_ID", $order = "ASC", array("PROPS_GROUP_ID" => $ID)); while ($arOrderProps = $db_orderProps->Fetch()) { $DB->Query("DELETE FROM b_sale_order_props_variant WHERE ORDER_PROPS_ID = " . $arOrderProps["ID"] . "", true); $DB->Query("UPDATE b_sale_order_props_value SET ORDER_PROPS_ID = NULL WHERE ORDER_PROPS_ID = " . $arOrderProps["ID"] . "", true); $DB->Query("DELETE FROM b_sale_user_props_value WHERE ORDER_PROPS_ID = " . $arOrderProps["ID"] . "", true); } $DB->Query("DELETE FROM b_sale_order_props WHERE PROPS_GROUP_ID = " . $ID . "", true); CSaleOrderUserProps::ClearEmpty(); return $DB->Query("DELETE FROM b_sale_order_props_group WHERE ID = " . $ID . "", true); }
function AddOrderProperty($prop_id, $value, $order) { if (!strlen($prop_id)) { return false; } if (CModule::IncludeModule('sale')) { if ($arOrderProps = CSaleOrderProps::GetByID($prop_id)) { $db_vals = CSaleOrderPropsValue::GetList(array(), array('ORDER_ID' => $order, 'ORDER_PROPS_ID' => $arOrderProps['ID'])); if ($arVals = $db_vals->Fetch()) { return CSaleOrderPropsValue::Update($arVals['ID'], array('NAME' => $arVals['NAME'], 'CODE' => $arVals['CODE'], 'ORDER_PROPS_ID' => $arVals['ORDER_PROPS_ID'], 'ORDER_ID' => $arVals['ORDER_ID'], 'VALUE' => $value)); } else { return CSaleOrderPropsValue::Add(array('NAME' => $arOrderProps['NAME'], 'CODE' => $arOrderProps['CODE'], 'ORDER_PROPS_ID' => $arOrderProps['ID'], 'ORDER_ID' => $order, 'VALUE' => $value)); } } } }
public static function getOrderProps($id = false) { static $result = null; static $resultById = null; static $resultByCode = null; if($result === null) { $rs = \CSaleOrderProps::GetList(array(), array(), false, false, array('ID', 'NAME', 'CODE')); while($ar = $rs->GetNext(true, false)) { $obj = new OrderProp($ar); $resultById[ $ar['ID'] ] = &$obj; $resultByCode[ $ar['CODE'] ] = &$obj; $result[] = &$obj; unset($obj); } } return $id ? (isset($resultById[$id]) ? $resultById[$id] : (isset($resultByCode[$id]) ? $resultByCode[$id] : false)) : $result; }
function CheckFields($ACTION, &$arFields, $ID = 0) { global $DB, $USER; if ((is_set($arFields, "VALUE") || $ACTION == "ADD") && strlen($arFields["VALUE"]) <= 0) { $GLOBALS["APPLICATION"]->ThrowException(GetMessage("SKGOPV_EMPTY_VAR"), "ERROR_NO_VALUE"); return false; } if ((is_set($arFields, "NAME") || $ACTION == "ADD") && strlen($arFields["NAME"]) <= 0) { $GLOBALS["APPLICATION"]->ThrowException(GetMessage("SKGOPV_EMPTY_NAME"), "ERROR_NO_NAME"); return false; } if ((is_set($arFields, "ORDER_PROPS_ID") || $ACTION == "ADD") && IntVal($arFields["ORDER_PROPS_ID"]) <= 0) { $GLOBALS["APPLICATION"]->ThrowException(GetMessage("SKGOPV_EMPTY_CODE"), "ERROR_NO_ORDER_PROPS_ID"); return false; } if (is_set($arFields, "ORDER_PROPS_ID")) { if (!($arOrder = CSaleOrderProps::GetByID($arFields["ORDER_PROPS_ID"]))) { $GLOBALS["APPLICATION"]->ThrowException(str_replace("#ID#", $arFields["ORDER_PROPS_ID"], GetMessage("SKGOPV_NO_PROP")), "ERROR_NO_PROPERY"); return false; } } return True; }
*/ $userProfile = $arResultProps["USER_PROFILES"]; $arPropValues = array(); $arPropValues = $userProfile[$PROFILE_ID]["VALUES"]; $arFilter = array("PERSON_TYPE_ID" => $PERSON_TYPE, "ACTIVE" => "Y", "UTIL" => "N"); $dbProperties = CSaleOrderProps::GetList(array("SORT" => "ASC"), $arFilter, false, false, array("ID", "NAME", "TYPE", "REQUIED", "DEFAULT_VALUE", "IS_LOCATION", "PROPS_GROUP_ID", "SIZE1", "SIZE2", "DESCRIPTION", "IS_EMAIL", "IS_PROFILE_NAME", "IS_PAYER", "IS_LOCATION4TAX", "CODE", "GROUP_NAME", "GROUP_SORT", "SORT", "USER_PROPS", "IS_ZIP", "INPUT_FIELD_LOCATION", "SUBSCRIBE")); $locationZipID = ""; $locationID = ""; $profileName = ""; $payerName = ""; $payerEMail = ""; //load location for the index if isset index $locationForZip = ""; if (isset($_REQUEST["CHANGE_ZIP"]) && $_REQUEST["CHANGE_ZIP"] == "Y") { $arFilterZip = array("PERSON_TYPE_ID" => $PERSON_TYPE, "IS_ZIP" => "Y", "ACTIVE" => "Y", "UTIL" => "N"); $dbPropertiesZip = CSaleOrderProps::GetList(array("SORT" => "ASC"), $arFilterZip, false, false, array("ID")); $arPropZip = $dbPropertiesZip->GetNext(); $zipCode = htmlspecialcharsEx($_POST["ORDER_PROP_" . $arPropZip["ID"]]); $arZip = CSaleLocation::GetByZIP($zipCode); if (is_array($arZip) && count($arZip) > 1) { $locationForZip = intval($arZip["ID"]); } } while ($arProperties = $dbProperties->GetNext()) { if ((isset($_POST["BasketOrder"]) || $requestAjax || $_REQUEST["form"] == "Y") && $PROFILE_ID_OLD == $PROFILE_ID) { $curVal = htmlspecialcharsEx($_REQUEST["ORDER_PROP_" . $arProperties["ID"]]); if (intval($_REQUEST["NEW_LOCATION_" . $arProperties["ID"]]) > 0) { $curVal = intval($_POST["NEW_LOCATION_" . $arProperties["ID"]]); } } else { $curVal = $arPropValues[intval($arProperties["ID"])];
function fGetLocationID($PERSON_TYPE_ID) { $arResult = array(); $dbProperties = CSaleOrderProps::GetList( array("SORT" => "ASC"), array("PERSON_TYPE_ID" => $PERSON_TYPE_ID), false, false, array("TYPE", "IS_ZIP", "ID", "SORT") ); while ($arProperties = $dbProperties->Fetch()) { if ($arProperties["TYPE"] == "TEXT") { if ($arProperties["IS_ZIP"] == "Y") { $arResult["LOCATION_ZIP_ID"] = $arProperties["ID"]; } } elseif ($arProperties["TYPE"] == "LOCATION") { $arResult["LOCATION_ID"] = $arProperties["ID"]; } } return $arResult; }
$tabControl->Begin(array("FORM_ACTION" => $APPLICATION->GetCurPage() . "?lang=" . LANG . $urlForm)); //TAB EDIT PROFILE $tabControl->BeginNextFormTab(); if (!empty($arProfile) && !empty($arUser)) { $dbPersonType = CSalePersonType::GetList(array(), array("ACTIVE" => "Y", "ID" => $PERSON_TYPE)); $arPersonType = $dbPersonType->GetNext(); $LID = $arPersonType["LID"]; $arFilterProps = array("PERSON_TYPE_ID" => $PERSON_TYPE, "ACTIVE" => "Y"); if ($saleModulePermissions >= "U" && $saleModulePermissions < "W") { $arFilterProps["USER_PROPS"] = "Y"; $arFilterProps["UTIL"] = "N"; } $tabControl->AddViewField("CODE_USER", GetMessage("BUYER_PE_USER") . ":", "[<a href=\"/bitrix/admin/user_edit.php?ID=" . $arUser["ID"] . "&lang=" . LANGUAGE_ID . "\">" . $arUser["ID"] . "</a>] (" . $arUser["LOGIN"] . ") " . $userFIO); $tabControl->AddEditField("CODE_PROFILE_NAME", GetMessage("BUYER_PE_PROFILE_NAME") . ":", false, array("size" => 30, "maxlength" => 255), htmlspecialcharsEx($profileName)); $propertyGroupID = ""; $dbProperties = CSaleOrderProps::GetList(array("GROUP_SORT" => "ASC", "PROPS_GROUP_ID" => "ASC", "SORT" => "ASC", "NAME" => "ASC"), $arFilterProps, false, false, array("*")); $userProfile = CSaleOrderUserProps::DoLoadProfiles($USER_ID, $PERSON_TYPE); $curVal = ""; while ($arProperties = $dbProperties->Fetch()) { $curVal = $userProfile[$ID]["VALUES"][IntVal($arProperties["ID"])]; $fieldValue = $curVal != "" ? $curVal : $arProperties["DEFAULT_VALUE"]; if (IntVal($arProperties["PROPS_GROUP_ID"]) != $propertyGroupID) { $tabControl->AddSection("SECTION_" . $arProperties["PROPS_GROUP_ID"], $arProperties["GROUP_NAME"]); } $shure = false; if ($arProperties["REQUIED"] == "Y" || $arProperties["IS_PROFILE_NAME"] == "Y" || $arProperties["IS_LOCATION"] == "Y" || $arProperties["IS_LOCATION4TAX"] == "Y" || $arProperties["IS_PAYER"] == "Y" || $arProperties["IS_ZIP"] == "Y") { $shure = true; } /*fields*/ if ($arProperties["TYPE"] == "TEXT") { $tabControl->AddEditField("CODE_" . IntVal($arProperties["ID"]), $arProperties["NAME"] . ":", $shure, array("size" => 30, "maxlength" => 255), $fieldValue);
<td valign="middle"><? $arPersonType = CSalePersonType::GetByID($arOrder["PERSON_TYPE_ID"]); echo htmlspecialcharsEx($arPersonType["NAME"]); ?> </td> </tr> <? //disabled town $arTownOrderProps = array(); $dbProperties = CSaleOrderProps::GetList( array(), array( "ORDER_ID" => $ID, "PERSON_TYPE_ID" => $arPersonType["ID"], "ACTIVE" => "Y", ">INPUT_FIELD_LOCATION" => 0 ), false, false, array("INPUT_FIELD_LOCATION") ); while ($arProperties = $dbProperties->Fetch()) $arTownOrderProps[$arProperties["INPUT_FIELD_LOCATION"]] = $arProperties["INPUT_FIELD_LOCATION"]; $arEnableTownProps = array(); $arOrderPropsValue = array(); $dbOrderProps = CSaleOrderPropsValue::GetOrderProps($ID); while ($arOrderProps = $dbOrderProps->Fetch()) { $arOrderPropsValue[] = $arOrderProps; if ($arOrderProps["TYPE"] == "LOCATION" && $arOrderProps["ACTIVE"] == "Y" && $arOrderProps["IS_LOCATION"] == "Y" && in_array($arOrderProps["INPUT_FIELD_LOCATION"], $arTownOrderProps))
$val["PRICE"] -= $val["DISCOUNT_RATION_VALUE"]; $arBasket[$key] = $val; } return $arBasket; } if (CModule::IncludeModule("sale")) { if ($arOrder = CSaleOrder::GetByID($ORDER_ID)) { $rep_file_name = GetRealPath2Report($doc . ".php"); if (strlen($rep_file_name) <= 0) { ShowError("PRINT TEMPLATE NOT FOUND"); die; } $arOrderProps = array(); $dbOrderPropVals = CSaleOrderPropsValue::GetList(array(), array("ORDER_ID" => $ORDER_ID), false, false, array("ID", "CODE", "VALUE", "ORDER_PROPS_ID", "PROP_TYPE")); while ($arOrderPropVals = $dbOrderPropVals->Fetch()) { $arCurOrderPropsTmp = CSaleOrderProps::GetRealValue($arOrderPropVals["ORDER_PROPS_ID"], $arOrderPropVals["CODE"], $arOrderPropVals["PROP_TYPE"], $arOrderPropVals["VALUE"], LANGUAGE_ID); foreach ($arCurOrderPropsTmp as $key => $value) { $arOrderProps[$key] = $value; } } if (CSaleLocation::isLocationProMigrated()) { if (strlen($arOrderProps['LOCATION_VILLAGE']) && !strlen($arOrderProps['LOCATION_CITY'])) { $arOrderProps['LOCATION_CITY'] = $arOrderProps['LOCATION_VILLAGE']; } // street added to the beginning of address, as it used to be before if (strlen($arOrderProps['LOCATION_STREET']) && isset($arOrderProps['ADDRESS'])) { $arOrderProps['ADDRESS'] = $arOrderProps['LOCATION_STREET'] . (strlen($arOrderProps['ADDRESS']) ? ', ' . $arOrderProps['ADDRESS'] : ''); } } $arBasketIDs = array(); $arQuantities = array();
/** * функция по собыитию изминению закааза * функция добавляет значения-заглушку в свойство Адрес доставки */ function OnOrderAddHandler($ORDER_ID,$arOrder) { if(CModule::IncludeModule("sale")){ $db_props = CSaleOrderPropsValue::GetOrderProps($ORDER_ID); while ($arProps = $db_props->Fetch()) { if($arProps['CODE']=='ADDRESS'){ $address=true; } } if(!$address){ if ($arProp = CSaleOrderProps::GetList(array(), array('ORDER_ID'=>$ORDER_ID,'CODE' => 'ADDRESS'))->Fetch()) { CSaleOrderPropsValue::Add(array( 'NAME' => $arProp['NAME'], 'CODE' => $arProp['CODE'], 'ORDER_PROPS_ID' => $arProp['ID'], 'ORDER_ID' => $ORDER_ID, 'VALUE' => '777' )); } } } }
public static function getLocationPropertyInfo() { static $info; if ($info === null) { $info = array(); if (CSaleLocation::isLocationProMigrated()) { $res = CSaleOrderProps::GetList(array(), array('TYPE' => 'LOCATION'), false, false, array('ID', 'CODE')); while ($item = $res->fetch()) { $info['ID'][$item['ID']] = $item['CODE']; $info['CODE'][$item['CODE']] = $item['ID']; } } } return $info; }
function ShowStep() { $wizard =& $this->GetWizard(); $paySystem = $wizard->GetVar("paySystem"); $siteID = $wizard->GetVar("siteID"); $personType = $wizard->GetVar("personType"); CModule::IncludeModule("sale"); function LocalGetPSActionParams($fileName) { $arPSCorrespondence = array(); if (file_exists($fileName) && is_file($fileName)) { include $fileName; } return $arPSCorrespondence; } $dbPaySystem = CSalePaySystem::GetList(array("SORT" => "ASC"), array("ACTIVE" => "Y", "LID" => $siteID)); while ($arPaySystem = $dbPaySystem->GetNext()) { $arPaySystems[$arPaySystem["ID"]] = $arPaySystem["NAME"]; } $dbPersonType = CSalePersonType::GetList(array("SORT" => "ASC"), array("ACTIVE" => "Y", "LID" => $siteID)); while ($arPersonType = $dbPersonType->GetNext()) { $arPersons[$arPersonType["ID"]] = $arPersonType["NAME"]; } $arFieldsList["USER"] = array("ID" => GetMessage("SPS_USER_ID"), "LOGIN" => GetMessage("SPS_USER_LOGIN"), "NAME" => GetMessage("SPS_USER_NAME"), "LAST_NAME" => GetMessage("SPS_USER_LAST_NAME"), "EMAIL" => "EMail", "LID" => GetMessage("SPS_USER_SITE"), "PERSONAL_PROFESSION" => GetMessage("SPS_USER_PROF"), "PERSONAL_WWW" => GetMessage("SPS_USER_WEB"), "PERSONAL_ICQ" => GetMessage("SPS_USER_ICQ"), "PERSONAL_GENDER" => GetMessage("SPS_USER_SEX"), "PERSONAL_FAX" => GetMessage("SPS_USER_FAX"), "PERSONAL_MOBILE" => GetMessage("SPS_USER_PHONE"), "PERSONAL_STREET" => GetMessage("SPS_USER_ADDRESS"), "PERSONAL_MAILBOX" => GetMessage("SPS_USER_POST"), "PERSONAL_CITY" => GetMessage("SPS_USER_CITY"), "PERSONAL_STATE" => GetMessage("SPS_USER_STATE"), "PERSONAL_ZIP" => GetMessage("SPS_USER_ZIP"), "PERSONAL_COUNTRY" => GetMessage("SPS_USER_COUNTRY"), "WORK_COMPANY" => GetMessage("SPS_USER_COMPANY"), "WORK_DEPARTMENT" => GetMessage("SPS_USER_DEPT"), "WORK_POSITION" => GetMessage("SPS_USER_DOL"), "WORK_WWW" => GetMessage("SPS_USER_COM_WEB"), "WORK_PHONE" => GetMessage("SPS_USER_COM_PHONE"), "WORK_FAX" => GetMessage("SPS_USER_COM_FAX"), "WORK_STREET" => GetMessage("SPS_USER_COM_ADDRESS"), "WORK_MAILBOX" => GetMessage("SPS_USER_COM_POST"), "WORK_CITY" => GetMessage("SPS_USER_COM_CITY"), "WORK_STATE" => GetMessage("SPS_USER_COM_STATE"), "WORK_ZIP" => GetMessage("SPS_USER_COM_ZIP"), "WORK_COUNTRY" => GetMessage("SPS_USER_COM_COUNTRY")); $arFieldsList["ORDER"] = array("ID" => GetMessage("SPS_ORDER_ID"), "DATE_INSERT" => GetMessage("SPS_ORDER_DATETIME"), "DATE_INSERT_DATE" => GetMessage("SPS_ORDER_DATE"), "SHOULD_PAY" => GetMessage("SPS_ORDER_PRICE"), "CURRENCY" => GetMessage("SPS_ORDER_CURRENCY"), "PRICE" => GetMessage("SPS_ORDER_SUM"), "LID" => GetMessage("SPS_ORDER_SITE"), "PRICE_DELIVERY" => GetMessage("SPS_ORDER_PRICE_DELIV"), "DISCOUNT_VALUE" => GetMessage("SPS_ORDER_DESCOUNT"), "USER_ID" => GetMessage("SPS_ORDER_USER_ID"), "PAY_SYSTEM_ID" => GetMessage("SPS_ORDER_PS"), "DELIVERY_ID" => GetMessage("SPS_ORDER_DELIV"), "TAX_VALUE" => GetMessage("SPS_ORDER_TAX")); foreach ($personType as $personID) { $dbOrderProps = CSaleOrderProps::GetList(array("SORT" => "ASC", "NAME" => "ASC"), array("PERSON_TYPE_ID" => $personID), false, false, array("ID", "CODE", "NAME", "TYPE", "SORT", "PERSON_TYPE_ID")); while ($arOrderProps = $dbOrderProps->GetNext()) { $arFieldsList["PROPERTY"][$arOrderProps["PERSON_TYPE_ID"]][strlen($arOrderProps["CODE"]) > 0 ? $arOrderProps["CODE"] : $arOrderProps["ID"]] = $arOrderProps["NAME"]; if ($arOrderProps["TYPE"] == "LOCATION") { $arFieldsList["PROPERTY"][$arOrderProps["PERSON_TYPE_ID"]][(strlen($arOrderProps["CODE"]) > 0 ? $arOrderProps["CODE"] : $arOrderProps["ID"]) . "_COUNTRY"] = $arOrderProps["NAME"] . " (" . GetMessage("SPS_JCOUNTRY") . ")"; $arFieldsList["PROPERTY"][$arOrderProps["PERSON_TYPE_ID"]][(strlen($arOrderProps["CODE"]) > 0 ? $arOrderProps["CODE"] : $arOrderProps["ID"]) . "_CITY"] = $arOrderProps["NAME"] . " (" . GetMessage("SPS_JCITY") . ")"; } } } ?> <script type="text/javascript"> var arUserFieldsList = new Array(); var arUserFieldsNameList = new Array(); var arOrderFieldsList = new Array(); var arOrderFieldsNameList = new Array(); var arPropFieldsList = new Array(); var arPropFieldsNameList = new Array(); <?php $i = -1; foreach ($arFieldsList["USER"] as $k => $v) { $i++; ?> arUserFieldsList[<?php echo $i; ?> ] = "<?php echo $k; ?> "; arUserFieldsNameList[<?php echo $i; ?> ] = "<?php echo $v; ?> "; <?php } $i = -1; foreach ($arFieldsList["ORDER"] as $k => $v) { $i++; ?> arOrderFieldsList[<?php echo $i; ?> ] = "<?php echo $k; ?> "; arOrderFieldsNameList[<?php echo $i; ?> ] = "<?php echo $v; ?> "; <?php } $i = -1; foreach ($arFieldsList["PROPERTY"] as $k => $v) { ?> arPropFieldsList[<?php echo $k; ?> ] = new Array(); arPropFieldsNameList[<?php echo $k; ?> ] = new Array(); <?php foreach ($v as $k1 => $v1) { $i++; ?> arPropFieldsList[<?php echo $k; ?> ][<?php echo $i; ?> ] = "<?php echo $k1; ?> "; arPropFieldsNameList[<?php echo $k; ?> ][<?php echo $i; ?> ] = "<?php echo $v1; ?> "; <?php } } ?> function changeVariantList(id, value, ind) { var oValue1 = document.getElementById("VALUE1_" + id); var oValue2 = document.getElementById("VALUE2_" + id); var value1_length = oValue1.length; while (value1_length > 0) { value1_length--; oValue1.options[value1_length] = null; } value1_length = 0; if (value == "USER") { oValue2.style["display"] = "none"; oValue1.style["display"] = "block"; for (i = 0; i < arUserFieldsList.length; i++) { var newoption = new Option(arUserFieldsNameList[i], arUserFieldsList[i], false, false); oValue1.options[value1_length] = newoption; value1_length++; } } else { if (value == "ORDER") { oValue2.style["display"] = "none"; oValue1.style["display"] = "block"; for (i = 0; i < arOrderFieldsList.length; i++) { var newoption = new Option(arOrderFieldsNameList[i], arOrderFieldsList[i], false, false); oValue1.options[value1_length] = newoption; value1_length++; } } else { if (value == "PROPERTY") { oValue2.style["display"] = "none"; oValue1.style["display"] = "block"; for (i = 0; i < arPropFieldsList[ind].length; i++) { var newoption = new Option(arPropFieldsNameList[ind][i], arPropFieldsList[ind][i], false, false); oValue1.options[value1_length] = newoption; value1_length++; } } else { oValue1.style["display"] = "none"; oValue2.style["display"] = "block"; oValue2.value = ""; } } } } function ShowSet(id, action) { if(action == "show") { document.getElementById(id).style['display'] = "block"; document.getElementById(id+"-set").style['display'] = "none"; document.getElementById(id+"-unset").style['display'] = "block"; } else if(action == "hide") { document.getElementById(id).style['display'] = "none"; document.getElementById(id+"-set").style['display'] = "block"; document.getElementById(id+"-unset").style['display'] = "none"; } } </script> <?php $this->content .= GetMessage("WW_STEP4_1") . "<br /><br />"; $wizard =& $this->GetWizard(); foreach ($paySystem as $k => $v) { if (in_array($k, $personType)) { foreach ($v as $v1) { $dbPaySystemAction = CSalePaySystemAction::GetList(array("NAME" => "ASC"), array("PAY_SYSTEM_ID" => $v1)); if ($arPaySystemAction = $dbPaySystemAction->Fetch()) { $adit = array(); $this->content .= "<b>" . $arPaySystems[$v1] . "</b> - " . $arPersons[$k] . "<br />"; $arPSCorrespondence = LocalGetPSActionParams($_SERVER["DOCUMENT_ROOT"] . $arPaySystemAction["ACTION_FILE"] . "/.description.php"); $this->content .= "<div id=\"" . $v1 . "-" . $k . "-set\"><a href=\"javascript:ShowSet('" . $v1 . "-" . $k . "', 'show')\">" . GetMessage("WW_STEP4_2") . "</a></div>"; $this->content .= "<div id=\"" . $v1 . "-" . $k . "-unset\" style=\"display:none;\"><a href=\"javascript:ShowSet('" . $v1 . "-" . $k . "', 'hide')\">" . GetMessage("WW_STEP4_3") . "</a></div>"; $this->content .= "<div id=\"" . $v1 . "-" . $k . "\" style=\"display: none;\">"; $this->content .= "<link rel=\"stylesheet\" type=\"text/css\" href=\"/bitrix/wizards/bitrix/sale.install/styles.css\">"; $this->content .= "<table class=\"data-table\">"; $this->content .= "<tr><th>" . GetMessage("WW_STEP4_4") . "</th><td>" . $this->ShowCheckboxField("paySystemPopup[" . $v1 . "][" . $k . "]", "Y") . "</td></tr>"; foreach ($arPSCorrespondence as $k2 => $v2) { $arFList = array(); $this->content .= "<tr><th>"; $this->content .= $v2["NAME"] . "<br /><small>" . $v2["DESCR"] . "</small>"; $this->content .= "</th><td>"; $arTypes = array("PROPERTY" => GetMessage("WW_STEP4_5"), "ORDER" => GetMessage("WW_STEP4_6"), "USER" => GetMessage("WW_STEP4_7"), "" => GetMessage("WW_STEP4_8")); $this->content .= $this->ShowSelectField($v1 . "_" . $k2 . "_" . $k, $arTypes, array("onChange" => "changeVariantList('" . $v1 . "_" . $k2 . "_" . $k . "', this.value, '" . $k . "')", "id" => $v1 . "_" . $k2 . "_" . $k)); ${$v1 . "_" . $k2 . "_" . $k} = $wizard->GetVar($v1 . "_" . $k2 . "_" . $k, true); $this->content .= "<br />"; if (strlen(${$v1 . "_" . $k2 . "_" . $k}) > 0) { if (${$v1 . "_" . $k2 . "_" . $k} == "PROPERTY") { $arFList = $arFieldsList["PROPERTY"][$k]; } else { $arFList = $arFieldsList[${$v1 . "_" . $k2 . "_" . $k}]; } $this->content .= $this->ShowSelectField("VALUE1_" . $v1 . "_" . $k2 . "_" . $k, $arFList, array("id" => "VALUE1_" . $v1 . "_" . $k2 . "_" . $k)); $this->content .= $this->ShowInputField("text", "VALUE2_" . $v1 . "_" . $k2 . "_" . $k, array("id" => "VALUE2_" . $v1 . "_" . $k2 . "_" . $k, "style" => "display:none;", "size" => "20")); } else { $this->content .= $this->ShowSelectField("VALUE1_" . $v1 . "_" . $k2 . "_" . $k, array(), array("id" => "VALUE1_" . $v1 . "_" . $k2 . "_" . $k, "style" => "display:none;")); if ($k2 == "PATH_TO_STAMP") { $this->content .= $this->ShowHiddenField("stamp_img[]", "VALUE2_" . $v1 . "_" . $k2 . "_" . $k); $this->content .= $this->ShowFileField("VALUE2_" . $v1 . "_" . $k2 . "_" . $k . "_img", array("id" => "VALUE2_" . $v1 . "_" . $k2 . "_" . $k, "size" => "20")); $img = $wizard->GetVar("VALUE2_" . $v1 . "_" . $k2 . "_" . $k, true); if (strlen($img) > 0) { $this->content .= "<br />" . CFile::ShowImage($img, 50, 50, "border=\"0\"", "", true) . "<br />"; } } else { $this->content .= $this->ShowInputField("text", "VALUE2_" . $v1 . "_" . $k2 . "_" . $k, array("id" => "VALUE2_" . $v1 . "_" . $k2 . "_" . $k, "size" => "20")); } } $this->content .= "</td></tr>"; } $this->content .= "</table></div><br />"; } } } } }
{ $dbPS = CSalePaySystem::GetList(Array(), Array("LID" => WIZARD_SITE_ID)); if($arPS = $dbPS->Fetch()) $paySystem = $arPS["ID"]; } if(IntVal($location) <= 0) { $dbLocation = CSaleLocation::GetList(Array("ID" => "ASC"), Array("LID" => $lang)); if($arLocation = $dbLocation->Fetch()) { $location = $arLocation["ID"]; } } if(empty($arGeneralInfo["properies"][$personType])) { $dbProp = CSaleOrderProps::GetList(array(), Array("PERSON_TYPE_ID" => $personType)); while($arProp = $dbProp->Fetch()) $arGeneralInfo["properies"][$personType][$arProp["CODE"]] = $arProp; } if(WIZARD_INSTALL_DEMO_DATA) { $db_sales = CSaleOrder::GetList(array("DATE_INSERT" => "ASC"), array("LID" => WIZARD_SITE_ID), false, false, array("ID")); while ($ar_sales = $db_sales->Fetch()) { CSaleOrder::Delete($ar_sales["ID"]); } } $arData = Array(
if ($str_IS_LOCATION == "Y") { echo "checked"; } echo $disMulti; ?> ><br> <small><?php echo GetMessage("F_IS_LOCATION_DESCR"); ?> </small><br> </td> </tr> <?php $arFilter = array("PERSON_TYPE_ID" => IntVal($arPersonType["ID"]), "TYPE" => "TEXT", "ACTIVE" => "Y"); $dbAlterLocList = CSaleOrderProps::GetList(array(), $arFilter, false, false, array("ID", "NAME")); ?> <tr id="SHOW_TEXT_LOCATION"> <td width="40%"><?php echo GetMessage("F_ANOTHER_LOCATION"); ?> :</td> <td width="60%"> <select name="INPUT_FIELD_LOCATION" id="INPUT_FIELD_LOCATION"> <option value=""><?php echo GetMessage("NULL_ANOTHER_LOCATION"); ?> </option> <?php while ($arAlterLocList = $dbAlterLocList->Fetch()) { ?>
</td> </tr> <? $tabControl->EndCustomField("ORDER_PAYED"); } // order properties related to the delivery and payment systems $html = ""; $arRelFilter = array(); $arRelFilter["RELATED"]["DELIVERY_ID"] = $str_DELIVERY_ID; $arRelFilter["RELATED"]["PAYSYSTEM_ID"] = $str_PAY_SYSTEM_ID; if (isset($arRelFilter["RELATED"]) && (strlen($arRelFilter["RELATED"]["DELIVERY_ID"]) > 0 || intval($arRelFilter["RELATED"]["PAYSYSTEM_ID"]) > 0)) { $dbRelatedProps = CSaleOrderProps::GetList(array(), $arRelFilter, false, false, array("*")); while ($arRelatedProps = $dbRelatedProps->GetNext()) $arProps[] = $arRelatedProps; $arPropsValues = array(); if (!$bVarsFromForm) { $dbPropValue = CSaleOrderPropsValue::GetOrderRelatedProps($ID, $arRelFilter["RELATED"]); while ($arValue = $dbPropValue->GetNext()) $arPropsValues[$arValue["ORDER_PROPS_ID"]] = $arValue["VALUE"]; } $propsHTML = getOrderPropertiesHTML($arProps, $arPropsValues, $LID, $str_USER_ID, $ID, $bVarsFromForm); } $tabControl->AddSection("RELATED_PROPS", GetMessage("NEW_ORDER_RELATED_PROPS"));
$order['location'] = $order['delivery']['address']['city']; } if (isset($order['orderType']) && isset($optionsOrderTypes[ $order['orderType'] ])) { if (isset($optionsOrderProps[$arFields['PERSON_TYPE_ID']])) { foreach ($optionsOrderProps[$arFields['PERSON_TYPE_ID']] as $code => $value) { if (in_array($code, array_keys($order)) === false && isset($optionsOrderProps[$optionsOrderTypes[$order['orderType']]][$code])) { $order[ $code ] = $arUpdateProps[$optionsOrderProps[$arFields['PERSON_TYPE_ID']][$code]]['VALUE']; } } } //update ordertype CSaleOrder::Update($order['externalId'], array('PERSON_TYPE_ID' => $optionsOrderTypes[ $order['orderType'] ])); $arProp = CSaleOrderProps::GetList(array(), array('PERSON_TYPE_ID' => $optionsOrderTypes[ $order['orderType'] ])); $typeParam = array(); while ($ar = $arProp->Fetch()) { $typeParam[ $ar['CODE'] ] = $ar['CODE']; } foreach (array_diff_key($arUpdateProps, $typeParam) as $code => $param) { if (isset($arUpdateProps[$code])) { CSaleOrderPropsValue::Delete($param['ID']); } } $arFields['PERSON_TYPE_ID'] = $optionsOrderTypes[ $order['orderType'] ]; } array_walk_recursive( ICrmOrderActions::clearArr($order), 'ICrmOrderActions::recursiveUpdate',
function Update($ID, $arFields) { global $DB; $ID = IntVal($ID); if (!CSaleOrderProps::CheckFields("UPDATE", $arFields, $ID)) { return false; } $strUpdate = $DB->PrepareUpdate("b_sale_order_props", $arFields); $strSql = "UPDATE b_sale_order_props SET " . $strUpdate . " WHERE ID = " . $ID . ""; $DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__); return $ID; }
function getOrderPropFormated($arProperties, $arResult, &$arUserResult, &$arDeleteFieldLocation = array()) { global $USER; $curVal = $arUserResult["ORDER_PROP"][$arProperties["ID"]]; $curLocation = false; static $propertyGroupID = 0; static $propertyUSER_PROPS = ""; // take data from user profile if ($arUserResult["PROFILE_CHANGE"] == "Y" && intval($arUserResult["PROFILE_ID"]) > 0 && !($arResult["HAVE_PREPAYMENT"] && $arUserResult["PROFILE_DEFAULT"] == "Y" && !empty($arResult["PREPAY_ORDER_PROPS"][$arProperties["CODE"]]))) { $dbUserPropsValues = CSaleOrderUserPropsValue::GetList(array("SORT" => "ASC"), array("USER_PROPS_ID" => $arUserResult["PROFILE_ID"], "ORDER_PROPS_ID" => $arProperties["ID"], "USER_ID" => intval($USER->GetID())), false, false, array("VALUE", "PROP_TYPE", "VARIANT_NAME", "SORT", "ORDER_PROPS_ID")); if ($arUserPropsValues = $dbUserPropsValues->Fetch()) { $valueTmp = ""; if ($arUserPropsValues["PROP_TYPE"] == "MULTISELECT") { $arUserPropsValues["VALUE"] = explode(",", $arUserPropsValues["VALUE"]); } $curVal = $arUserPropsValues["VALUE"]; } } elseif ($arUserResult["PROFILE_CHANGE"] == "Y" && intval($arUserResult["PROFILE_ID"]) <= 0) { if (isset($curVal)) { unset($curVal); } } elseif (isset($arUserResult["ORDER_PROP"][$arProperties["ID"]])) { $curVal = $arUserResult["ORDER_PROP"][$arProperties["ID"]]; } elseif ($arResult["HAVE_PREPAYMENT"] && !empty($arResult["PREPAY_ORDER_PROPS"][$arProperties["CODE"]])) { $curVal = $arResult["PREPAY_ORDER_PROPS"][$arProperties["CODE"]]; if ($arProperties["TYPE"] == "LOCATION") { $curLocation = $curVal; } } if (intval($_REQUEST["NEW_LOCATION_" . $arProperties["ID"]]) > 0) { $curVal = intval($_REQUEST["NEW_LOCATION_" . $arProperties["ID"]]); } $arProperties["FIELD_NAME"] = "ORDER_PROP_" . $arProperties["ID"]; if (strlen($arProperties["CODE"]) > 0) { $arProperties["FIELD_ID"] = "ORDER_PROP_" . $arProperties["CODE"]; } else { $arProperties["FIELD_ID"] = "ORDER_PROP_" . $arProperties["ID"]; } if (intval($arProperties["PROPS_GROUP_ID"]) != $propertyGroupID || $propertyUSER_PROPS != $arProperties["USER_PROPS"]) { $arProperties["SHOW_GROUP_NAME"] = "Y"; } $propertyGroupID = $arProperties["PROPS_GROUP_ID"]; $propertyUSER_PROPS = $arProperties["USER_PROPS"]; if ($arProperties["REQUIED"] == "Y" || $arProperties["IS_EMAIL"] == "Y" || $arProperties["IS_PROFILE_NAME"] == "Y" || $arProperties["IS_LOCATION"] == "Y" || $arProperties["IS_LOCATION4TAX"] == "Y" || $arProperties["IS_PAYER"] == "Y" || $arProperties["IS_ZIP"] == "Y") { $arProperties["REQUIED_FORMATED"] = "Y"; } if ($arProperties["TYPE"] == "CHECKBOX") { if ($curVal == "Y" || !isset($curVal) && $arProperties["DEFAULT_VALUE"] == "Y") { $arProperties["CHECKED"] = "Y"; $arProperties["VALUE_FORMATED"] = GetMessage("SOA_Y"); } else { $arProperties["VALUE_FORMATED"] = GetMessage("SOA_N"); } $arProperties["SIZE1"] = intval($arProperties["SIZE1"]) > 0 ? $arProperties["SIZE1"] : 30; } elseif ($arProperties["TYPE"] == "TEXT") { if (strlen($curVal) <= 0) { if (strlen($arProperties["DEFAULT_VALUE"]) > 0 && !isset($curVal)) { $arProperties["VALUE"] = $arProperties["DEFAULT_VALUE"]; } elseif ($arProperties["IS_EMAIL"] == "Y") { $arProperties["VALUE"] = $USER->GetEmail(); } elseif ($arProperties["IS_PAYER"] == "Y") { //$arProperties["VALUE"] = $USER->GetFullName(); $rsUser = CUser::GetByID($USER->GetID()); $fio = ""; if ($arUser = $rsUser->Fetch()) { $fio = CUser::FormatName(CSite::GetNameFormat(false), array("NAME" => $arUser["NAME"], "LAST_NAME" => $arUser["LAST_NAME"], "SECOND_NAME" => $arUser["SECOND_NAME"]), false, false); } $arProperties["VALUE"] = $fio; } } else { $arProperties["VALUE"] = $curVal; } //select ZIP for LOCATION if ($arProperties["IS_ZIP"] == "Y" && $arUserResult["PROFILE_CHANGE"] == "N") { $dbPropertiesLoc = CSaleOrderProps::GetList(array("ID" => "DESC"), array("PERSON_TYPE_ID" => $arUserResult["PERSON_TYPE_ID"], "ACTIVE" => "Y", "UTIL" => "N", "IS_LOCATION" => "Y"), false, false, array("ID")); $arPropertiesLoc = $dbPropertiesLoc->Fetch(); if ($arPropertiesLoc["ID"] > 0) { $arZipLocation = array(); if (strlen($curVal) > 0) { $arZipLocation = CSaleLocation::GetByZIP($curVal); } $rsZipList = CSaleLocation::GetLocationZIP($arUserResult["ORDER_PROP"][$arPropertiesLoc["ID"]]); if ($arZip = $rsZipList->Fetch()) { if (strlen($arZip["ZIP"]) > 0 && (empty($arZipLocation) || $arZipLocation["ID"] != $arUserResult["ORDER_PROP"][$arPropertiesLoc["ID"]])) { $arProperties["VALUE"] = $arZip["ZIP"]; } } } } if ($arProperties["IS_ZIP"] == "Y") { $arUserResult["DELIVERY_LOCATION_ZIP"] = $arProperties["VALUE"]; } $arProperties["VALUE"] = htmlspecialcharsEx($arProperties["VALUE"]); $arProperties["VALUE_FORMATED"] = $arProperties["VALUE"]; } elseif ($arProperties["TYPE"] == "SELECT") { $arProperties["SIZE1"] = intval($arProperties["SIZE1"]) > 0 ? $arProperties["SIZE1"] : 1; $dbVariants = CSaleOrderPropsVariant::GetList(array("SORT" => "ASC", "NAME" => "ASC"), array("ORDER_PROPS_ID" => $arProperties["ID"]), false, false, array("*")); $flagDefault = "N"; $nameProperty = ""; while ($arVariants = $dbVariants->GetNext()) { if ($flagDefault == "N" && $nameProperty == "") { $nameProperty = $arVariants["NAME"]; } if ($arVariants["VALUE"] == $curVal || (!isset($curVal) || $curVal == "") && $arVariants["VALUE"] == $arProperties["DEFAULT_VALUE"]) { $arVariants["SELECTED"] = "Y"; $arProperties["VALUE_FORMATED"] = $arVariants["NAME"]; $flagDefault = "Y"; } $arProperties["VARIANTS"][] = $arVariants; } if ($flagDefault == "N") { $arProperties["VARIANTS"][0]["SELECTED"] = "Y"; $arProperties["VARIANTS"][0]["VALUE_FORMATED"] = $nameProperty; } } elseif ($arProperties["TYPE"] == "MULTISELECT") { $arProperties["FIELD_NAME"] = "ORDER_PROP_" . $arProperties["ID"] . '[]'; $arProperties["SIZE1"] = intval($arProperties["SIZE1"]) > 0 ? $arProperties["SIZE1"] : 5; $arDefVal = explode(",", $arProperties["DEFAULT_VALUE"]); $countDefVal = count($arDefVal); for ($i = 0; $i < $countDefVal; $i++) { $arDefVal[$i] = Trim($arDefVal[$i]); } $dbVariants = CSaleOrderPropsVariant::GetList(array("SORT" => "ASC"), array("ORDER_PROPS_ID" => $arProperties["ID"]), false, false, array("*")); $i = 0; while ($arVariants = $dbVariants->GetNext()) { if (is_array($curVal) && in_array($arVariants["VALUE"], $curVal) || !isset($curVal) && in_array($arVariants["VALUE"], $arDefVal)) { $arVariants["SELECTED"] = "Y"; if ($i > 0) { $arProperties["VALUE_FORMATED"] .= ", "; } $arProperties["VALUE_FORMATED"] .= $arVariants["NAME"]; $i++; } $arProperties["VARIANTS"][] = $arVariants; } } elseif ($arProperties["TYPE"] == "TEXTAREA") { $arProperties["SIZE2"] = intval($arProperties["SIZE2"]) > 0 ? $arProperties["SIZE2"] : 4; $arProperties["SIZE1"] = intval($arProperties["SIZE1"]) > 0 ? $arProperties["SIZE1"] : 40; $arProperties["VALUE"] = htmlspecialcharsEx(isset($curVal) ? $curVal : $arProperties["DEFAULT_VALUE"]); $arProperties["VALUE_FORMATED"] = $arProperties["VALUE"]; } elseif ($arProperties["TYPE"] == "LOCATION") { //enable location town text if ($_REQUEST["is_ajax_post"] == "Y" && $arProperties["IS_LOCATION"] == "Y" && intval($arProperties["INPUT_FIELD_LOCATION"]) > 0 && isset($_REQUEST["ORDER_PROP_" . $arProperties["ID"]])) { $rsLocationsList = CSaleLocation::GetList(array(), array("ID" => $curVal), false, false, array("ID", "CITY_ID")); $arCity = $rsLocationsList->GetNext(); if (intval($arCity["CITY_ID"]) <= 0) { unset($arDeleteFieldLocation[$arProperties["ID"]]); } else { $arDeleteFieldLocation[$arProperties["ID"]] = $arProperties["INPUT_FIELD_LOCATION"]; } } elseif ($arProperties["IS_LOCATION"] == "Y" && intval($arProperties["INPUT_FIELD_LOCATION"]) > 0) { $arDeleteFieldLocation[$arProperties["ID"]] = $arProperties["INPUT_FIELD_LOCATION"]; } $arProperties["SIZE1"] = intval($arProperties["SIZE1"]) > 0 ? $arProperties["SIZE1"] : 1; $dbVariants = CSaleLocation::GetList(array("SORT" => "ASC", "COUNTRY_NAME_LANG" => "ASC", "CITY_NAME_LANG" => "ASC"), array("LID" => LANGUAGE_ID), false, false, array("ID", "COUNTRY_NAME", "CITY_NAME", "SORT", "COUNTRY_NAME_LANG", "CITY_NAME_LANG")); while ($arVariants = $dbVariants->GetNext()) { if (intval($arVariants["ID"]) == intval($curVal) || !isset($curVal) && intval($arVariants["ID"]) == intval($arProperties["DEFAULT_VALUE"]) || strlen($curLocation) > 0 && ToUpper($curLocation) == ToUpper($arVariants["CITY_NAME"])) { $arVariants["SELECTED"] = "Y"; $arProperties["VALUE_FORMATED"] = $arVariants["COUNTRY_NAME"] . (strlen($arVariants["CITY_NAME"]) > 0 ? " - " : "") . $arVariants["CITY_NAME"]; $arProperties["VALUE"] = $arVariants["ID"]; if ($arProperties["IS_LOCATION"] == "Y") { $arUserResult["DELIVERY_LOCATION"] = $arProperties["VALUE"]; } if ($arProperties["IS_LOCATION4TAX"] == "Y") { $arUserResult["TAX_LOCATION"] = $arProperties["VALUE"]; } } $arVariants["NAME"] = $arVariants["COUNTRY_NAME"] . (strlen($arVariants["CITY_NAME"]) > 0 ? " - " : "") . $arVariants["CITY_NAME"]; $arProperties["VARIANTS"][] = $arVariants; } if (count($arProperties["VARIANTS"]) == 1) { $arProperties["VALUE"] = $arProperties["VARIANTS"][0]["ID"]; if ($arProperties["IS_LOCATION"] == "Y") { $arUserResult["DELIVERY_LOCATION"] = $arProperties["VALUE"]; } if ($arProperties["IS_LOCATION4TAX"] == "Y") { $arUserResult["TAX_LOCATION"] = $arProperties["VALUE"]; } } } elseif ($arProperties["TYPE"] == "RADIO") { $dbVariants = CSaleOrderPropsVariant::GetList(array("SORT" => "ASC"), array("ORDER_PROPS_ID" => $arProperties["ID"]), false, false, array("*")); while ($arVariants = $dbVariants->GetNext()) { if ($arVariants["VALUE"] == $curVal || !isset($curVal) && $arVariants["VALUE"] == $arProperties["DEFAULT_VALUE"]) { $arVariants["CHECKED"] = "Y"; $arProperties["VALUE_FORMATED"] = $arVariants["NAME"]; } $arProperties["VARIANTS"][] = $arVariants; } } elseif ($arProperties["TYPE"] == "FILE") { $arProperties["SIZE1"] = intval($arProperties["SIZE1"]); $arProperties["VALUE"] = isset($curVal) ? CSaleHelper::getFileInfo($curVal) : $arProperties["DEFAULT_VALUE"]; } return $arProperties; }
/** * <p>Функция удаляет тип плательщика с кодом ID. Так же удаляются все связанные данные. Если есть заказы, привязанные к этому типу плательщика, то тип плательщика не может быть удален. </p> * * * * * @param int $ID Код типа плательщика. * * * * @return bool <p>Возвращается <i>true</i> в случае успешного удаления и <i>false</i> - в * противном случае.</p><br><br> * * @static * @link http://dev.1c-bitrix.ru/api_help/sale/classes/csalepersontype/csalepersontype__delete.c2566ed3.php * @author Bitrix */ public static function Delete($ID) { global $DB; $ID = IntVal($ID); $db_orders = CSaleOrder::GetList( array("DATE_UPDATE" => "DESC"), array("PERSON_TYPE_ID" => $ID), false, array("nTopCount" => 1), array("ID") ); if ($db_orders->Fetch()) { $GLOBALS["APPLICATION"]->ThrowException(GetMessage("SKGP_ERROR_PERSON_HAS_ORDER").$ID, "ERROR_PERSON_HAS_ORDER"); return False; } $db_events = GetModuleEvents("sale", "OnBeforePersonTypeDelete"); while ($arEvent = $db_events->Fetch()) if (ExecuteModuleEventEx($arEvent, Array($ID))===false) return false; $events = GetModuleEvents("sale", "OnPersonTypeDelete"); while ($arEvent = $events->Fetch()) ExecuteModuleEventEx($arEvent, Array($ID)); $DB->Query("DELETE FROM b_sale_pay_system_action WHERE PERSON_TYPE_ID = ".$ID."", true); $db_orderProps = CSaleOrderProps::GetList( array("PROPS_GROUP_ID" => "ASC"), array("PERSON_TYPE_ID" => $ID) ); while ($arOrderProps = $db_orderProps->Fetch()) { $DB->Query("DELETE FROM b_sale_order_props_variant WHERE ORDER_PROPS_ID = ".$arOrderProps["ID"]."", true); $DB->Query("DELETE FROM b_sale_order_props_value WHERE ORDER_PROPS_ID = ".$arOrderProps["ID"]."", true); $DB->Query("DELETE FROM b_sale_user_props_value WHERE ORDER_PROPS_ID = ".$arOrderProps["ID"]."", true); } $DB->Query("DELETE FROM b_sale_order_props WHERE PERSON_TYPE_ID = ".$ID."", true); $db_orderUserProps = CSaleOrderUserProps::GetList( array("NAME" => "ASC"), array("PERSON_TYPE_ID" => $ID) ); while ($arOrderUserProps = $db_orderUserProps->Fetch()) { $DB->Query("DELETE FROM b_sale_user_props_value WHERE USER_PROPS_ID = ".$arOrderUserProps["ID"]."", true); } $DB->Query("DELETE FROM b_sale_user_props WHERE PERSON_TYPE_ID = ".$ID."", true); $DB->Query("DELETE FROM b_sale_order_props_group WHERE PERSON_TYPE_ID = ".$ID."", true); $DB->Query("DELETE FROM b_sale_person_type_site WHERE PERSON_TYPE_ID=".$ID, true); unset($GLOBALS["SALE_PERSON_TYPE_LIST_CACHE"]); return $DB->Query("DELETE FROM b_sale_person_type WHERE ID = ".$ID."", true); }
static function Update($profileID, $arFields) { global $DB; $result = new WS_SaleUserProfilesErrorsContainer(); if (empty($profileID)) { return $result->addErrorString(GetMessage("ws.saleuserprofiles_save_error_required_id")); } $DB->StartTransaction(); if (!empty($arFields["PROPS"])) { $props = $arFields["PROPS"]; unset($arFields["PROPS"]); } // сохраняем поля if (!empty($arFields)) { if(!$profileID = CSaleOrderUserProps::Update($profileID, $arFields)){ $result->addErrorString(GetMessage("ws.saleuserprofiles_save_error_save_fields")); } else { $arFields = CSaleOrderUserProps::GetByID($profileID); } } // сохраняем свойства if (!empty($props) && !$result->getErrorsAsString()) { // удаляем все свойства CSaleOrderUserPropsValue::DeleteAll($profileID); $res = CSaleOrderProps::GetList(array(), array("PERSON_TYPE_ID" => $arFields["PERSON_TYPE_ID"], "USER_PROPS" => "Y"), false, false, array()); while ($arRes = $res->Fetch()) { if ($arRes['REQUIED'] === 'Y' && empty($props[$arRes['ID']])) { $result->addErrorString(GetMessage("ws.saleuserprofiles_save_error_required_field") . "\"" . $arRes["NAME"] . "\""); continue; } $arValueTemp = $props[$arRes['ID']]; if (is_array($arValueTemp)) { $arValueTemp = ""; for ($i = 0; $i < count($props[$arRes['ID']]); $i++) { if ($i > 0) { $arValueTemp .= ","; } $arValueTemp .= $props[$arRes['ID']][$i]; } } $arProp = array( "VALUE" => $arValueTemp, "NAME" => $arRes["NAME"], "ORDER_PROPS_ID" => $arRes['ID'], "USER_PROPS_ID" => $profileID ); CSaleOrderUserPropsValue::Add($arProp); } } if ($result->getErrorsAsString()) { $DB->Rollback(); } else { $DB->Commit(); } return $result; }
function Add($arFields) { global $DB; if (!CSaleOrderProps::CheckFields("ADD", $arFields)) { return false; } $arInsert = $DB->PrepareInsert("b_sale_order_props", $arFields); $strSql = "INSERT INTO b_sale_order_props(" . $arInsert[0] . ") " . "VALUES(" . $arInsert[1] . ")"; $DB->Query($strSql, false, "File: " . __FILE__ . "<br>Line: " . __LINE__); $ID = IntVal($DB->LastID()); return $ID; }
$dbOrderPropsGroup = CSaleOrderPropsGroup::GetList( array("SORT" => "ASC", "NAME" => "ASC"), array("PERSON_TYPE_ID" => $arUserProps["PERSON_TYPE_ID"]), false, false, array("ID", "PERSON_TYPE_ID", "NAME", "SORT") ); while ($arOrderPropsGroup = $dbOrderPropsGroup->GetNext()) { $arrayTmp[$arOrderPropsGroup["ID"]] = $arOrderPropsGroup; $dbOrderProps = CSaleOrderProps::GetList( array("SORT" => "ASC", "NAME" => "ASC"), array( "PERSON_TYPE_ID" => $arUserProps["PERSON_TYPE_ID"], "PROPS_GROUP_ID" => $arOrderPropsGroup["ID"], "USER_PROPS" => "Y", "ACTIVE" => "Y", "UTIL" => "N" ), false, false, array("ID", "PERSON_TYPE_ID", "NAME", "TYPE", "REQUIED", "DEFAULT_VALUE", "SORT", "USER_PROPS", "IS_LOCATION", "PROPS_GROUP_ID", "SIZE1", "SIZE2", "DESCRIPTION", "IS_EMAIL", "IS_PROFILE_NAME", "IS_PAYER", "IS_LOCATION4TAX", "CODE", "SORT") ); while($arOrderProps = $dbOrderProps->GetNext()) { if ($arOrderProps["REQUIED"]=="Y" || $arOrderProps["IS_EMAIL"]=="Y" || $arOrderProps["IS_PROFILE_NAME"]=="Y" || $arOrderProps["IS_LOCATION"]=="Y" || $arOrderProps["IS_PAYER"]=="Y") $arOrderProps["REQUIED"] = "Y"; if (in_array($arOrderProps["TYPE"], Array("SELECT", "MULTISELECT", "RADIO"))) { $dbVars = CSaleOrderPropsVariant::GetList(($by="SORT"), ($order="ASC"), Array("ORDER_PROPS_ID"=>$arOrderProps["ID"])); while ($vars = $dbVars->GetNext()) $arOrderProps["VALUES"][] = $vars; }
$tabControl1->Begin(); foreach ($arPersonTypeList as $arPersonType) { $tabControl1->BeginNextTab(); ?> <script language="JavaScript"> <!-- arPropFieldsList[<?php echo $arPersonType["ID"]; ?> ] = new Array(); arPropFieldsNameList[<?php echo $arPersonType["ID"]; ?> ] = new Array(); <?php $dbOrderProps = CSaleOrderProps::GetList(array("SORT" => "ASC", "NAME" => "ASC"), array("PERSON_TYPE_ID" => $arPersonType["ID"]), false, false, array("ID", "CODE", "NAME", "TYPE", "SORT")); $i = -1; while ($arOrderProps = $dbOrderProps->Fetch()) { $i++; ?> arPropFieldsList[<?php echo $arPersonType["ID"]; ?> ][<?php echo $i; ?> ] = '<?php echo CUtil::JSEscape(strlen($arOrderProps["CODE"]) > 0 ? $arOrderProps["CODE"] : $arOrderProps["ID"]); ?> '; arPropFieldsNameList[<?php
<?php if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) { die; } $arYesNo = array("Y" => GetMessage("SOF_DESC_YES"), "N" => GetMessage("SOF_DESC_NO")); $arComponentParameters = array("PARAMETERS" => array("PATH_TO_BASKET" => array("NAME" => GetMessage("SOF_PATH_TO_BASKET"), "TYPE" => "STRING", "MULTIPLE" => "N", "DEFAULT" => "basket.php", "COLS" => 25, "PARENT" => "ADDITIONAL_SETTINGS"), "PATH_TO_PERSONAL" => array("NAME" => GetMessage("SOF_PATH_TO_PERSONAL"), "TYPE" => "STRING", "MULTIPLE" => "N", "DEFAULT" => "index.php", "COLS" => 25, "PARENT" => "ADDITIONAL_SETTINGS"), "PATH_TO_AUTH" => array("NAME" => GetMessage("SOF_PATH_TO_AUTH"), "TYPE" => "STRING", "MULTIPLE" => "N", "DEFAULT" => "/auth.php", "COLS" => 25, "PARENT" => "ADDITIONAL_SETTINGS"), "PATH_TO_PAYMENT" => array("NAME" => GetMessage("SOF_PATH_TO_PAYMENT"), "TYPE" => "STRING", "MULTIPLE" => "N", "DEFAULT" => "payment.php", "COLS" => 25, "PARENT" => "ADDITIONAL_SETTINGS"), "ALLOW_PAY_FROM_ACCOUNT" => array("NAME" => GetMessage("SOF_ALLOW_PAY_FROM_ACCOUNT"), "TYPE" => "LIST", "MULTIPLE" => "N", "VALUES" => array("N" => GetMessage("SOF_DESC_NO"), "Y" => GetMessage("SOF_DESC_YES")), "DEFAULT" => "Y", "ADDITIONAL_VALUES" => "N", "PARENT" => "BASE"), "SHOW_MENU" => array("NAME" => GetMessage("SOF_SHOW_MENU"), "TYPE" => "LIST", "MULTIPLE" => "N", "VALUES" => array("N" => GetMessage("SOF_DESC_NO"), "Y" => GetMessage("SOF_DESC_YES")), "DEFAULT" => "Y", "ADDITIONAL_VALUES" => "N", "PARENT" => "BASE"), "USE_AJAX_LOCATIONS" => array("NAME" => GetMessage("SOF_USE_AJAX_LOCATIONS"), "TYPE" => "CHECKBOX", "MULTIPLE" => "N", "DEFAULT" => "Y", "PARENT" => "ADDITIONAL_SETTINGS"), "SHOW_AJAX_DELIVERY_LINK" => array("NAME" => GetMessage('SOF_SHOW_AJAX_DELIVERY_LINK'), "TYPE" => "LIST", "MULTIPLE" => "N", "VALUES" => array("Y" => GetMessage('SOF_SHOW_AJAX_DELIVERY_LINK_Y'), "N" => GetMessage('SOF_SHOW_AJAX_DELIVERY_LINK_N'), "S" => GetMessage('SOF_SHOW_AJAX_DELIVERY_LINK_S')), "DEFAULT" => "Y", "PARENT" => "ADDITIONAL_SETTINGS"), "CITY_OUT_LOCATION" => array("NAME" => GetMessage("SALE_SOF_PARAM_CITY_OUT_LOCATION"), "TYPE" => "CHECKBOX", "DEFAULT" => "Y", "ADDITIONAL_VALUES" => "N", "MULTIPLE" => "N", "PARENT" => "BASE"), "COUNT_DELIVERY_TAX" => array("NAME" => GetMessage("SOF_COUNT_DELIVERY_TAX"), "TYPE" => "LIST", "MULTIPLE" => "N", "VALUES" => array("N" => GetMessage("SOF_DESC_NO"), "Y" => GetMessage("SOF_DESC_YES")), "DEFAULT" => "N", "ADDITIONAL_VALUES" => "N", "PARENT" => "BASE"), "COUNT_DISCOUNT_4_ALL_QUANTITY" => array("NAME" => GetMessage("SOF_COUNT_DISCOUNT_4_ALL_QUANTITY"), "TYPE" => "LIST", "MULTIPLE" => "N", "VALUES" => array("N" => GetMessage("SOF_DESC_NO"), "Y" => GetMessage("SOF_DESC_YES")), "DEFAULT" => "N", "ADDITIONAL_VALUES" => "N", "PARENT" => "BASE"), "SET_TITLE" => array(), "PRICE_VAT_INCLUDE" => array("NAME" => GetMessage('SOF_VAT_INCLUDE'), "TYPE" => "CHECKBOX", "MULTIPLE" => "N", "DEFAULT" => "Y", "ADDITIONAL_VALUES" => "N", "PARENT" => "ADDITIONAL_SETTINGS"), "PRICE_VAT_SHOW_VALUE" => array("NAME" => GetMessage('SOF_VAT_SHOW_VALUE'), "TYPE" => "CHECKBOX", "MULTIPLE" => "N", "DEFAULT" => "Y", "ADDITIONAL_VALUES" => "N", "PARENT" => "ADDITIONAL_SETTINGS"), "ONLY_FULL_PAY_FROM_ACCOUNT" => array("NAME" => GetMessage("SOF_ONLY_FULL_PAY_FROM_ACCOUNT"), "TYPE" => "LIST", "MULTIPLE" => "N", "VALUES" => array("N" => GetMessage("SOF_DESC_NO"), "Y" => GetMessage("SOF_DESC_YES")), "DEFAULT" => "N", "ADDITIONAL_VALUES" => "N", "PARENT" => "BASE"), "SEND_NEW_USER_NOTIFY" => array("NAME" => GetMessage("SOA_SEND_NEW_USER_NOTIFY"), "TYPE" => "CHECKBOX", "DEFAULT" => "Y", "PARENT" => "BASE"), "DELIVERY_NO_SESSION" => array("NAME" => GetMessage("SOA_DELIVERY_NO_SESSION"), "TYPE" => "CHECKBOX", "MULTIPLE" => "N", "DEFAULT" => "N", "PARENT" => "BASE"))); if (CModule::IncludeModule("sale")) { $dbPerson = CSalePersonType::GetList(array("SORT" => "ASC", "NAME" => "ASC")); while ($arPerson = $dbPerson->GetNext()) { $arPers2Prop = array("" => GetMessage("SOF_SHOW_ALL")); $bProp = false; $dbProp = CSaleOrderProps::GetList(array("SORT" => "ASC", "NAME" => "ASC"), array("PERSON_TYPE_ID" => $arPerson["ID"])); while ($arProp = $dbProp->GetNext()) { $arPers2Prop[$arProp["ID"]] = $arProp["NAME"]; $bProp = true; } if ($bProp) { $arComponentParameters["PARAMETERS"]["PROP_" . $arPerson["ID"]] = array("NAME" => GetMessage("SOF_PROPS_NOT_SHOW") . " \"" . $arPerson["NAME"] . "\" (" . $arPerson["LID"] . ")", "TYPE" => "LIST", "MULTIPLE" => "Y", "VALUES" => $arPers2Prop, "DEFAULT" => "", "COLS" => 25, "ADDITIONAL_VALUES" => "N", "PARENT" => "BASE"); } } }
static function DoSaveOrder(&$arOrder, $arAdditionalFields, $orderId, &$arErrors, $arCoupons = array(), $arStoreBarcodeOrderFormData = array(), $bSaveBarcodes = false) { global $APPLICATION; $orderId = intval($orderId); $arFields = array("LID" => $arOrder["SITE_ID"], "PERSON_TYPE_ID" => $arOrder["PERSON_TYPE_ID"], "PRICE" => $arOrder["PRICE"], "CURRENCY" => $arOrder["CURRENCY"], "USER_ID" => $arOrder["USER_ID"], "PAY_SYSTEM_ID" => $arOrder["PAY_SYSTEM_ID"], "PRICE_DELIVERY" => $arOrder["DELIVERY_PRICE"], "DELIVERY_ID" => strlen($arOrder["DELIVERY_ID"]) > 0 ? $arOrder["DELIVERY_ID"] : false, "DISCOUNT_VALUE" => $arOrder["DISCOUNT_PRICE"], "TAX_VALUE" => $arOrder["TAX_VALUE"]); if ($orderId <= 0) { $arFields["PAYED"] = "N"; $arFields["CANCELED"] = "N"; $arFields["STATUS_ID"] = "N"; } $arFields = array_merge($arFields, $arAdditionalFields); if ($orderId > 0) { $orderId = CSaleOrder::Update($orderId, $arFields); } else { if (COption::GetOptionString("sale", "product_reserve_condition", "O") == "O") { $arFields["RESERVED"] = "Y"; } $orderId = CSaleOrder::Add($arFields); } $orderId = intval($orderId); if ($orderId <= 0) { if ($ex = $APPLICATION->GetException()) { $arErrors[] = $ex->GetString(); } else { $arErrors[] = GetMessage("SOA_ERROR_ORDER"); } } if (count($arErrors) > 0) { return null; } CSaleBasket::DoSaveOrderBasket($orderId, $arOrder["SITE_ID"], $arOrder["USER_ID"], $arOrder["BASKET_ITEMS"], $arErrors, $arCoupons, $arStoreBarcodeOrderFormData, $bSaveBarcodes); CSaleTax::DoSaveOrderTax($orderId, $arOrder["TAX_LIST"], $arErrors); CSaleOrderProps::DoSaveOrderProps($orderId, $arOrder["PERSON_TYPE_ID"], $arOrder["ORDER_PROP"], $arErrors); /* // mail message if (empty($arResult["ERROR"])) { $strOrderList = ""; $dbBasketItems = CSaleBasket::GetList( array("NAME" => "ASC"), array("ORDER_ID" => $arResult["ORDER_ID"]), false, false, array("ID", "NAME", "QUANTITY", "PRICE", "CURRENCY") ); while ($arBasketItems = $dbBasketItems->Fetch()) { $strOrderList .= $arBasketItems["NAME"]." - ".$arBasketItems["QUANTITY"]." ".GetMessage("SOA_SHT").": ".SaleFormatCurrency($arBasketItems["PRICE"], $arBasketItems["CURRENCY"]); $strOrderList .= "\n"; } $arFields = Array( "ORDER_ID" => $arResult["ORDER_ID"], "ORDER_DATE" => Date($DB->DateFormatToPHP(CLang::GetDateFormat("SHORT", SITE_ID))), "ORDER_USER" => ( (strlen($arUserResult["PAYER_NAME"]) > 0) ? $arUserResult["PAYER_NAME"] : $USER->GetFullName() ), "PRICE" => SaleFormatCurrency($totalOrderPrice, $arResult["BASE_LANG_CURRENCY"]), "BCC" => COption::GetOptionString("sale", "order_email", "order@".$SERVER_NAME), "EMAIL" => (strlen($arUserResult["USER_EMAIL"])>0 ? $arUserResult["USER_EMAIL"] : $USER->GetEmail()), "ORDER_LIST" => $strOrderList, "SALE_EMAIL" => COption::GetOptionString("sale", "order_email", "order@".$SERVER_NAME), "DELIVERY_PRICE" => $arResult["DELIVERY_PRICE"], ); $eventName = "SALE_NEW_ORDER"; $bSend = true; foreach(GetModuleEvents("sale", "OnOrderNewSendEmail", true) as $arEvent) if (ExecuteModuleEventEx($arEvent, Array($arResult["ORDER_ID"], &$eventName, &$arFields))===false) $bSend = false; if($bSend) { $event = new CEvent; $event->Send($eventName, SITE_ID, $arFields, "N"); } } if(CModule::IncludeModule("statistic")) { $event1 = "eStore"; $event2 = "order_confirm"; $event3 = $arResult["ORDER_ID"]; $e = $event1."/".$event2."/".$event3; if(!is_array($_SESSION["ORDER_EVENTS"]) || (is_array($_SESSION["ORDER_EVENTS"]) && !in_array($e, $_SESSION["ORDER_EVENTS"]))) { CStatistic::Set_Event($event1, $event2, $event3); $_SESSION["ORDER_EVENTS"][] = $e; } } $arOrder = CSaleOrder::GetByID($arResult["ORDER_ID"]); foreach(GetModuleEvents("sale", "OnSaleComponentOrderOneStepComplete", true) as $arEvent) ExecuteModuleEventEx($arEvent, Array($arResult["ORDER_ID"], $arOrder)); */ return $orderId; }