[-] BO : Fix #PSCFV-9906 could not register search engines keywords
This commit is contained in:
@@ -83,7 +83,7 @@ class SEKeywords extends ModuleGraph
|
|||||||
|
|
||||||
public function hookTop($params)
|
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;
|
return;
|
||||||
|
|
||||||
if ($keywords = $this->getKeywords($_SERVER['HTTP_REFERER']))
|
if ($keywords = $this->getKeywords($_SERVER['HTTP_REFERER']))
|
||||||
@@ -161,6 +161,7 @@ class SEKeywords extends ModuleGraph
|
|||||||
$parsedUrl = parse_url($url);
|
$parsedUrl = parse_url($url);
|
||||||
if (!isset($parsedUrl['query']) && isset($parsedUrl['fragment']))
|
if (!isset($parsedUrl['query']) && isset($parsedUrl['fragment']))
|
||||||
$parsedUrl['query'] = $parsedUrl['fragment'];
|
$parsedUrl['query'] = $parsedUrl['fragment'];
|
||||||
|
|
||||||
if (!isset($parsedUrl['query']))
|
if (!isset($parsedUrl['query']))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
@@ -173,11 +174,14 @@ class SEKeywords extends ModuleGraph
|
|||||||
{
|
{
|
||||||
$kArray = array();
|
$kArray = array();
|
||||||
preg_match('/[^a-z]'.$varname.'=.+\&'.'/U', $parsedUrl['query'], $kArray);
|
preg_match('/[^a-z]'.$varname.'=.+\&'.'/U', $parsedUrl['query'], $kArray);
|
||||||
|
|
||||||
if (!isset($kArray[0]) || empty($kArray[0]))
|
if (!isset($kArray[0]) || empty($kArray[0]))
|
||||||
preg_match('/[^a-z]'.$varname.'=.+$'.'/', $parsedUrl['query'], $kArray);
|
preg_match('/[^a-z]'.$varname.'=.+$'.'/', $parsedUrl['query'], $kArray);
|
||||||
|
|
||||||
if (!isset($kArray[0]) || empty($kArray[0]))
|
if (!isset($kArray[0]) || empty($kArray[0]))
|
||||||
return false;
|
return false;
|
||||||
if ($kArray[0][0] == '&')
|
|
||||||
|
if ($kArray[0][0] == '&' && Tools::strlen($kArray[0]) == 1)
|
||||||
return false;
|
return false;
|
||||||
return urldecode(str_replace('+', ' ', ltrim(substr(rtrim($kArray[0], '&'), strlen($varname) + 1), '=')));
|
return urldecode(str_replace('+', ' ', ltrim(substr(rtrim($kArray[0], '&'), strlen($varname) + 1), '=')));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user