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/location/lib/entity/generic/ |
Upload File : |
<?php namespace Bitrix\Location\Entity\Generic; use Bitrix\Main\SystemException; /** * Class FieldCollection * @package Bitrix\Location\Entity\Generic * @internal */ abstract class FieldCollection extends Collection { /** @var IField[] */ protected $items = []; /** * @param int $type * @return bool */ public function isItemExist(int $type): bool { foreach($this->items as $item) { if($item->getType() === $type) { return true; } } return false; } /** * @param int $type * @return IField|null */ public function getItemByType(int $type): ?IField { foreach($this->items as $item) { if($item->getType() === $type) { return $item; } } return null; } /** * @return IField[] */ public function getSortedItems(): array { $result = $this->items; uasort( $result, function ($a, $b) { if ($a->getType() == $b->getType()) { return 0; } return ($a->getType() < $b->getType()) ? -1 : 1; } ); return $result; } /** * @param mixed $item * @return int * @throws SystemException */ public function addItem($item): int { if($this->isItemExist($item->getType())) { throw new SystemException('Item with type "'.$item->getType().'" already exist in this collection'); } return parent::addItem($item); } }