public function init() { if (Tools::getValue('manufacturer_rewrite')) { $name_manufacturer = str_replace('-', '%', Tools::getValue('manufacturer_rewrite')); // // TODO:: need to core update Prestashop code and // DB for link_rewrite for manufacturers // Should we use the Mysql FullText Index Search ?? // $sql = 'SELECT m.`id_manufacturer` FROM `' . _DB_PREFIX_ . 'manufacturer` m LEFT JOIN `' . _DB_PREFIX_ . 'manufacturer_shop` s ON (m.`id_manufacturer` = s.`id_manufacturer`) WHERE m.`name` LIKE \'' . $name_manufacturer . '\''; if (Shop::isFeatureActive() && Shop::getContext() == Shop::CONTEXT_SHOP) { $sql .= ' AND s.`id_shop` = ' . (int) Shop::getContextShopID(); } $id_manufacturer = (int) Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue($sql); if ($id_manufacturer > 0) { $_GET['id_manufacturer'] = $id_manufacturer; $_GET['noredirect'] = 1; } else { //TODO: Do we need to send 404? header('HTTP/1.1 404 Not Found'); header('Status: 404 Not Found'); } } parent::init(); }
public function init() { if ($manufacturer_rewrite = Tools::getValue('manufacturer_rewrite')) { $sql = 'SELECT m.`id_manufacturer` FROM `' . _DB_PREFIX_ . 'manufacturer` m LEFT JOIN `' . _DB_PREFIX_ . 'manufacturer_shop` s ON (m.`id_manufacturer` = s.`id_manufacturer`) WHERE m.`name` LIKE \'' . pSQL(str_replace('-', '_', $manufacturer_rewrite)) . '\''; if (Shop::isFeatureActive() && Shop::getContext() == Shop::CONTEXT_SHOP) { $sql .= ' AND s.`id_shop` = ' . (int) Shop::getContextShopID(); } $id_manufacturer = (int) Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue($sql); if ($id_manufacturer > 0) { $_GET['id_manufacturer'] = $id_manufacturer; } } parent::init(); }
public function init() { if (Tools::getValue('manufacturer_rewrite')) { $name_manufacturer = str_replace('-', '%', Tools::getValue('manufacturer_rewrite')); $id_manufacturer = Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue(' SELECT `id_manufacturer` FROM `' . _DB_PREFIX_ . 'manufacturer` WHERE `name` LIKE \'' . $name_manufacturer . '\''); if ($id_manufacturer > 0) { $_GET['id_manufacturer'] = $id_manufacturer; $_GET['noredirect'] = 1; } else { Tools::display404Error(); die; } } parent::init(); }
/** * Method init() : Initialize manufacturer controller with manufacturer_rewrite params * * @module now_seo_links * * @see ManufacturerControllerCore::init() */ public function init() { // Get rewrite $sRewrite = str_replace('-', '%', Tools::getValue('manufacturer_rewrite', false)); if ($sRewrite) { $iIdManufacturer = (int) Db::getInstance(_PS_USE_SQL_SLAVE_)->getValue(' SELECT `id_manufacturer` FROM `' . _DB_PREFIX_ . 'manufacturer` WHERE `name` LIKE \'' . $sRewrite . '\' '); if ($iIdManufacturer) { $_GET['id_manufacturer'] = $iIdManufacturer; } } parent::init(); // On vérifie si l'URL actuelle est correcte ou pas $goodUrl = Context::getContext()->link->getManufacturerLink($this->manufacturer); if (!preg_match('#' . $_SERVER['REDIRECT_URL'] . '#', $goodUrl)) { header('Status: 301 Moved Permanently', false, 301); header('Location: ' . $goodUrl); exit; } }