• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/classes/general/calendar.php
  • Класс: CCalendar
  • Вызов: CCalendar::GetAccessTasks
static function GetAccessTasks($binging = 'calendar_section', $type = '')
{
	BitrixMainLocalizationLoc::loadLanguageFile($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/calendar/admin/task_description.php");

	if (isset(self::$arAccessTask[$binging]) && is_array(self::$arAccessTask[$binging]))
	{
		return self::$arAccessTask[$binging];
	}

	$bIntranet = self::IsIntranetEnabled();
	$arTasks = [];
	$res = CTask::GetList(Array('ID' => 'asc'), Array('MODULE_ID' => 'calendar', 'BINDING' => $binging));
	while($arRes = $res->Fetch())
	{
		if($type === 'location')
		{
			if (
				mb_strtolower($arRes['NAME']) === 'calendar_view_time'
				|| mb_strtolower($arRes['NAME']) === 'calendar_view_title'
			)
			{
				continue;
			}
			$name = '';
			if ($arRes['SYS'])
			{
				if (
					mb_strtolower($arRes['NAME']) === 'calendar_edit'
					|| mb_strtolower($arRes['NAME']) === 'calendar_view'
					|| mb_strtolower($arRes['NAME']) === 'calendar_type_edit'
					|| mb_strtolower($arRes['NAME']) === 'calendar_type_view')
				{
					$name = Loc::getMessage('TASK_NAME_LOCATION_'.mb_strtoupper($arRes['NAME']));
				}
				else
				{
					$name = Loc::getMessage('TASK_NAME_'.mb_strtoupper($arRes['NAME']));
				}
			}
		}
		else
		{
			if (
				!$bIntranet
				&& (
					mb_strtolower($arRes['NAME']) === 'calendar_view_time'
					|| mb_strtolower($arRes['NAME']) === 'calendar_view_title'
				)
			)
				continue;

			$name = '';
			if ($arRes['SYS'])
				$name = Loc::getMessage('TASK_NAME_'.mb_strtoupper($arRes['NAME']));

		}
		if ($name == '')
			$name = $arRes['NAME'];

		$arTasks[$arRes['ID']] = array(
			'name' => $arRes['NAME'],
			'title' => $name,
		);
	}

	// self::$arAccessTask[$binging] = $arTasks;

	return $arTasks;
}