1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
VariableRule.php
См. документацию.
1<?php
2
3namespace Bitrix\Catalog\Access\Rule;
4
5use Bitrix\Catalog\Access\Permission\PermissionDictionary;
6use Bitrix\Catalog\Config\Feature;
7
23{
25 {
26 if (!Feature::isAccessControllerCheckingEnabled())
27 {
28 return [$this->getAllValue()];
29 }
30
31 $permissionCode = static::getPermissionCode($params);
32
33 $values = $this->user->getPermissionMulti($permissionCode);
34 return $values ? array_intersect($values, $this->getAvailableValues()): null;
35 }
36
37 protected function getAvailableValues(): array
38 {
39 $values = $this->loadAvailableValues();
40 $values[] = $this->getAllValue();
41
42 return $values;
43 }
44
45 protected function loadAvailableValues(): array
46 {
47 return [];
48 }
49
50 protected function getAllValue(): int
51 {
52 return PermissionDictionary::VALUE_VARIATION_ALL;
53 }
54
55 protected function check($params): bool
56 {
58 $values = $this->getPermissionMultiValues($params);
59 if (!$values)
60 {
61 return false;
62 }
63
64 if (
65 (!isset($params['value']) && !empty($values))
66 || in_array($this->getAllValue(), $values, true)
67 )
68 {
69 return true;
70 }
71
72 $checkStoreIds = (array)($params['value'] ?? []);
73
74 return empty(
75 array_diff($checkStoreIds, $values)
76 );
77 }
78}
getPermissionMultiValues($params)
Определения VariableRule.php:24
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
if($inWords) echo htmlspecialcharsbx(Number2Word_Rus(roundEx($totalVatSum $params['CURRENCY']
Определения template.php:799