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/source/ |
Upload File : |
<?php namespace Bitrix\Location\Entity\Source; /** * Class Config * @package Bitrix\Location\Entity\Source * @internal */ final class Config implements \IteratorAggregate { /** @var ConfigItem[] */ private $items = []; /** * @param ConfigItem $item * @return $this */ public function addItem(ConfigItem $item) { $this->items[] = $item; return $this; } /** * @param string $code * @return ConfigItem|null */ public function getItem(string $code): ?ConfigItem { foreach ($this->items as $item) { if ($item->getCode() !== $code) { continue; } return $item; } return null; } /** * @param string $code * @return mixed|null */ public function getValue(string $code) { $item = $this->getItem($code); if (!$item) { return null; } return $item->getValue(); } /** * @param string $code * @param mixed $value * @return bool */ public function setValue(string $code, $value): bool { foreach ($this->items as $item) { if ($item->getCode() !== $code) { continue; } $item->setValue($value); return true; } return false; } /** * @inheritDoc */ public function getIterator(): \Traversable { usort( $this->items, function (ConfigItem $item1, ConfigItem $item2) { if ($item1->getSort() == $item2->getSort()) { return 0; } return ($item1->getSort() < $item2->getSort()) ? -1 : 1; } ); return new \ArrayIterator($this->items); } }