Bitrix-D7 23.9
 
Загрузка...
Поиск...
Не найдено
containoperator.php
1<?php
2
4
7
9{
10 public static function getCode(): string
11 {
12 return 'contain';
13 }
14
15 public static function getTitle(): string
16 {
17 return Loc::getMessage('BIZPROC_ACTIVITY_CONDITION_OPERATORS_CONTAIN_OPERATOR_TITLE') ?? '';
18 }
19
21 {
22 parent::__construct($toCheck, $value, $fieldType);
23
24 $this->value = is_array($this->value) ? $this->value : [$this->value];
25 $this->toCheck = is_array($this->toCheck) ? $this->toCheck : [$this->toCheck];
26 }
27
28 public function check(): bool
29 {
30 $baseType = $this->fieldType->getBaseType();
31 if ($baseType === 'user')
32 {
33 return count(array_diff($this->value, $this->toCheck)) === 0;
34 }
35
36 $result = false;
37 foreach (\CBPHelper::flatten($this->value) as $v)
38 {
39 foreach ($this->toCheck as $f)
40 {
41 if (is_array($f))
42 {
43 $result = in_array($v, $f, false);
44 }
45 elseif (
46 \CBPHelper::hasStringRepresentation($f)
47 && \CBPHelper::hasStringRepresentation($v)
48 && (string)$v !== ''
49 )
50 {
51 $result = (mb_strpos($f, $v) !== false);
52 }
53
54 if ($result)
55 {
56 break;
57 }
58 }
59
60 if (!$result)
61 {
62 break;
63 }
64 }
65
66 return $result;
67 }
68}
__construct($toCheck, $value, FieldType $fieldType)
static getMessage($code, $replace=null, $language=null)
Definition loc.php:29