- Модуль: 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;
}