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); } } } } }
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')); } }