- Модуль: intranet
- Путь к файлу: ~/bitrix/modules/intranet/classes/general/handlers.php
- Класс: CIntranetEventHandlers
- Вызов: CIntranetEventHandlers::onRestAppDelete
static function onRestAppDelete($params)
{
if (!isset($params["APP_ID"]) || !BitrixMainLoader::includeModule("rest"))
return;
$dbRes = BitrixRestAppTable::getList(array(
'filter' => array(
'=ID' => $params["APP_ID"]
),
'select' => array('ID', 'CODE')
));
if ($appInfo = $dbRes->fetch())
{
$itemId = crc32(SITE_DIR."marketplace/app/".$appInfo["ID"]."/");
$itemIdCode = crc32(SITE_DIR."marketplace/app/".$appInfo["CODE"]."/");
$adminOption = COption::GetOptionString("intranet", "left_menu_items_marketplace_".SITE_ID);
if (!empty($adminOption))
{
$adminOption = unserialize($adminOption, ["allowed_classes" => false]);
foreach ($adminOption as $key => $item)
{
if ($item["ID"] == $itemId || $item['ID'] == $itemIdCode)
{
unset($adminOption[$key]);
if (empty($adminOption))
{
COption::RemoveOption("intranet", "left_menu_items_marketplace_".SITE_ID);
break;
}
else
{
COption::SetOptionString("intranet", "left_menu_items_marketplace_".SITE_ID, serialize($adminOption), false, SITE_ID);
}
}
}
}
if (defined("BX_COMP_MANAGED_CACHE"))
{
global $CACHE_MANAGER;
$CACHE_MANAGER->ClearByTag("bitrix24_left_menu");
}
}
}