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/ilovecveti.ru/bitrix/modules/bizproc/lib/Debugger/Session/ |
Upload File : |
<?php namespace Bitrix\Bizproc\Debugger\Session; use Bitrix\Bizproc\Automation\Engine\Template; use Bitrix\Bizproc\Debugger\Session\Entity\DebuggerSessionTemplateShardsTable; use Bitrix\Iblock\Template\Functions\FunctionConcat; class WorkflowContext extends Entity\EO_DebuggerSessionWorkflowContext { /** * @param Template | array $template * @return void */ public function addTemplateShards($template): self { if (is_a($template, Template::class)) { $this->addAutomationShards($template); } return $this; } private function addAutomationShards(Template $template) { $lastSavedTemplateShards = $this->findTemplateShards($template->getId()); if ( $lastSavedTemplateShards && $template->getModified() && $lastSavedTemplateShards->getModified()->toString() === $template->getModified()->toString() ) { $this->setTemplateShardsId($lastSavedTemplateShards->getId()); } else { $shards = []; foreach ($template->getRobots() as $robot) { $shards[] = $robot->toArray(); } $templateShards = DebuggerSessionTemplateShardsTable::createObject(); $templateShards ->setShards($shards) ->setModified($template->getModified()) ->setTemplateId($template->getId()) ->setTemplateType(TemplateShards::TEMPLATE_TYPE_ROBOTS) ; $savingResult = $templateShards->save(); $this->setTemplateShardsId($savingResult->getId()); } } private function findTemplateShards(int $templateId): ?TemplateShards { return DebuggerSessionTemplateShardsTable::getList([ 'select' => ['ID', 'MODIFIED'], 'filter' => ['TEMPLATE_ID' => $templateId], 'order' => ['MODIFIED' => 'DESC'], 'limit' => 1, ])->fetchObject(); } }