From f0f50db926a017acdc1efc23a6d0c7f59e644d4c Mon Sep 17 00:00:00 2001 From: vAugagneur Date: Wed, 2 Jan 2013 14:40:35 +0100 Subject: [PATCH] [-] FO : fixed bug #PSCFV-6411 Friendly URL on prices-drop for page 2 doesn't work --- classes/Link.php | 6 +++++- classes/Meta.php | 19 ++++++++++++++----- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/classes/Link.php b/classes/Link.php index 0c7e56951..2366f0243 100644 --- a/classes/Link.php +++ b/classes/Link.php @@ -535,7 +535,11 @@ class LinkCore } if (!$array) - return $url.(($this->allow == 1 || $url == $this->url) ? '?' : '&').http_build_query($vars, '', '&'); + if (count($vars)) + return $url.(($this->allow == 1 || $url == $this->url) ? '?' : '&').http_build_query($vars, '', '&'); + else + return $url; + $vars['requestUrl'] = $url; if ($type && $id_object) diff --git a/classes/Meta.php b/classes/Meta.php index 925321a8b..136c27cfb 100644 --- a/classes/Meta.php +++ b/classes/Meta.php @@ -65,11 +65,20 @@ class MetaCore extends ObjectModel ); foreach ($files as $file) - if ($file != 'index.php' && preg_match('/^[a-z0-9_.-]*\.php$/i', $file) && !in_array(strtolower(str_replace('Controller.php', '', $file)), $exlude_pages)) - $selected_pages[strtolower(str_replace('Controller.php', '', $file))] = strtolower(str_replace('Controller.php', '', $file)); - else if ($file != 'index.php' && preg_match('/^([a-z0-9_.-]*\/)?[a-z0-9_.-]*\.php$/i', $file) && !in_array(strtolower(str_replace('Controller.php', '', $file)), $exlude_pages)) - $selected_pages[strtolower(sprintf(Tools::displayError('%2$s (in %1$s)'), dirname($file), str_replace('Controller.php', '', basename($file))))] = strtolower(str_replace('Controller.php', '', basename($file))); - + { + if ($file != 'index.php' && !in_array(strtolower(str_replace('Controller.php', '', $file)), $exlude_pages)) + { + $reflection = new ReflectionClass(str_replace('.php', '', $file)); + $properties = $reflection->getDefaultProperties(); + if (isset($properties['php_self'])) + $selected_pages[$properties['php_self']] = $properties['php_self']; + else if (preg_match('/^[a-z0-9_.-]*\.php$/i', $file)) + $selected_pages[strtolower(str_replace('Controller.php', '', $file))] = strtolower(str_replace('Controller.php', '', $file)); + else if (preg_match('/^([a-z0-9_.-]*\/)?[a-z0-9_.-]*\.php$/i', $file)) + $selected_pages[strtolower(sprintf(Tools::displayError('%2$s (in %1$s)'), dirname($file), str_replace('Controller.php', '', basename($file))))] = strtolower(str_replace('Controller.php', '', basename($file))); + } + } + // Add modules controllers to list (this function is cool !) foreach (glob(_PS_MODULE_DIR_.'*/controllers/front/*.php') as $file) {