1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
OptionFactory.php
См. документацию.
1
<?php
2
3
declare(strict_types=1);
4
5
namespace
Bitrix\Socialnetwork\Collab\Control\Option;
6
7
use Bitrix\Main\ObjectNotFoundException;
8
use Bitrix\Socialnetwork\Collab\Control\Option\Type\CanGuestCopyTextOption;
9
use Bitrix\Socialnetwork\Collab\Control\Option\Type\CanGuestScreenshotOption;
10
use Bitrix\Socialnetwork\Collab\Control\Option\Type\ManageMessagesAutoDelete;
11
use Bitrix\Socialnetwork\Collab\Control\Option\Type\ManageMessagesOption;
12
use Bitrix\Socialnetwork\Collab\Control\Option\Type\MessagesAutoDeleteDelay;
13
use Bitrix\Socialnetwork\Collab\Control\Option\Type\ShowHistoryOption;
14
use Bitrix\Socialnetwork\Collab\Control\Option\Type\WhoCanInviteOption;
15
use Bitrix\Socialnetwork\Collab\Control\Option\Type\AllowGuestsInvitationField;
16
17
final
class
OptionFactory
18
{
19
public
const
DEFAULT_OPTIONS
= [
20
ManageMessagesOption::NAME
=>
ManageMessagesOption::DEFAULT_VALUE
,
21
WhoCanInviteOption::NAME => WhoCanInviteOption::DEFAULT_VALUE,
22
ShowHistoryOption::NAME
=>
ShowHistoryOption::DEFAULT_VALUE
,
23
CanGuestCopyTextOption::NAME
=>
CanGuestCopyTextOption::DEFAULT_VALUE
,
24
CanGuestScreenshotOption::NAME
=>
CanGuestScreenshotOption::DEFAULT_VALUE
,
25
MessagesAutoDeleteDelay::NAME
=>
MessagesAutoDeleteDelay::DEFAULT_VALUE
,
26
ManageMessagesAutoDelete::NAME
=>
ManageMessagesAutoDelete::DEFAULT_VALUE
,
27
AllowGuestsInvitationField::NAME
=>
AllowGuestsInvitationField::DEFAULT_VALUE
,
28
];
32
public
static
function
createOption
(
33
string
$name
,
34
string
$value,
35
):
AbstractOption
36
{
37
return
match (
$name
)
38
{
39
ManageMessagesOption::NAME
=>
new
ManageMessagesOption
($value),
40
WhoCanInviteOption::NAME =>
new
WhoCanInviteOption
($value),
41
ShowHistoryOption::NAME
=>
new
ShowHistoryOption
($value),
42
CanGuestCopyTextOption::NAME
=>
new
CanGuestCopyTextOption
($value),
43
CanGuestScreenshotOption::NAME
=>
new
CanGuestScreenshotOption
($value),
44
MessagesAutoDeleteDelay::NAME
=>
new
MessagesAutoDeleteDelay
($value),
45
ManageMessagesAutoDelete::NAME
=>
new
ManageMessagesAutoDelete
($value),
46
AllowGuestsInvitationField::NAME
=>
new
AllowGuestsInvitationField
($value),
47
default
=>
throw
new
ObjectNotFoundException
(),
48
};
49
}
50
}
Bitrix\Main\ObjectNotFoundException
Определения
ObjectNotFoundException.php:9
Bitrix\Socialnetwork\Collab\Control\Option\AbstractOption
Определения
AbstractOption.php:16
Bitrix\Socialnetwork\Collab\Control\Option\OptionFactory
Определения
OptionFactory.php:18
Bitrix\Socialnetwork\Collab\Control\Option\OptionFactory\createOption
static createOption(string $name, string $value,)
Определения
OptionFactory.php:32
Bitrix\Socialnetwork\Collab\Control\Option\OptionFactory\DEFAULT_OPTIONS
const DEFAULT_OPTIONS
Определения
OptionFactory.php:19
Bitrix\Socialnetwork\Collab\Control\Option\Type\AllowGuestsInvitationField
Определения
AllowGuestsInvitationField.php:11
Bitrix\Socialnetwork\Collab\Control\Option\Type\AllowGuestsInvitationField\NAME
const NAME
Определения
AllowGuestsInvitationField.php:12
Bitrix\Socialnetwork\Collab\Control\Option\Type\AllowGuestsInvitationField\DEFAULT_VALUE
const DEFAULT_VALUE
Определения
AllowGuestsInvitationField.php:15
Bitrix\Socialnetwork\Collab\Control\Option\Type\CanGuestCopyTextOption
Определения
CanGuestCopyTextOption.php:13
Bitrix\Socialnetwork\Collab\Control\Option\Type\CanGuestCopyTextOption\NAME
const NAME
Определения
CanGuestCopyTextOption.php:14
Bitrix\Socialnetwork\Collab\Control\Option\Type\CanGuestCopyTextOption\DEFAULT_VALUE
const DEFAULT_VALUE
Определения
CanGuestCopyTextOption.php:17
Bitrix\Socialnetwork\Collab\Control\Option\Type\CanGuestScreenshotOption
Определения
CanGuestScreenshotOption.php:13
Bitrix\Socialnetwork\Collab\Control\Option\Type\CanGuestScreenshotOption\NAME
const NAME
Определения
CanGuestScreenshotOption.php:14
Bitrix\Socialnetwork\Collab\Control\Option\Type\CanGuestScreenshotOption\DEFAULT_VALUE
const DEFAULT_VALUE
Определения
CanGuestScreenshotOption.php:17
Bitrix\Socialnetwork\Collab\Control\Option\Type\ManageMessagesAutoDelete
Определения
ManageMessagesAutoDelete.php:13
Bitrix\Socialnetwork\Collab\Control\Option\Type\ManageMessagesAutoDelete\NAME
const NAME
Определения
ManageMessagesAutoDelete.php:16
Bitrix\Socialnetwork\Collab\Control\Option\Type\ManageMessagesAutoDelete\DEFAULT_VALUE
const DEFAULT_VALUE
Определения
ManageMessagesAutoDelete.php:22
Bitrix\Socialnetwork\Collab\Control\Option\Type\ManageMessagesOption
Определения
ManageMessagesOption.php:16
Bitrix\Socialnetwork\Collab\Control\Option\Type\ManageMessagesOption\NAME
const NAME
Определения
ManageMessagesOption.php:19
Bitrix\Socialnetwork\Collab\Control\Option\Type\ManageMessagesOption\DEFAULT_VALUE
const DEFAULT_VALUE
Определения
ManageMessagesOption.php:22
Bitrix\Socialnetwork\Collab\Control\Option\Type\MessagesAutoDeleteDelay
Определения
MessagesAutoDeleteDelay.php:13
Bitrix\Socialnetwork\Collab\Control\Option\Type\MessagesAutoDeleteDelay\NAME
const NAME
Определения
MessagesAutoDeleteDelay.php:14
Bitrix\Socialnetwork\Collab\Control\Option\Type\MessagesAutoDeleteDelay\DEFAULT_VALUE
const DEFAULT_VALUE
Определения
MessagesAutoDeleteDelay.php:20
Bitrix\Socialnetwork\Collab\Control\Option\Type\ShowHistoryOption
Определения
ShowHistoryOption.php:13
Bitrix\Socialnetwork\Collab\Control\Option\Type\ShowHistoryOption\NAME
const NAME
Определения
ShowHistoryOption.php:14
Bitrix\Socialnetwork\Collab\Control\Option\Type\ShowHistoryOption\DEFAULT_VALUE
const DEFAULT_VALUE
Определения
ShowHistoryOption.php:17
Bitrix\Socialnetwork\Collab\Control\Option\Type\WhoCanInviteOption
Определения
WhoCanInviteOption.php:16
$name
$name
Определения
menu_edit.php:35
bitrix
modules
socialnetwork
lib
Collab
Control
Option
OptionFactory.php
Создано системой
1.14.0