Esempio n. 1
0
 public function checkVersion($version)
 {
     $versions = array('3.0.0');
     if ($version && $version == $versions[count($versions) - 1]) {
         return;
     }
     foreach ($versions as $ver) {
         if (!$version || $version && $version < $ver) {
             if ($this->checktable()) {
                 $checkcolumn = Db::getInstance()->executeS("\n        \t\t\t\tSELECT * FROM INFORMATION_SCHEMA.COLUMNS\n        \t\t\t\t\tWHERE TABLE_SCHEMA = '" . _DB_NAME_ . "'\n        \t\t\t\t\t\tAND TABLE_NAME='" . _DB_PREFIX_ . "btmegamenu_lang'\n        \t\t\t\t\t\tAND COLUMN_NAME ='url'\n    \t\t\t\t");
                 if (count($checkcolumn) < 1) {
                     Db::getInstance()->execute('
 						ALTER TABLE `' . _DB_PREFIX_ . 'btmegamenu_lang` 
 							ADD `url` varchar(255) DEFAULT NULL');
                     $menus = Db::getInstance()->executeS('SELECT `id_btmegamenu`,`id_parent`,`url` FROM `' . _DB_PREFIX_ . 'btmegamenu`');
                     if ($menus) {
                         foreach ($menus as $menu) {
                             if ($menu['id_parent'] != 0) {
                                 $megamenu = new Btmegamenu((int) $menu['id_btmegamenu']);
                                 foreach ($megamenu->url as &$url) {
                                     $url = $menu['url'] ? $menu['url'] : '';
                                     # validate module
                                     $validate_module = $url;
                                     unset($validate_module);
                                 }
                                 $megamenu->update();
                             }
                         }
                     }
                     Db::getInstance()->execute('ALTER TABLE `' . _DB_PREFIX_ . 'btmegamenu` DROP `url`');
                     Configuration::updateValue('LEO_MEGAMENU_VERSION', $ver);
                 }
             }
         }
     }
 }
Esempio n. 2
0
 private function _postProcess()
 {
     $errors = array();
     /* Processes Slider */
     if (Tools::isSubmit('submitUpdateConfig')) {
         $res = $this->getParams()->batchUpdate($this->_configs);
         $this->getParams()->refreshConfig();
         if (!$res) {
             $errors[] = $this->l('Configuration could not be updated');
         }
         $this->_html .= $this->displayConfirmation($this->l('Configuration updated'));
     } elseif (Tools::isSubmit('saveMenu') || Tools::isSubmit('saveMenuAndEdit')) {
         /* Sets ID if needed */
         if (Tools::getValue('id_btmegamenu')) {
             $objMenu = new Btmegamenu((int) Tools::getValue('id_btmegamenu'));
             if (!Validate::isLoadedObject($objMenu)) {
                 $this->_html .= $this->displayError($this->l('Invalid id_btmegamenu'));
                 return;
             }
         } else {
             $objMenu = new Btmegamenu();
         }
         if (isset($_FILES['fileicon']) && $_FILES['fileicon']['name']) {
             $objMenu->image = $_FILES['fileicon']['name'];
             if (!$this->_lofUpload()) {
                 $errors[] = $this->l('Can\'t upload icon');
             }
         }
         /* Sets position */
         $objMenu->active = (int) Tools::getValue('menu_active');
         $objMenu->type = Tools::getValue('type');
         if ($objMenu->type == 'url') {
             $objMenu->url = Tools::getValue('url');
         }
         if ($objMenu->type == 'category') {
             $objMenu->item = Tools::getValue('type_category');
         }
         if ($objMenu->type == 'product') {
             $objMenu->item = Tools::getValue('type_product');
         }
         if ($objMenu->type == 'manufacturer') {
             $objMenu->item = Tools::getValue('type_manufacturer');
         }
         if ($objMenu->type == 'supplier') {
             $objMenu->item = Tools::getValue('type_supplier');
         }
         if ($objMenu->type == 'cms') {
             $objMenu->item = Tools::getValue('type_cms');
         }
         $objMenu->id_parent = Tools::getValue('id_parent');
         $objMenu->menu_class = Tools::getValue('menu_class');
         $objMenu->show_title = Tools::getValue('show_title');
         $objMenu->is_group = Tools::getValue('is_group');
         $objMenu->is_content = Tools::getValue('is_content');
         $objMenu->colums = Tools::getValue('colums');
         $objMenu->submenu_colum_width = Tools::getValue('submenu_colum_width');
         $objMenu->type_submenu = Tools::getValue('type_submenu');
         /* Sets each langue fields */
         $languages = Language::getLanguages(false);
         foreach ($languages as $language) {
             if (Tools::getValue('title_' . $language['id_lang']) != '') {
                 $objMenu->title[$language['id_lang']] = pSQL(Tools::getValue('title_' . $language['id_lang']));
             }
             if (Tools::getValue('description_' . $language['id_lang']) != '') {
                 $objMenu->description[$language['id_lang']] = pSQL(Tools::getValue('description_' . $language['id_lang']));
             }
             if (Tools::getValue('content_text_' . $language['id_lang']) != '' && Tools::getValue('type') == 'html') {
                 $objMenu->content_text[$language['id_lang']] = Tools::getValue('content_text_' . $language['id_lang']);
             }
             if (Tools::getValue('submenu_content_text_' . $language['id_lang']) != '' && Tools::getValue('type_submenu') == 'html') {
                 $objMenu->submenu_content_text[$language['id_lang']] = Tools::getValue('submenu_content_text_' . $language['id_lang']);
             }
         }
         /* Processes if no errors  */
         if (!$errors) {
             /* Adds */
             if (!Tools::getValue('id_btmegamenu')) {
                 if (!$objMenu->add()) {
                     $errors[] = $this->l('Menu could not be added');
                 }
             } elseif (!$objMenu->update()) {
                 $errors[] = $this->l('Menu could not be updated');
             }
             if (!$errors) {
                 if (Tools::isSubmit('saveMenuAndEdit')) {
                     Tools::redirectAdmin($this->base_config_url . '&id_btmegamenu=' . $objMenu->id);
                 } else {
                     Tools::redirectAdmin($this->base_config_url);
                 }
             }
         }
     } elseif (Tools::getValue('deleteMenu')) {
         $obj = new Btmegamenu((int) Tools::getValue('id_btmegamenu'));
         $res = $obj->delete();
         if (!$res) {
             $this->_html .= $this->displayError('Could not delete');
         } else {
             $this->_html .= $this->displayConfirmation($this->l('menu deleted'));
         }
     }
     /* Display errors if needed */
     if (count($errors)) {
         $this->_html .= $this->displayError(implode('<br />', $errors));
     } elseif (Tools::isSubmit('submitSlide') && Tools::getValue('id_slide')) {
         $this->_html .= $this->displayConfirmation($this->l('Slide updated'));
     } elseif (Tools::isSubmit('submitSlide')) {
         $this->_html .= $this->displayConfirmation($this->l('Slide added'));
     }
 }