Loc::loadMessages(__FILE__); if (!\Bitrix\Main\Loader::includeModule('scale')) { $arResult["ERROR"] = Loc::getMessage("SCALE_AJAX_MODULE_NOT_INSTALLED"); } $result = false; if (strlen($arResult["ERROR"]) <= 0 && $USER->IsAdmin() && check_bitrix_sessid()) { $operation = isset($_REQUEST['params']['operation']) ? trim($_REQUEST['params']['operation']) : ''; switch ($operation) { case "start": $actionId = isset($_REQUEST['params']['actionId']) ? trim($_REQUEST['params']['actionId']) : ''; $serverHostname = isset($_REQUEST['params']['serverHostname']) ? trim($_REQUEST['params']['serverHostname']) : ""; $userParams = isset($_REQUEST['params']['userParams']) ? $_REQUEST['params']['userParams'] : array(); $freeParams = isset($_REQUEST['params']['freeParams']) ? $_REQUEST['params']['freeParams'] : array(); $actonParams = isset($_REQUEST['params']['actionParams']) ? $_REQUEST['params']['actionParams'] : array(); try { $action = \Bitrix\Scale\ActionsData::getActionObject($actionId, $serverHostname, $userParams, $freeParams, $actonParams); } catch (Exception $e) { $arResult["ERROR"] = $e->getMessage(); break; } try { $result = $action->start(); $arResult["ACTION_RESULT"] = $action->getResult(); } catch (\Bitrix\Scale\NeedMoreUserInfoException $e) { $arResult["NEED_MORE_USER_INFO"] = array("ACTION_ID" => $actionId, "HOSTNAME" => $serverHostname, "USER_PARAMS" => $userParams, "FREE_PARAMS" => $freeParams, "ACTION_PARAMS" => $e->getActionParams()); $result = true; } catch (Exception $e) { $arResult["ERROR"] = $e->getMessage(); } break; case "check_state":
$providerId = $ids[0]; $orderId = $ids[1]; switch ($request['action_button']) { case "add_to_pull": $result = \Bitrix\Scale\Provider::addToPullFromOrder($providerId, $orderId); if ($result === false || isset($result["error"]) && $result["error"] == 1) { $message = Loc::getMessage("SCALE_ORDER_ADD_PULL_ERROR"); if (isset($result["message"])) { $message .= ": \"" . $result["message"] . "\""; } $adminList->AddGroupError($message); } else { $adminList->AddActionSuccessMessage(Loc::getMessage("SCALE_ORDER_ADD_PULL_SUCCESS")); try { // add to monitoring $actionUpdateMonitoring = \Bitrix\Scale\ActionsData::getActionObject("MONITORING_UPDATE"); $actionUpdateMonitoring->start(); } catch (Exception $e) { $adminList->AddGroupError($e->getMessage()); } } break; } } } $ordersList = \Bitrix\Scale\Provider::getOrdersList(); $orders = array(); foreach ($ordersList as $providerId => $providerOrders) { if (!is_array($providerOrders)) { continue; }