/** * 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; }