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