• Модуль: intranet
  • Путь к файлу: ~/bitrix/modules/intranet/lib/integration/templates/bitrix24/themepicker.php
  • Класс: BitrixIntranetIntegrationTemplatesBitrix24ThemePicker
  • Вызов: ThemePicker::remove
public function remove($themeId)
{
	if ($this->getCustomTheme($themeId) === null)
	{
		return false;
	}

	if (static::isAdmin() && $themeId === $this->getDefaultThemeId())
	{
		$res = ThemeTable::getList([
			'filter' => [
				'=ENTITY_TYPE' => $this->getEntityType(),
				'ENTITY_ID' => 0,
				'=CONTEXT' => $this->getContext(),
			],
			'select' => [ 'ID' ],
			'cache' => static::getSelectCacheParams(),
		]);
		while($themeFields = $res->fetch())
		{
			ThemeTable::delete($themeFields['ID']);
		}

		if (CHTMLPagesCache::isOn() && Loader::includeModule('intranet'))
		{
			CacheProvider::deleteAllCache();
		}
	}

	$customThemes = $this->getCustomThemesOptions();
	if (isset($customThemes[$themeId]['bgImage']))
	{
		CFile::delete($customThemes[$themeId]['bgImage']);
	}

	$customThemes = $this->getCustomThemesOptions();
	unset($customThemes[$themeId]);
	$this->setCustomThemesOptions($customThemes);

	$this->setLastUsage($themeId, false);

	if ($this->getCurrentThemeId() === $themeId)
	{
		$res = ThemeTable::getList([
			'filter' => [
				'=ENTITY_TYPE' => $this->getEntityType(),
				'ENTITY_ID' => $this->getEntityId(),
				'=CONTEXT' => $this->getContext(),
			],
			'select' => [ 'ID' ],
			'cache' => static::getSelectCacheParams(),
		]);
		while($themeFields = $res->fetch())
		{
			ThemeTable::delete($themeFields['ID']);
		}
	}

	return true;
}