[-] BO : Fix #PSCFV-9906 could not register search engines keywords

This commit is contained in:
gRoussac
2013-09-04 15:39:02 +02:00
parent 7b0349ca33
commit 3ca2c8da95

View File

@@ -83,7 +83,7 @@ class SEKeywords extends ModuleGraph
public function hookTop($params)
{
if (!isset($_SERVER['HTTP_REFERER']) || strstr($_SERVER['HTTP_REFERER'], Tools::getHttpHost(false, false)))
if (!isset($_SERVER['HTTP_REFERER']) || strpos($_SERVER['HTTP_REFERER'], Tools::getHttpHost(false, false) == 0))
return;
if ($keywords = $this->getKeywords($_SERVER['HTTP_REFERER']))
@@ -161,6 +161,7 @@ class SEKeywords extends ModuleGraph
$parsedUrl = parse_url($url);
if (!isset($parsedUrl['query']) && isset($parsedUrl['fragment']))
$parsedUrl['query'] = $parsedUrl['fragment'];
if (!isset($parsedUrl['query']))
return false;
@@ -173,11 +174,14 @@ class SEKeywords extends ModuleGraph
{
$kArray = array();
preg_match('/[^a-z]'.$varname.'=.+\&'.'/U', $parsedUrl['query'], $kArray);
if (!isset($kArray[0]) || empty($kArray[0]))
preg_match('/[^a-z]'.$varname.'=.+$'.'/', $parsedUrl['query'], $kArray);
if (!isset($kArray[0]) || empty($kArray[0]))
return false;
if ($kArray[0][0] == '&')
if ($kArray[0][0] == '&' && Tools::strlen($kArray[0]) == 1)
return false;
return urldecode(str_replace('+', ' ', ltrim(substr(rtrim($kArray[0], '&'), strlen($varname) + 1), '=')));
}