public function delete()
 {
     if (!isset($this->id) || !$this->id) {
         return;
     }
     /* Get childs */
     $toDelete = array(intval($this->id));
     $toDelete = array_unique($toDelete);
     foreach ($toDelete as $id_menu) {
         if (file_exists(_PS_ROOT_DIR_ . '/modules/pm_advancedtopmenu/menu_icons/' . $id_menu . '.' . ($this->image_type ? $this->image_type : 'jpg'))) {
             @unlink(_PS_ROOT_DIR_ . '/modules/pm_advancedtopmenu/menu_icons/' . $id_menu . '.' . ($this->image_type ? $this->image_type : 'jpg'));
         }
     }
     /* Delete its child from database */
     $columnsWrap = AdvancedTopMenuColumnWrapClass::getColumnWrapIds($this->id);
     foreach ($columnsWrap as $id_wrap) {
         $obj = new AdvancedTopMenuColumnWrapClass($id_wrap);
         $obj->delete();
     }
     return parent::delete();
 }
 function hookDisplayMenu($params)
 {
     if ($this->_isInMaintenance()) {
         return;
     }
     $return = '';
     $cache = Configuration::get('ATM_CACHE');
     if (version_compare(_PS_VERSION_, '1.4.0.0', '>=') && !Configuration::get('PS_SMARTY_CACHE')) {
         $cache = false;
     }
     if ($cache) {
         if (Configuration::get('ATM_MENU_GLOBAL_ACTIF')) {
             $curUrl = explode('?', $_SERVER['REQUEST_URI']);
             $curUrl = $curUrl[0] . $this->getKeepVar();
             $strCacheUrl = sha1(preg_replace('#https?://' . preg_quote(htmlspecialchars($_SERVER['HTTP_HOST'], ENT_COMPAT, 'UTF-8') . __PS_BASE_URI__, '#') . '#i', '', $curUrl));
         } else {
             $strCacheUrl = 'global';
         }
         $adtmCacheId = sprintf('ADTM|%s|%d|%s|%d|%s', $strCacheUrl, $this->_cookie->id_lang, $this->_isLogged(), version_compare(_PS_VERSION_, '1.5.0.0', '>=') && Shop::isFeatureActive() ? $this->_context->shop->id : 0, implode('-', self::getCustomerGroups()));
         $this->_enableCachePM(2);
     }
     if (!$cache || version_compare(_PS_VERSION_, '1.4.0.0', '<') && !$this->_smarty->is_cached(dirname(__FILE__) . '/pm_advancedtopmenu.tpl', $adtmCacheId) || version_compare(_PS_VERSION_, '1.4.0.0', '>=') && !$this->isCached('pm_advancedtopmenu.tpl', $adtmCacheId)) {
         $menus = AdvancedTopMenuClass::getMenus($this->_cookie->id_lang, true, false, true);
         if (!sizeof($menus)) {
             $this->_restoreCacheSettingsPM();
             return;
         }
         $columnsWrap = AdvancedTopMenuColumnWrapClass::getMenusColumnsWrap($menus, $this->_cookie->id_lang);
         $columns = AdvancedTopMenuColumnClass::getMenusColums($columnsWrap, $this->_cookie->id_lang, true);
         $elements = AdvancedTopMenuElementsClass::getMenuColumnsElements($columns, $this->_cookie->id_lang, true, true);
         $advtmThemeCompatibility = (bool) Configuration::get('ATM_THEME_COMPATIBILITY_MODE');
         $advtmResponsiveMode = (bool) Configuration::get('ATM_RESPONSIVE_MODE') && (int) Configuration::get('ATM_RESPONSIVE_THRESHOLD') > 0;
         $advtmResponsiveToggleText = Configuration::get('ATM_RESP_TOGGLE_TEXT', $this->_cookie->id_lang) !== false && Configuration::get('ATM_RESP_TOGGLE_TEXT', $this->_cookie->id_lang) != '' ? Configuration::get('ATM_RESP_TOGGLE_TEXT', $this->_cookie->id_lang) : $this->l('Menu');
         $advtmResponsiveContainerClasses = trim(Configuration::get('ATM_RESP_CONT_CLASSES'));
         $this->_smarty->assign(array('advtmResponsiveContainerClasses' => $advtmResponsiveContainerClasses, 'advtmResponsiveToggleText' => $advtmResponsiveToggleText, 'advtmResponsiveMode' => $advtmResponsiveMode, 'advtmThemeCompatibility' => $advtmThemeCompatibility, 'advtm_menus' => $menus, 'advtm_columns_wrap' => $columnsWrap, 'advtm_columns' => $columns, 'advtm_elements' => $elements, 'advtm_obj' => $this, 'isLogged' => $this->_isLogged()));
     }
     if ($cache) {
         if (version_compare(_PS_VERSION_, '1.4.0.0', '<')) {
             $return = $this->fetchWithCache(__FILE__, 'pm_advancedtopmenu.tpl', $adtmCacheId, 3600);
         } else {
             $this->_smarty->cache_lifetime = 3600;
             $return = $this->display(__FILE__, 'pm_advancedtopmenu.tpl', $adtmCacheId);
         }
         $this->_restoreCacheSettingsPM();
         return $return;
     } else {
         $return = $this->display(__FILE__, 'pm_advancedtopmenu.tpl');
         $this->_smarty->caching = 0;
         return $return;
     }
 }