1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
CollabOptions.php
См. документацию.
1<?php
2
3declare(strict_types=1);
4
5namespace Bitrix\Socialnetwork\Collab\Control\Command\ValueObject;
6
7use Bitrix\Main\Validation\Rule\ElementsType;
8use Bitrix\Socialnetwork\Collab\Control\Command\Attribute\ValidatableElements;
9use Bitrix\Socialnetwork\Collab\Control\Option\AbstractOption;
10use Bitrix\Socialnetwork\Collab\Control\Option\OptionFactory;
11use Bitrix\Socialnetwork\Control\Command\ValueObject\CreateObjectInterface;
12use Bitrix\Socialnetwork\Control\Command\ValueObject\CreateWithDefaultValueInterface;
13use Bitrix\Socialnetwork\ValueObjectInterface;
14
16{
17 #[ElementsType(className: AbstractOption::class)]
18 #[ValidatableElements]
19 protected array $options = [];
20
21 public static function create(mixed $data): static
22 {
23 $value = new static();
24
25 $data = array_merge(OptionFactory::DEFAULT_OPTIONS, $data);
26 foreach ($data as $optionName => $optionValue)
27 {
28 $option = AbstractOption::create([$optionName => $optionValue]);
29 $value->addOption($option);
30 }
31
32 return $value;
33 }
34
35 public static function createWithDefaultValue(): static
36 {
37 $value = new static();
38
39 foreach (OptionFactory::DEFAULT_OPTIONS as $optionName => $optionValue)
40 {
41 $option = AbstractOption::create([$optionName => $optionValue]);
42 $value->addOption($option);
43 }
44
45 return $value;
46 }
47
49 {
50 $this->options = $options;
51 }
52
56 public function getValue(): array
57 {
58 return $this->options;
59 }
60
61 public function addOption(AbstractOption $option): void
62 {
63 $this->options[] = $option;
64 }
65}
$data['IS_AVAILABLE']
Определения .description.php:13
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$option
Определения options.php:1711
$optionName
Определения options.php:1735
$optionValue
Определения options.php:3512