/** * Удаляет элемент меню по его ID * * @param string|array|object $xItem * @param bool $bClearCache */ public function RemoveItemById($xItem, $bClearCache = false) { if (is_array($xItem)) { /** @var string|object $xItemId */ foreach ($xItem as $xItemId) { if (is_object($xItemId)) { $sItemId = $xItemId->getId(); } else { $sItemId = (string) $xItemId; } if (isset($this->_aItems[$sItemId])) { unset($this->_aItems[$sItemId]); } } } else { if (is_object($xItem)) { $sItemId = $xItem->getId(); } else { $sItemId = (string) $xItem; } if (isset($this->_aItems[$sItemId])) { unset($this->_aItems[$sItemId]); } } if ($bClearCache) { Config::ResetCustomConfig('menu.data.' . $this->getId() . '.list'); E::ModuleMenu()->SaveMenu($this); } }
protected function _eventMenuReset() { // * Получаем тип $sMenuId = $this->GetParam(1); if (!($oMenu = E::ModuleMenu()->GetMenu($sMenuId))) { return parent::EventNotFound(); } Config::ResetCustomConfig("menu.data.{$sMenuId}"); // Это подменю, удалим его if (strpos($oMenu->getId(), 'submenu_') === 0) { $aMenus = Config::Get('menu.data'); $bFound = false; foreach ($aMenus as $k => $v) { foreach ($v['list'] as $sItemKey => $aItemData) { if (isset($aItemData['submenu']) && $aItemData['submenu'] == $sMenuId) { $sMenuListKey = 'menu.data.' . $k; $aMenu = C::Get($sMenuListKey); if ($aMenu && isset($aMenu['list'][$sItemKey]['submenu'])) { $aMenu['list'][$sItemKey]['submenu'] = ''; C::WriteCustomConfig(array($sMenuListKey => $aMenu), false); $bFound = true; break; } } } if ($bFound) { break; } } R::Location("admin/settings-menumanager/"); } R::Location("admin/settings-menumanager/edit/{$sMenuId}"); return FALSE; }
public function DeleteScript($xScript) { if (is_array($xScript)) { $sScriptId = $xScript['id']; } else { $sScriptId = (string) $xScript; } $sConfigKey = 'script.' . $sScriptId; Config::ResetCustomConfig($sConfigKey); }
/** * Сбрасывает сохраненное меню в исходное состояние * * @param ModuleMenu_EntityMenu| string $xMenu */ public function ResetMenu($xMenu) { if (is_object($xMenu)) { $oMenu = $xMenu; $sMenuId = $oMenu->getId(); } else { $sMenuId = (string) $xMenu; $oMenu = $this->GetMenu($sMenuId); } Config::ResetCustomConfig("menu.data.{$sMenuId}"); $this->ClearMenuCache($sMenuId); //$aMenu = Config::Get('menu.data.' . $sMenuId, Config::LEVEL_APP); $aMenu = Config::Get('menu.data.' . $sMenuId, Config::LEVEL_SKIN); $aPreparedMenuData = E::ModuleMenu()->Prepare($sMenuId, $aMenu); $aPreparedMenuData['_cfg'] = $aMenu; $oMenu->setProps($aPreparedMenuData); $oMenu->setItems($aPreparedMenuData['items']); }
/** * Сброс кастомного конфига */ protected function _eventResetCustomConfig() { Config::ResetCustomConfig(); }
/** * Returns depersonalized unique key of the site * * @return string */ public function GetUniqKey() { $sUniqueKey = Config::Get(Config::ALTO_UNIQUE_KEY); if (!$sUniqueKey) { $sUniqueKey = $this->GenerateUniqKey(); Config::Set(Config::ALTO_UNIQUE_KEY, $sUniqueKey); // +++ Old version compatibility if (Config::ReadCustomConfig('alto.uniq_key')) { Config::ResetCustomConfig('alto.uniq_key'); } // --- Config::WriteEngineConfig(array(Config::ALTO_UNIQUE_KEY => $sUniqueKey)); } return $sUniqueKey; }
/** * Сбрасывет сохраненное меню в исходное состояние * * @param ModuleMenu_EntityMenu| string $xMenu */ public function ResetMenu($xMenu) { if (is_object($xMenu)) { $sMenuId = $xMenu->getId(); } else { $sMenuId = (string) $xMenu; } Config::ResetCustomConfig("menu.data.{$sMenuId}"); }