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/im/lib/V2/ |
Upload File : |
<?php namespace Bitrix\Im\V2; /** * @template T */ class Result extends \Bitrix\Main\Result { protected bool $hasResult = false; /** * Sets only the result. * @param T $result * @return static */ public function setResult($result): self { $this->hasResult = true; return parent::setData(['RESULT' => $result]); } /** * Returns a single result. * @return T|null */ public function getResult() { return parent::getData()['RESULT'] ?? null; } /** * We have a result. * @return bool */ public function hasResult(): bool { return $this->isSuccess() && $this->hasResult; } public static function merge(Result ...$results): Result { $mergedResult = new Result(); $dataResults = []; foreach ($results as $result) { if (!$result->isSuccess()) { $mergedResult->addErrors($result->getErrors()); } elseif ($result->hasResult) { $dataResults[] = $result->getResult(); } } if (!empty($dataResults)) { $mergedResult->setResult(array_merge(...$dataResults)); } return $mergedResult; } }