• Модуль: calendar
  • Путь к файлу: ~/bitrix/modules/calendar/classes/general/calendar.php
  • Класс: CCalendar
  • Вызов: CCalendar::GetPathes
static function GetPathes($forSite = null)
{
	$pathes = [];
	$pathes_for_sites = COption::GetOptionString('calendar', 'pathes_for_sites', true);
	if ($forSite === null)
	{
		$arAffectedSites = COption::GetOptionString('calendar', 'pathes_sites', false);

		if ($arAffectedSites != false && CheckSerializedData($arAffectedSites))
		{
			$arAffectedSites = unserialize($arAffectedSites, ['allowed_classes' => false]);
		}
	}
	elseif (is_array($forSite))
	{
		$arAffectedSites = $forSite;
	}
	else
	{
		$arAffectedSites = [$forSite];
	}

	if(is_array($arAffectedSites) && !empty($arAffectedSites))
	{
		foreach($arAffectedSites as $s)
		{
			$ar = COption::GetOptionString("calendar", 'pathes_'.$s, false);
			if ($ar != false && CheckSerializedData($ar))
			{
				$ar = unserialize($ar, ['allowed_classes' => false]);
				if(is_array($ar))
				{
					$pathes[$s] = $ar;
				}
			}
		}
	}

	if ($forSite !== false)
	{
		$result = [];
		if (isset($pathes[$forSite]) && is_array($pathes[$forSite]))
			$result = $pathes[$forSite];

		$arPathes = self::GetPathesList();
		foreach($arPathes as $pathName)
		{
			$val = $result[$pathName] ?? '';
			if (empty($val) || $pathes_for_sites)
			{
				if (!isset($SET))
				{
					$SET = self::GetSettings();
				}
				$val = $SET[$pathName] ?? null;
				$result[$pathName] = $val;
			}
		}
		return $result;
	}
	return $pathes;
}