Example #1
0
 /**
  * Удаляет элемент меню по его 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);
     }
 }
Example #2
0
 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;
 }
Example #3
0
 public function DeleteScript($xScript)
 {
     if (is_array($xScript)) {
         $sScriptId = $xScript['id'];
     } else {
         $sScriptId = (string) $xScript;
     }
     $sConfigKey = 'script.' . $sScriptId;
     Config::ResetCustomConfig($sConfigKey);
 }
Example #4
0
 /**
  * Сбрасывает сохраненное меню в исходное состояние
  *
  * @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']);
 }
Example #5
0
 /**
  * Сброс кастомного конфига
  */
 protected function _eventResetCustomConfig()
 {
     Config::ResetCustomConfig();
 }
Example #6
0
 /**
  * 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;
 }
Example #7
0
 /**
  * Сбрасывет сохраненное меню в исходное состояние
  *
  * @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}");
 }