Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/wbs24.exchange1c/lib/ |
Upload File : |
<?php namespace Wbs24\Exchange1c; class Agents { protected $postfixAgentNames = [ '::sendOrderStatusesAgent();', ]; public function __construct($objects = []) { $this->Main = $objects['Main'] ?? new Main(); $this->wrappers = new Wrappers($objects); $this->Router = $objects['Router'] ?? new Router($objects); $this->Settings = $objects['Settings'] ?? new Settings($objects); $this->moduleId = $this->Main->getModuleId(); $this->moduleSettings = $this->Settings->get(); } public static function afterProcessProducts($fromTime = 0, $offset = 0) { $agents = new Agents(); $agents->Router->sendOrders($fromTime, $offset); return ''; } public static function sendOrderStatusesAgent() { $agents = new Agents(); $agents->Router->sendOrderStatuses(); return '\\'.__CLASS__.'::'.__FUNCTION__.'();'; } public function updateAgents() { $this->wrappers->CAgent->RemoveModuleAgents($this->moduleId); if (!$this->agentCheckOn()) return; foreach ($this->postfixAgentNames as $postfixAgentName) { $this->updateAgent($postfixAgentName); } } protected function updateAgent($postfixAgentName) { $agentName = $this->getNameAgent($postfixAgentName); $interval = intval($this->moduleSettings["statusSendPeriod"]); $interval *= 60; if ($interval) { $this->wrappers->CAgent->AddAgent( $agentName, $this->moduleId, "N", $interval ); } } protected function getNameAgent(string $postfixAgentName): string { return "\\".__CLASS__.$postfixAgentName; } protected function agentCheckOn() { return $this->moduleSettings["statusSendOn"] == "Y" ? true : false; } }