/** * Executes when order's status was changed in shop * event OnSaleCancelOrder * @param int $orderId Identifier * @param string $status New status * @param string $substatus Substatus. * @return bool */ public function onSaleStatusOrder($orderId, $status, $substatus = false) { $result = false; $arOrder = self::getOrderInfo($orderId); if (!empty($arOrder) && isset($arOrder["YANDEX_ID"]) && !self::$isYandexRequest) { $YMHandler = new CSaleYMHandler(array("SITE_ID" => $arOrder["LID"])); $settings = $YMHandler->getSettingsBySiteId($arOrder["LID"]); if (!isset($settings["STATUS_OUT"][$status]) || strlen($settings["STATUS_OUT"][$status]) <= 0) { return false; } $yandexStatus = $settings["STATUS_OUT"][$status]; $YMHandler->sendStatus($arOrder["YANDEX_ID"], $yandexStatus, $substatus); $result = true; } return $result; }
CAdminMessage::ShowMessage(array("MESSAGE" => GetMessage("SALE_YM_SETTINGS_SAVED"), "TYPE" => "OK")); } ?> <form method="post" action="<?php echo $APPLICATION->GetCurPage(); ?> ?lang=<?php echo LANGUAGE_ID; ?> " name="ymform"> <?php if (CSaleYMHandler::isActive(false)) { $tabControl->Begin(); foreach ($arTabs as $arTab) { $tabControl->BeginNextTab(); $siteSetts = CSaleYMHandler::getSettingsBySiteId($arTab["SITE_ID"]); $arDeliveryFilter = array("LID" => $arTab["SITE_ID"], "ACTIVE" => "Y"); $dbDeliveryList = CSaleDelivery::GetList(array("NAME" => "ASC"), $arDeliveryFilter, false, false, array("ID", "NAME")); $arDeliveryList = array(); while ($arDelivery = $dbDeliveryList->Fetch()) { $arDeliveryList[$arDelivery["ID"]] = $arDelivery["NAME"]; } $dbResultList = CSalePersonType::GetList("NAME", "ASC", array("LID" => $arTab["SITE_ID"], "ACTIVE" => "Y")); $arPersonTypes = array(); while ($arPT = $dbResultList->Fetch()) { $arPersonTypes[$arPT['ID']] = $arPT['NAME']; } if (isset($siteSetts["PERSON_TYPE"]) && array_key_exists($siteSetts["PERSON_TYPE"], $arPersonTypes)) { $personTypeId = $siteSetts["PERSON_TYPE"]; } else { reset($arPersonTypes);