Your IP : 216.73.216.86


Current Path : /var/www/homesaver/www/bitrix/modules/main/lib/access/role/
Upload File :
Current File : /var/www/homesaver/www/bitrix/modules/main/lib/access/role/roledictionary.php

<?php
/**
 * Bitrix Framework
 * @package bitrix
 * @subpackage main
 * @copyright 2001-2021 Bitrix
 */

namespace Bitrix\Main\Access\Role;

use Bitrix\Main\Localization\Loc;

abstract class RoleDictionary
	implements AccessibleRoleDictionary
{
	protected static $locLoaded = [];

	public static function getRoleName(string $code): string
	{
		static::loadLoc();

		$name = Loc::getMessage($code);
		if ($name)
		{
			return $name;
		}
		return $code;
	}

	protected static function loadLoc()
	{
		if (
			!array_key_exists(static::class, static::$locLoaded)
			|| !static::$locLoaded[static::class]
		)
		{
			$r = new \ReflectionClass(static::class);
			Loc::loadMessages($r->getFileName());
			static::$locLoaded[static::class] = true;
		}
	}
}