diff --git a/addons/default/visiosoft/advs-module/src/Adv/Command/appendRequestURL.php b/addons/default/visiosoft/advs-module/src/Adv/Command/appendRequestURL.php
index fbba5a48d..0c1d7eb93 100644
--- a/addons/default/visiosoft/advs-module/src/Adv/Command/appendRequestURL.php
+++ b/addons/default/visiosoft/advs-module/src/Adv/Command/appendRequestURL.php
@@ -11,16 +11,18 @@ class appendRequestURL
protected $request;
protected $url;
protected $new_parameters;
+ protected $remove_parameters;
/**
* appendRequestURL constructor.
* @param $request
*/
- public function __construct($request, $url, $new_parameters = [])
+ public function __construct($request, $url, $new_parameters = [], $remove_parameters = [])
{
$this->url = $url;
$this->request = $request;
$this->new_parameters = $new_parameters;
+ $this->remove_parameters = $remove_parameters;
}
/**
@@ -28,20 +30,23 @@ class appendRequestURL
*/
public function handle()
{
- if (count($this->new_parameters) === 0 && count($this->request) === 0) {
+
+ $request = $this->removeParameters($this->request);
+
+ if (count($this->new_parameters) === 0 && count($request) === 0) {
return $this->url;
- } elseif (count($this->new_parameters) > 0 && count($this->request) > 0) {
+ } elseif (count($this->new_parameters) > 0 && count($request) > 0) {
return $this->url
. (Str::contains($this->url, '?') ? '&' : '?')
- . Arr::query($this->appends(array_merge($this->request, $this->new_parameters)));
- } elseif (count($this->new_parameters) > 0 && count($this->request) === 0) {
+ . Arr::query($this->appends(array_merge($request, $this->new_parameters)));
+ } elseif (count($this->new_parameters) > 0 && count($request) === 0) {
return $this->url
. (Str::contains($this->url, '?') ? '&' : '?')
. Arr::query($this->appends($this->new_parameters));
- } elseif (count($this->new_parameters) === 0 && count($this->request) > 0) {
+ } elseif (count($this->new_parameters) === 0 && count($request) > 0) {
return $this->url
. (Str::contains($this->url, '?') ? '&' : '?')
- . Arr::query($this->appends($this->request));
+ . Arr::query($this->appends($request));
}
}
@@ -87,4 +92,13 @@ class appendRequestURL
return $this;
}
+
+ public function removeParameters(array $array)
+ {
+ foreach ($this->remove_parameters as $parameter) {
+ unset($array[$parameter]);
+ }
+
+ return $array;
+ }
}
diff --git a/addons/default/visiosoft/advs-module/src/AdvsModulePlugin.php b/addons/default/visiosoft/advs-module/src/AdvsModulePlugin.php
index b21686d59..6078ea99b 100644
--- a/addons/default/visiosoft/advs-module/src/AdvsModulePlugin.php
+++ b/addons/default/visiosoft/advs-module/src/AdvsModulePlugin.php
@@ -57,9 +57,9 @@ class AdvsModulePlugin extends Plugin
),
new \Twig_SimpleFunction(
'appendRequestURL',
- function ($request, $url, $new_parameters) {
+ function ($request, $url, $new_parameters, $removeParams = []) {
- return $this->dispatch(new appendRequestURL($request, $url, $new_parameters));
+ return $this->dispatch(new appendRequestURL($request, $url, $new_parameters, $removeParams));
}
),
new \Twig_SimpleFunction(
diff --git a/addons/default/visiosoft/cats-module/resources/views/ads-list/partials/list-filter.twig b/addons/default/visiosoft/cats-module/resources/views/ads-list/partials/list-filter.twig
index 6406321d6..7f1debffe 100644
--- a/addons/default/visiosoft/cats-module/resources/views/ads-list/partials/list-filter.twig
+++ b/addons/default/visiosoft/cats-module/resources/views/ads-list/partials/list-filter.twig
@@ -29,9 +29,9 @@
{% set citySlug = pathInfo[3] %}
{% endif %}
{{ name }}
@@ -41,9 +41,9 @@
{% if subcat.parent_category_id == maincat['id'] %}
{% set subCatId = entries('cats', 'category').find(subcat.id) %}
{{ subcat.name }}