function ExecuteEvent($eventName, $arParams = array()) { if (COption::GetOptionString("main", "controller_member", "N") != "Y") { return null; } else { $oRequest = new CControllerClientRequestTo("execute_event", array("event_name" => $eventName, "parameters" => $arParams)); $oResponse = $oRequest->SendWithCheck(); if ($oResponse == false) { error_log("CControllerClient::ExecuteEvent: unknown error"); } elseif (!$oResponse->OK()) { error_log("CControllerClient::ExecuteEvent: " . $oResponse->text); } return $oResponse->arParameters['result']; } }
case "run_immediate": $command = $oRequest->arParameters["command"]; if(CControllerClient::RunCommand($command, $oRequest, $oResponse) === false) $oResponse->status = "450 Execution error"; else $oResponse->status = "200 OK"; break; case 'sendfile': set_time_limit(1200); $arVars = Array( 'command_id' => $oRequest->arParameters['command_id'], 'sendfile' => 'Y', ); $oClientRequest = new CControllerClientRequestTo('query', $arVars); $oClientRequest->session_id = $oRequest->session_id; $oClientResponse = $oClientRequest->Send(); if(is_object($oClientResponse) && $oClientResponse->Check()) { if($oClientResponse->OK()) { if (CControllerTools::UnpackFileArchive($oClientResponse->arParameters['file'], $oClientResponse->arParameters['path_to'])) { $oResponse->status = "200 OK"; $command = $oClientResponse->arParameters['command']; if (strlen($command) > 0 && CControllerClient::RunCommand($command, $oResponse, $oClientResponse) === false) { $oResponse->status = "450 Execution error"; }