%PDF- %PDF-
Direktori : /proc/self/root/home/bitrix/www/bitrix/modules/controller/classes/general/ |
Current File : //proc/self/root/home/bitrix/www/bitrix/modules/controller/classes/general/controller.php |
<?php class CControllerServerRequestTo extends __CControllerPacketRequest { var $url; var $debug_const = "CONTROLLER_SERVER_DEBUG"; var $debug_file_const = "CONTROLLER_SERVER_LOG_DIR"; public function __construct($member, $operation, $arParameters = array()) { if (is_array($member)) { $arMember = $member; } else { $dbr_member = CControllerMember::GetById($member); $arMember = $dbr_member->Fetch(); } if ($arMember) { $this->url = $arMember["URL"]; $this->hostname = $arMember["HOSTNAME"]; $this->member_id = $arMember["MEMBER_ID"]; $this->secret_id = $arMember["SECRET_ID"]; $this->operation = $operation; $this->arParameters = $arParameters; $this->session_id = \Bitrix\Main\Security\Random::getString(32); } } public function Send($url = "", $page = "/bitrix/admin/main_controller.php") { $event = new \Bitrix\Main\Event("controller", "OnBeforeControllerServerRequestSend", array($this)); $event->send(); $this->Sign(); $result = parent::Send($this->url, $page); if ($result === false) return false; $oResponse = new CControllerServerResponseFrom($result); return $oResponse; } } class CControllerServerResponseFrom extends __CControllerPacketResponse { var $debug_const = "CONTROLLER_SERVER_DEBUG"; var $debug_file_const = "CONTROLLER_SERVER_LOG_DIR"; public function __construct($oPacket = false) { $this->_InitFromRequest($oPacket, array()); } } // // This class handles clients queries // class CControllerServerRequestFrom extends __CControllerPacketRequest { var $debug_const = "CONTROLLER_SERVER_DEBUG"; var $debug_file_const = "CONTROLLER_SERVER_LOG_DIR"; public function __construct() { $this->InitFromRequest(); $this->Debug(array( 'Request received from #'.$this->member_id, 'security check' => ($this->Check()? 'passed': 'failed'), 'Packet' => $this, )); } public function Check() { global $APPLICATION; $dbr_member = CControllerMember::GetByGuid($this->member_id); $ar_member = $dbr_member->Fetch(); if (!$ar_member) { $e = new CApplicationException("Bad member_id: ".$this->member_id.""); $APPLICATION->ThrowException($e); return false; } $this->secret_id = $ar_member["SECRET_ID"]; return parent::Check(); } } class CControllerServerResponseTo extends __CControllerPacketResponse { var $debug_const = "CONTROLLER_SERVER_DEBUG"; var $debug_file_const = "CONTROLLER_SERVER_LOG_DIR"; public function __construct($oPacket = false) { $this->_InitFromRequest($oPacket); $this->secret_id = false; } public function Sign() { global $APPLICATION; if ($this->secret_id === false) { $dbr_member = CControllerMember::GetByGuid($this->member_id); $ar_member = $dbr_member->Fetch(); if (!$ar_member) { $e = new CApplicationException("Bad member_id: ".$this->member_id.""); $APPLICATION->ThrowException($e); return false; } $this->secret_id = $ar_member["SECRET_ID"]; } return parent::Sign(); } }