// Fix HTML validation on URLs (replace & per &)

git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@8355 b9a71923-0436-4b27-9f14-aed3839534dd
This commit is contained in:
rMalie
2011-09-06 09:58:11 +00:00
parent 79fd72e461
commit e7b5cd5b95
7 changed files with 9 additions and 9 deletions
+2 -2
View File
@@ -325,7 +325,7 @@ class DispatcherCore
if (!isset($this->routes[$routeID]))
{
$query = http_build_query($params);
return ($routeID == 'index') ? 'index.php'.(($query) ? '?'.$query : '') : 'index.php?controller='.$routeID.(($query) ? '&'.$query : '');
return ($routeID == 'index') ? 'index.php'.(($query) ? '?'.$query : '') : 'index.php?controller='.$routeID.(($query) ? '&'.$query : '');
}
$route = $this->routes[$routeID];
@@ -360,7 +360,7 @@ class DispatcherCore
}
// Build a classic url index.php?controller=foo&...
else
$url = 'index.php?controller='.$route['controller'].(($queryParams) ? '&'.http_build_query($queryParams) : '');
$url = 'index.php?controller='.$route['controller'].(($queryParams) ? '&'.http_build_query($queryParams) : '');
return $url;
}
+1 -1
View File
@@ -383,7 +383,7 @@ class FrontControllerCore
{
// $_SERVER['HTTP_HOST'] must be replaced by the real canonical domain
$canonicalURL = $this->context->link->getPageLink($this->php_self, $this->ssl, $this->context->language->id);
$canonicalURL = str_replace('&', '&', $this->context->link->getPageLink($this->php_self, $this->ssl, $this->context->language->id));
if (!Tools::getValue('ajax') && !preg_match('/^'.Tools::pRegexp($canonicalURL, '/').'([&?].*)?$/', (($this->ssl AND Configuration::get('PS_SSL_ENABLED')) ? 'https://' : 'http://').$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']))
{
header('HTTP/1.0 301 Moved');
+1 -1
View File
@@ -311,7 +311,7 @@ class LinkCore
$uri_path = Dispatcher::getInstance()->createUrl($controller);
$url = ($ssl AND Configuration::get('PS_SSL_ENABLED')) ? Tools::getShopDomainSsl(true) : Tools::getShopDomain(true);
$url .= __PS_BASE_URI__.$this->getLangLink($id_lang).ltrim($uri_path, '/');
$url .= ($request ? ((strpos($url, '?') === false ? '?' : '&').trim($request)) : '');
$url .= ($request ? ((strpos($url, '?') === false ? '?' : '&').trim($request)) : '');
return $url;
}
+2 -2
View File
@@ -39,7 +39,7 @@ class CmsControllerCore extends FrontController
if (Configuration::get('PS_CANONICAL_REDIRECT'))
{
if (Validate::isLoadedObject($this->cms) AND $canonicalURL = $this->context->link->getCMSLink($this->cms))
if (Validate::isLoadedObject($this->cms) AND $canonicalURL = str_replace('&', '&', $this->context->link->getCMSLink($this->cms)))
if (!preg_match('/^'.Tools::pRegexp($canonicalURL, '/').'([&?].*)?$/', Tools::getProtocol().$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']))
{
header('HTTP/1.0 301 Moved');
@@ -47,7 +47,7 @@ class CmsControllerCore extends FrontController
die('[Debug] This page has moved<br />Please use the following URL instead: <a href="'.$canonicalURL.'">'.$canonicalURL.'</a>');
Tools::redirectLink($canonicalURL);
}
if (Validate::isLoadedObject($this->cms_category) AND $canonicalURL = $this->context->link->getCMSCategoryLink($this->cms_category))
if (Validate::isLoadedObject($this->cms_category) AND $canonicalURL = str_replace('&amp;', '&', $this->context->link->getCMSCategoryLink($this->cms_category)))
if (!preg_match('/^'.Tools::pRegexp($canonicalURL, '/').'([&?].*)?$/', Tools::getProtocol().$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']))
{
header('HTTP/1.0 301 Moved');
+1 -1
View File
@@ -40,7 +40,7 @@ class ManufacturerControllerCore extends FrontController
{
if (Validate::isLoadedObject($this->manufacturer))
{
$canonicalURL = $this->context->link->getManufacturerLink($this->manufacturer);
$canonicalURL = str_replace('&amp;', '&', $this->context->link->getManufacturerLink($this->manufacturer));
if (!preg_match('/^'.Tools::pRegexp($canonicalURL, '/').'([&?].*)?$/', Tools::getProtocol().$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']))
{
header('HTTP/1.0 301 Moved');
+1 -1
View File
@@ -56,7 +56,7 @@ class ProductControllerCore extends FrontController
// $_SERVER['HTTP_HOST'] must be replaced by the real canonical domain
if (Validate::isLoadedObject($this->product))
{
$canonicalURL = $this->context->link->getProductLink($this->product);
$canonicalURL = str_replace('&amp;', '&', $this->context->link->getProductLink($this->product));
if (!preg_match('/^'.Tools::pRegexp($canonicalURL, '/').'([&?].*)?$/', Tools::getProtocol().$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']))
{
header('HTTP/1.0 301 Moved');
+1 -1
View File
@@ -43,7 +43,7 @@ class SupplierControllerCore extends FrontController
{
if (Validate::isLoadedObject($this->supplier))
{
$canonicalURL = $this->context->link->getSupplierLink($this->supplier);
$canonicalURL = str_replace('&amp;', '&', $this->context->link->getSupplierLink($this->supplier));
if (!preg_match('/^'.Tools::pRegexp($canonicalURL, '/').'([&?].*)?$/', Tools::getProtocol().$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']))
{
header('HTTP/1.0 301 Moved');