• Модуль: intranet
  • Путь к файлу: ~/bitrix/modules/intranet/lib/integration/templates/bitrix24/themepicker.php
  • Класс: BitrixIntranetIntegrationTemplatesBitrix24ThemePicker
  • Вызов: ThemePicker::getCustomTheme
public function getCustomTheme($customThemeId, $userId = false)
{
	$customThemes = $this->getCustomThemesOptions($userId);
	if (!is_string($customThemeId) || !isset($customThemes[$customThemeId]) || !is_array($customThemes[$customThemeId]))
	{
		return null;
	}

	list($baseThemeId) = static::getThemeIdParts($customThemeId);
	$customThemeOptions = $customThemes[$customThemeId];

	$customTheme = array(
		"id" => $customThemeId,
		"css" => $this->getBaseThemeCss($baseThemeId),
		"removable" => true
	);

	$style = "body { ";
	if (isset($customThemeOptions["bgImage"]))
	{
		$bgImage = CFile::getPath($customThemeOptions["bgImage"]);
		$customTheme["prefetchImages"] = array($bgImage);

		$style .= 'background: url("'.$bgImage.'") fixed 0 0 no-repeat; ';
		$style .= 'background-size: cover; ';

		$previewImage = CFile::resizeImageGet(
			$customThemeOptions["bgImage"],
			array("width" => 400, "height" => 300),
			BX_RESIZE_IMAGE_PROPORTIONAL
		);

		if (is_array($previewImage))
		{
			$customTheme["previewImage"] = $previewImage["src"];
		}

		$image = CFile::getFileArray($customThemeOptions["bgImage"]);
		if ($image !== false)
		{
			$customTheme["width"] = $image["WIDTH"];
			$customTheme["height"] = $image["HEIGHT"];
			$customTheme["resizable"] = true;
		}
	}

	if (isset($customThemeOptions["bgColor"]))
	{
		$customTheme["previewColor"] = $customThemeOptions["bgColor"];
		$style .= "background-color: ".$customThemeOptions["bgColor"]."; ";
	}

	$style .= " }";
	$customTheme["style"] = $style;

	return $customTheme;
}