本文整理汇总了PHP中CSaleLocation::checkLocationCodeExists方法的典型用法代码示例。如果您正苦于以下问题:PHP CSaleLocation::checkLocationCodeExists方法的具体用法?PHP CSaleLocation::checkLocationCodeExists怎么用?PHP CSaleLocation::checkLocationCodeExists使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CSaleLocation
的用法示例。
在下文中一共展示了CSaleLocation::checkLocationCodeExists方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: DoProcessOrder
static function DoProcessOrder(&$arOrder, $arOrderPropsValues, &$arErrors, &$arWarnings, $paysystemId = 0, $deliveryId = "", $arOptions = array())
{
if (!is_array($arOrderPropsValues))
$arOrderPropsValues = array();
$arUser = null;
$arFilter = array(
"PERSON_TYPE_ID" => $arOrder["PERSON_TYPE_ID"],
"ACTIVE" => "Y"
);
if ($paysystemId != 0)
{
$arFilter["RELATED"]["PAYSYSTEM_ID"] = $paysystemId;
$arFilter["RELATED"]["TYPE"] = "WITH_NOT_RELATED";
}
if (strlen($deliveryId) > 0)
{
$arFilter["RELATED"]["DELIVERY_ID"] = $deliveryId;
$arFilter["RELATED"]["TYPE"] = "WITH_NOT_RELATED";
}
$dbOrderProps = CSaleOrderProps::GetList(
array("SORT" => "ASC"),
$arFilter,
false,
false,
array("ID", "NAME", "TYPE", "IS_LOCATION", "IS_LOCATION4TAX", "IS_PROFILE_NAME", "IS_PAYER", "IS_EMAIL",
"REQUIED", "SORT", "IS_ZIP", "CODE", "DEFAULT_VALUE")
);
while ($arOrderProp = $dbOrderProps->Fetch())
{
if (!array_key_exists($arOrderProp["ID"], $arOrderPropsValues))
{
$curVal = $arOrderProp["DEFAULT_VALUE"];
if (strlen($curVal) <= 0)
{
if ($arOrderProp["IS_EMAIL"] == "Y" || $arOrderProp["IS_PAYER"] == "Y")
{
if ($arUser == null)
{
$dbUser = CUser::GetList($by = "ID", $order = "desc", array("ID_EQUAL_EXACT" => $arOrder["USER_ID"]));
$arUser = $dbUser->Fetch();
}
if ($arOrderProp["IS_EMAIL"] == "Y")
$curVal = is_array($arUser) ? $arUser["EMAIL"] : "";
elseif ($arOrderProp["IS_PAYER"] == "Y")
$curVal = is_array($arUser) ? $arUser["NAME"].(strlen($arUser["NAME"]) <= 0 || strlen($arUser["LAST_NAME"]) <= 0 ? "" : " ").$arUser["LAST_NAME"] : "";
}
}
}
else
{
$curVal = $arOrderPropsValues[$arOrderProp["ID"]];
}
if ((!is_array($curVal) && strlen($curVal) > 0) || (is_array($curVal) && count($curVal) > 0))
{
//if ($arOrderProp["TYPE"] == "SELECT" || $arOrderProp["TYPE"] == "MULTISELECT" || $arOrderProp["TYPE"] == "RADIO")
if ($arOrderProp["TYPE"] == "SELECT" || $arOrderProp["TYPE"] == "RADIO")
{
$arVariants = array();
$dbVariants = CSaleOrderPropsVariant::GetList(
array("SORT" => "ASC", "NAME" => "ASC"),
array("ORDER_PROPS_ID" => $arOrderProp["ID"]),
false,
false,
array("*")
);
while ($arVariant = $dbVariants->Fetch())
$arVariants[] = $arVariant["VALUE"];
if (!is_array($curVal))
$curVal = array($curVal);
$arKeys = array_keys($curVal);
foreach ($arKeys as $k)
{
if (!in_array($curVal[$k], $arVariants))
unset($curVal[$k]);
}
if ($arOrderProp["TYPE"] == "SELECT" || $arOrderProp["TYPE"] == "RADIO")
$curVal = array_shift($curVal);
}
elseif ($arOrderProp["TYPE"] == "LOCATION")
{
if (is_array($curVal))
$curVal = array_shift($curVal);
if(CSaleLocation::isLocationProMigrated())
{
// if we came from places like CRM, we got location in CODEs, because CRM knows nothing about location IDs.
// so, CRM sends LOCATION_IN_CODES in options array. In the other case, we assume we got locations as IDs
if($arOptions['LOCATION_IN_CODES'])
{
if(!($locId = CSaleLocation::checkLocationCodeExists($curVal)))
//.........这里部分代码省略.........