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/activities/bitrix/parallelactivity/ |
Upload File : |
<? if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); class CBPParallelActivity extends CBPCompositeActivity implements IBPActivityEventListener { private $isExecuting = false; public function __construct($name) { parent::__construct($name); $this->arProperties = array("Title" => ""); } public function Cancel() { $flag = true; for ($i = 0, $s = count($this->arActivities); $i < $s; $i++) { $activity = $this->arActivities[$i]; if ($activity->executionStatus == CBPActivityExecutionStatus::Executing) { $this->workflow->CancelActivity($activity); $flag = false; } else if (($activity->executionStatus == CBPActivityExecutionStatus::Canceling) || ($activity->executionStatus == CBPActivityExecutionStatus::Faulting)) { $flag = false; } } if (!$flag) return CBPActivityExecutionStatus::Canceling; return CBPActivityExecutionStatus::Closed; } public function Execute() { $this->isExecuting = true; for ($i = 0, $s = count($this->arActivities); $i < $s; $i++) { $activity = $this->arActivities[$i]; $activity->AddStatusChangeHandler(self::ClosedEvent, $this); $this->workflow->ExecuteActivity($activity); } if (count($this->arActivities) != 0) return CBPActivityExecutionStatus::Executing; return CBPActivityExecutionStatus::Closed; } public function OnEvent(CBPActivity $sender, $arEventParameters = array()) { $sender->RemoveStatusChangeHandler(self::ClosedEvent, $this); $flag = true; for ($i = 0, $s = count($this->arActivities); $i < $s; $i++) { $activity = $this->arActivities[$i]; if (($activity->executionStatus != CBPActivityExecutionStatus::Initialized) && ($activity->executionStatus != CBPActivityExecutionStatus::Closed)) { $flag = false; break; } } if ($flag) $this->workflow->CloseActivity($this); } public static function GetPropertiesDialog($documentType, $activityName, $arWorkflowTemplate, $arWorkflowParameters, $arWorkflowVariables, $arCurrentValues = null, $formName = "") { } public static function GetPropertiesDialogValues($documentType, $activityName, &$arWorkflowTemplate, &$arWorkflowParameters, &$arWorkflowVariables, $arCurrentValues, &$arErrors) { return true; } } ?>