1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
AbstractOption.php
См. документацию.
1
<?php
2
3
declare(strict_types=1);
4
5
namespace
Bitrix\Socialnetwork\Collab\Control\Option
;
6
7
use
Bitrix\Main\DI\ServiceLocator
;
8
use
Bitrix\Main\Error
;
9
use
Bitrix\Main\ObjectNotFoundException
;
10
use
Bitrix\Main\Result
;
11
use
Bitrix\Socialnetwork\Collab\Collab
;
12
use
Bitrix\Socialnetwork\Collab\Provider\CollabProvider
;
13
use
Bitrix\Socialnetwork\Control\Command\ValueObject\CreateObjectInterface
;
14
15
abstract
class
AbstractOption
implements
CreateObjectInterface
16
{
17
protected
CollabProvider
$provider
;
18
19
protected
string
$name
;
20
protected
string
$value
;
21
25
public
static
function
create
(mixed
$data
): static
26
{
27
$name
= array_key_first(
$data
);
28
$value
=
$data
[
$name
];
29
30
return
OptionFactory::createOption
(
$name
,
$value
);
31
}
32
33
public
function
__construct
(
string
$name
,
string
$value
)
34
{
35
$this->name =
$name
;
36
$this->value =
$value
;
37
38
$this->
init
();
39
}
40
41
abstract
protected
function
applyImplementation
(
Collab
$collab):
Result
;
42
43
public
function
apply
(
int
$collabId):
Result
44
{
45
$result
=
new
Result
();
46
47
$collab = $this->provider->disableCache()->getCollab($collabId);
48
if
($collab ===
null
)
49
{
50
$result
->addError(
new
Error
(
'Collab not found'
));
51
52
return
$result
;
53
}
54
55
return
$this->
applyImplementation
($collab);
56
}
57
58
public
function
getName
(): string
59
{
60
return
$this->name
;
61
}
62
63
public
function
getValue
(): string
64
{
65
return
$this->value
;
66
}
67
68
protected
function
init
(): void
69
{
70
$this->provider = CollabProvider::getInstance();
71
}
72
}
Bitrix\Main\DI\ServiceLocator
Определения
servicelocator.php:19
Bitrix\Main\Error
Определения
error.php:15
Bitrix\Main\ORM\Data\Result
Определения
result.php:16
Bitrix\Main\ObjectNotFoundException
Определения
ObjectNotFoundException.php:9
Bitrix\Socialnetwork\Collab\Collab
Определения
Collab.php:16
Bitrix\Socialnetwork\Collab\Control\Option\AbstractOption
Определения
AbstractOption.php:16
Bitrix\Socialnetwork\Collab\Control\Option\AbstractOption\create
static create(mixed $data)
Определения
AbstractOption.php:25
Bitrix\Socialnetwork\Collab\Control\Option\AbstractOption\getName
getName()
Определения
AbstractOption.php:58
Bitrix\Socialnetwork\Collab\Control\Option\AbstractOption\$value
string $value
Определения
AbstractOption.php:20
Bitrix\Socialnetwork\Collab\Control\Option\AbstractOption\init
init()
Определения
AbstractOption.php:68
Bitrix\Socialnetwork\Collab\Control\Option\AbstractOption\$name
string $name
Определения
AbstractOption.php:19
Bitrix\Socialnetwork\Collab\Control\Option\AbstractOption\applyImplementation
applyImplementation(Collab $collab)
Bitrix\Socialnetwork\Collab\Control\Option\AbstractOption\__construct
__construct(string $name, string $value)
Определения
AbstractOption.php:33
Bitrix\Socialnetwork\Collab\Control\Option\AbstractOption\$provider
CollabProvider $provider
Определения
AbstractOption.php:17
Bitrix\Socialnetwork\Collab\Control\Option\AbstractOption\getValue
getValue()
Определения
AbstractOption.php:63
Bitrix\Socialnetwork\Collab\Control\Option\AbstractOption\apply
apply(int $collabId)
Определения
AbstractOption.php:43
Bitrix\Socialnetwork\Collab\Control\Option\OptionFactory\createOption
static createOption(string $name, string $value,)
Определения
OptionFactory.php:32
Bitrix\Socialnetwork\Collab\Provider\CollabProvider
Определения
CollabProvider.php:23
$data
$data['IS_AVAILABLE']
Определения
.description.php:13
$result
$result
Определения
get_property_values.php:14
Bitrix\Socialnetwork\Control\Command\ValueObject\CreateObjectInterface
Определения
CreateObjectInterface.php:6
Bitrix\Socialnetwork\Collab\Control\Option
Определения
AbstractOption.php:5
bitrix
modules
socialnetwork
lib
Collab
Control
Option
AbstractOption.php
Создано системой
1.14.0