From 30d9ebe68f4fd89741b0f7e2eccc0ecee62d2b84 Mon Sep 17 00:00:00 2001 From: gRoussac Date: Mon, 12 Aug 2013 16:44:25 +0200 Subject: [PATCH] [-] FO : Fix bug #PSCFV-9624 try 302 redirect from old 1.4 images format to new _default before 404.gif --- controllers/front/PageNotFoundController.php | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/controllers/front/PageNotFoundController.php b/controllers/front/PageNotFoundController.php index a2483d4ca..3c4e58561 100644 --- a/controllers/front/PageNotFoundController.php +++ b/controllers/front/PageNotFoundController.php @@ -40,6 +40,20 @@ class PageNotFoundControllerCore extends FrontController if (in_array(Tools::strtolower(substr($_SERVER['REQUEST_URI'], -3)), array('png', 'jpg', 'gif'))) { + if ((bool)Configuration::get('PS_REWRITING_SETTINGS')) + preg_match('¤([0-9]+)(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/(.+)\.(png|jpg|gif)$¤', $_SERVER['REQUEST_URI'], $matches); + if ((!isset($matches[2]) || empty($matches[2])) && !(bool)Configuration::get('PS_REWRITING_SETTINGS')) + preg_match('¤/([0-9]+)(\-[_a-zA-Z]*)\.(png|jpg|gif)$¤', $_SERVER['REQUEST_URI'], $matches); + + if (is_array($matches) && !empty($matches[2]) && Tools::strtolower(substr($matches[2], -8)) != '_default' && is_numeric($matches[1])) + { + $matches[2] = substr($matches[2], 1, Tools::strlen($matches[2])).'_default'; + if (!isset($matches[4])) + $matches[4] = ''; + header('Location: '.$this->context->link->getImageLink($matches[4], $matches[1], $matches[2]), true, 302); + exit; + } + header('Content-Type: image/gif'); readfile(_PS_IMG_DIR_.'404.gif'); exit;