• Модуль: intranet
  • Путь к файлу: ~/bitrix/modules/intranet/lib/integration/templates/bitrix24/themepicker.php
  • Класс: BitrixIntranetIntegrationTemplatesBitrix24ThemePicker
  • Вызов: ThemePicker::isValidTheme
private function isValidTheme($themeId, $userId = false)
{
	if (!is_string($themeId) || $themeId == '')
	{
		return false;
	}

	if ($this->isCustomThemeId($themeId))
	{
		return $this->getCustomTheme($themeId, $userId) !== null;
	}

	if ($this->getStandardTheme($themeId) === null)
	{
		return false;
	}

	//Check physical existence
	list($baseThemeId, $subThemeId) = static::getThemeIdParts($themeId);
	$baseThemePath = Application::getDocumentRoot().$this->getThemesPath()."/".$baseThemeId;

	if (!Path::validateFilename($baseThemeId) || !Directory::isDirectoryExists($baseThemePath))
	{
		return false;
	}

	if (
		$subThemeId !== null &&
		(!Path::validateFilename($subThemeId) || !Directory::isDirectoryExists($baseThemePath."/".$subThemeId))
	)
	{
		return false;
	}

	return true;
}