9namespace Bitrix\Main\Access\Permission;
11use Bitrix\Main\Localization\Loc;
38 public static function getType($permissionId): string
40 return static::TYPE_TOGGLER;
55 'id' => $permissionId,
56 'type' => static::TYPE_TOGGLER,
67 $permission[
'title'] = Loc::getMessage(
$name) ??
'';
69 Loc::getMessage(self::HINT_PREFIX .
$name)
70 ?? (Loc::getMessage(self::HINT_PREFIX .
$name . self::HINT_SUFFIX) ??
'');
75 public static function getTitle($permissionId): string
83 return Loc::getMessage(
$name) ??
'';
88 $class = new \ReflectionClass(static::class);
89 $permissions = $class->getConstants();
92 foreach ($permissions as
$name => $id)
99 'TYPE_MULTIVARIABLES',
100 'TYPE_DEPENDENT_VARIABLES',
110 'LEVEL' => static::getLevel($id)
118 $nodes = explode(static::DELIMITER, $permissionId);
125 return implode(static::DELIMITER, $nodes);
130 if (!array_key_exists($id, $permissions))
135 if ($permissions[$id] == static::VALUE_NO)
140 $parentPath = static::getParentsPath($id);
146 if (!array_key_exists($parentPath, $permissions))
151 if ($permissions[$parentPath] == static::VALUE_NO)
156 return static::recursiveValidatePermission($permissions, $parentPath);
161 $value = explode(static::DELIMITER, $id);
162 return count($value) - 1;
167 if (!isset(static::$locLoaded[static::class]))
169 $r = new \ReflectionClass(static::class);
170 Loc::loadMessages($r->getFileName());
171 static::$locLoaded[static::class] =
true;
175 protected static function getName($permissionId): ?string
177 $permissions = static::getList();
178 if (!array_key_exists($permissionId, $permissions))
182 return $permissions[$permissionId][
'NAME'];
static getType($permissionId)
static getName($permissionId)
const TYPE_MULTIVARIABLES
const TYPE_DEPENDENT_VARIABLES
static getPermission($permissionId)
static getParentsPath(string $permissionId)
static recursiveValidatePermission(array $permissions, $id)
static getTitle($permissionId)
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
</p ></td >< td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 2.0pt 0cm 2.0pt;height:9.0pt'>< p class=Normal align=center style='margin:0cm;margin-bottom:.0001pt;text-align:center;line-height:normal'>< a name=ТекстовоеПоле54 ></a ><?=($taxRate > count( $arTaxList) > 0) ? $taxRate."%"