From 6381dcc53a42183d21feda13c25a40353d5e26e9 Mon Sep 17 00:00:00 2001 From: vedatakd Date: Tue, 18 Aug 2020 11:22:10 +0300 Subject: [PATCH 1/4] remove page params for change category --- .../src/Adv/Command/appendRequestURL.php | 28 ++++++++++++++----- .../advs-module/src/AdvsModulePlugin.php | 4 +-- .../views/ads-list/partials/list-filter.twig | 8 +++--- 3 files changed, 27 insertions(+), 13 deletions(-) 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 }} From b69caea84f69110c610e438f9f1eac2d3d91c9fb Mon Sep 17 00:00:00 2001 From: vedatakd Date: Tue, 18 Aug 2020 12:02:20 +0300 Subject: [PATCH 2/4] filter optional --- .../resources/config/settings/sections.php | 6 + .../resources/config/settings/settings.php | 27 ++ .../advs-module/resources/lang/en/section.php | 1 + .../advs-module/resources/lang/en/setting.php | 13 + .../views/list/partials/list-filter.twig | 351 +++++++++--------- .../views/list/partials/price-filter.twig | 77 ++-- .../views/ads-list/partials/list-filter.twig | 3 +- .../resources/config/settings/sections.php | 6 + .../resources/config/settings/settings.php | 7 + .../resources/lang/en/section.php | 1 + .../resources/lang/en/setting.php | 4 + .../views/ads-list/partials/list-filter.twig | 43 +-- 12 files changed, 309 insertions(+), 230 deletions(-) diff --git a/addons/default/visiosoft/advs-module/resources/config/settings/sections.php b/addons/default/visiosoft/advs-module/resources/config/settings/sections.php index 0ccb51009..50d32db0f 100644 --- a/addons/default/visiosoft/advs-module/resources/config/settings/sections.php +++ b/addons/default/visiosoft/advs-module/resources/config/settings/sections.php @@ -43,6 +43,12 @@ return [ 'register_email_field', ], ], + 'filter' => [ + 'title' => 'visiosoft.module.advs::section.filter', + 'fields' => [ + 'hide_price_filter','hide_date_filter','hide_photo_filter','hide_map_filter' + ], + ], ], ], ]; diff --git a/addons/default/visiosoft/advs-module/resources/config/settings/settings.php b/addons/default/visiosoft/advs-module/resources/config/settings/settings.php index 6bc7c9c99..8a69b1286 100644 --- a/addons/default/visiosoft/advs-module/resources/config/settings/settings.php +++ b/addons/default/visiosoft/advs-module/resources/config/settings/settings.php @@ -201,4 +201,31 @@ return [ 'default_value' => true, ], ], + + 'hide_price_filter' => [ + 'type' => 'anomaly.field_type.boolean', + 'config' => [ + 'default_value' => false, + ] + ], + + 'hide_date_filter' => [ + 'type' => 'anomaly.field_type.boolean', + 'config' => [ + 'default_value' => false, + ] + ], + + 'hide_photo_filter' => [ + 'type' => 'anomaly.field_type.boolean', + 'config' => [ + 'default_value' => false, + ] + ], + 'hide_map_filter' => [ + 'type' => 'anomaly.field_type.boolean', + 'config' => [ + 'default_value' => false, + ] + ], ]; diff --git a/addons/default/visiosoft/advs-module/resources/lang/en/section.php b/addons/default/visiosoft/advs-module/resources/lang/en/section.php index d59a01842..926f1c534 100644 --- a/addons/default/visiosoft/advs-module/resources/lang/en/section.php +++ b/addons/default/visiosoft/advs-module/resources/lang/en/section.php @@ -40,6 +40,7 @@ return [ 'general' => 'General', 'ads' => 'Ads', 'user' => 'User', + 'filter' => 'Filter', 'options' => [ 'title' => 'Options', ], diff --git a/addons/default/visiosoft/advs-module/resources/lang/en/setting.php b/addons/default/visiosoft/advs-module/resources/lang/en/setting.php index b1aaeb21a..026e78216 100644 --- a/addons/default/visiosoft/advs-module/resources/lang/en/setting.php +++ b/addons/default/visiosoft/advs-module/resources/lang/en/setting.php @@ -133,4 +133,17 @@ return [ 'market_place' => [ 'name' => 'Market Place', ], + + 'hide_price_filter' => [ + 'name' => 'Hide Price Filter', + ], + 'hide_date_filter' => [ + 'name' => 'Hide Date Filter', + ], + 'hide_photo_filter' => [ + 'name' => 'Hide Photo Filter', + ], + 'hide_map_filter' => [ + 'name' => 'Hide Map Filter', + ], ]; diff --git a/addons/default/visiosoft/advs-module/resources/views/list/partials/list-filter.twig b/addons/default/visiosoft/advs-module/resources/views/list/partials/list-filter.twig index bd87c0b30..4c51702b9 100644 --- a/addons/default/visiosoft/advs-module/resources/views/list/partials/list-filter.twig +++ b/addons/default/visiosoft/advs-module/resources/views/list/partials/list-filter.twig @@ -1,191 +1,202 @@ {% set formHtml %} -
-{% endset %} -{% set catSlug = null %} -{% set citySlug = null %} -{% set pathInfo = app.request.pathinfo|split('/') %} -{% if pathInfo[1] == 'c' %} - {% set catSlug = pathInfo[2] %} -{% endif %} -{% if pathInfo|length is same as(4) %} - {% set citySlug = pathInfo[3] %} -{% endif %} -{% if catSlug %} - {% set formHtml %} - + {% endset %} -{% endif %} -{{ formHtml }} -
- - -
-
-
+ {% set catSlug = null %} + {% set citySlug = null %} + {% set pathInfo = app.request.pathinfo|split('/') %} + {% if pathInfo[1] == 'c' %} + {% set catSlug = pathInfo[2] %} + {% endif %} + {% if pathInfo|length is same as(4) %} + {% set citySlug = pathInfo[3] %} + {% endif %} + {% if catSlug %} + {% set formHtml %} + + {% endset %} + {% endif %} + {{ formHtml }} +
+ + +
+
+
- {{ addBlock('ads-list/partials/list-filter',{ - 'mainCats':mainCats, - 'subCats':subCats, - 'ranges':ranges, - 'checkboxes':checkboxes, - 'topfields' : topfields, - 'selectDropdown' : selectDropdown, - 'selectRange' : selectRange, - 'selectImage' : selectImage, - 'radio':radio, - 'countries':countries, - 'cities':cities, - 'districts':districts, - 'neighborhoods':neighborhoods, - 'villages':villages, - 'param':param, - 'categoryId':categoryId, - 'cityId':cityId, - '_ORDER_':['visiosoft.module.cats', 'visiosoft.module.location'] - })|raw }} + {{ addBlock('ads-list/partials/list-filter',{ + 'mainCats':mainCats, + 'subCats':subCats, + 'ranges':ranges, + 'checkboxes':checkboxes, + 'topfields' : topfields, + 'selectDropdown' : selectDropdown, + 'selectRange' : selectRange, + 'selectImage' : selectImage, + 'radio':radio, + 'countries':countries, + 'cities':cities, + 'districts':districts, + 'neighborhoods':neighborhoods, + 'villages':villages, + 'param':param, + 'categoryId':categoryId, + 'cityId':cityId, + '_ORDER_':['visiosoft.module.cats', 'visiosoft.module.location'] + })|raw }} - - {% include 'visiosoft.module.advs::list/partials/price-filter' %} - + + {% include 'visiosoft.module.advs::list/partials/price-filter' %} + - -
- -
-
-
- - + {% if setting_value('visiosoft.module.advs::hide_date_filter') == false %} + +
+ -
- - -
-
- - +
+
+
+ + +
+
+ + +
+
+ + +
+
-
-
- + + {% endif %} - -
- -
-
-
- - + {% if setting_value('visiosoft.module.advs::hide_photo_filter') == false %} + +
+ -
- - +
+
+
+ + +
+
+ + +
+
-
-
- + + {% endif %} - -
- -
-
-
- - + {% if setting_value('visiosoft.module.advs::hide_map_filter') == false %} + +
+ +
+
+
+ + +
+
-
-
- + + {% endif %} -
-
-
- -
+
+
+
+ +
+
-
- \ No newline at end of file + \ No newline at end of file diff --git a/addons/default/visiosoft/advs-module/resources/views/list/partials/price-filter.twig b/addons/default/visiosoft/advs-module/resources/views/list/partials/price-filter.twig index ecc9f995c..66919ed56 100644 --- a/addons/default/visiosoft/advs-module/resources/views/list/partials/price-filter.twig +++ b/addons/default/visiosoft/advs-module/resources/views/list/partials/price-filter.twig @@ -1,41 +1,44 @@ -
- -
-
- {% set active_currencies = setting_value('visiosoft.module.advs::enabled_currencies') %} -
- -
-
- +{% if setting_value('visiosoft.module.advs::hide_price_filter') == false %} +
+ +
+
+ {% set active_currencies = setting_value('visiosoft.module.advs::enabled_currencies') %} +
+ +
+
+ + +
+
+ +
-
- -
-
-
\ No newline at end of file +{% endif %} \ No newline at end of file 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 7f1debffe..81d0a953b 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 @@ -8,8 +8,7 @@
-
+
{% for maincat in params.mainCats %} {% set name = maincat['val'] %} diff --git a/addons/default/visiosoft/location-module/resources/config/settings/sections.php b/addons/default/visiosoft/location-module/resources/config/settings/sections.php index 19415e02c..dc87cbf02 100644 --- a/addons/default/visiosoft/location-module/resources/config/settings/sections.php +++ b/addons/default/visiosoft/location-module/resources/config/settings/sections.php @@ -22,6 +22,12 @@ return [ 'google_map_key', 'map_coordinates_long', 'map_coordinates_lat' ], ], + 'filter' => [ + 'title' => 'visiosoft.module.location::section.filter', + 'fields' => [ + 'hide_location_filter' + ], + ], 'html' => [ 'html' => '{% include "visiosoft.module.location::settings/field" %}', ], diff --git a/addons/default/visiosoft/location-module/resources/config/settings/settings.php b/addons/default/visiosoft/location-module/resources/config/settings/settings.php index 25e8b0561..5a75e3123 100644 --- a/addons/default/visiosoft/location-module/resources/config/settings/settings.php +++ b/addons/default/visiosoft/location-module/resources/config/settings/settings.php @@ -68,4 +68,11 @@ return [ 'default_value' => '40.97817786299617', ], ], + + 'hide_location_filter' => [ + 'type' => 'anomaly.field_type.boolean', + 'config' => [ + 'default_value' => false, + ], + ], ]; \ No newline at end of file diff --git a/addons/default/visiosoft/location-module/resources/lang/en/section.php b/addons/default/visiosoft/location-module/resources/lang/en/section.php index ced3f6e9e..dd4fec49a 100644 --- a/addons/default/visiosoft/location-module/resources/lang/en/section.php +++ b/addons/default/visiosoft/location-module/resources/lang/en/section.php @@ -19,4 +19,5 @@ return [ 'general' => 'General', 'map' => 'Map', 'setting' => 'Setting', + 'filter' => 'Filter', ]; diff --git a/addons/default/visiosoft/location-module/resources/lang/en/setting.php b/addons/default/visiosoft/location-module/resources/lang/en/setting.php index 2bb096a0e..05cfd8e38 100644 --- a/addons/default/visiosoft/location-module/resources/lang/en/setting.php +++ b/addons/default/visiosoft/location-module/resources/lang/en/setting.php @@ -40,4 +40,8 @@ return [ 'map_coordinates_lat' => [ 'name' => 'Default Lat', ], + + 'hide_location_filter' => [ + 'name' => 'Hide Location Filter', + ], ]; diff --git a/addons/default/visiosoft/location-module/resources/views/ads-list/partials/list-filter.twig b/addons/default/visiosoft/location-module/resources/views/ads-list/partials/list-filter.twig index 02f7b51ff..13fa936b5 100644 --- a/addons/default/visiosoft/location-module/resources/views/ads-list/partials/list-filter.twig +++ b/addons/default/visiosoft/location-module/resources/views/ads-list/partials/list-filter.twig @@ -1,23 +1,24 @@ -{% if setting_value('visiosoft.module.location::list_page_location') %} -
- - - {{ asset_add("scripts.js", "visiosoft.module.location::js/filterLocation.js") }} - {{ asset_add("styles.css", "visiosoft.module.location::css/filterLocation.css") }} + + {{ asset_add("scripts.js", "visiosoft.module.location::js/filterLocation.js") }} + {{ asset_add("styles.css", "visiosoft.module.location::css/filterLocation.css") }} + {% endif %} {% endif %} \ No newline at end of file From 685e258be8d2c097cdcecce29fdbf25b0220d387 Mon Sep 17 00:00:00 2001 From: vedatakd Date: Tue, 18 Aug 2020 15:34:07 +0300 Subject: [PATCH 3/4] fixed messy --- .../src/Adv/Command/appendRequestURL.php | 25 ++++++++----------- 1 file changed, 11 insertions(+), 14 deletions(-) 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 0c1d7eb93..8b85930e4 100644 --- a/addons/default/visiosoft/advs-module/src/Adv/Command/appendRequestURL.php +++ b/addons/default/visiosoft/advs-module/src/Adv/Command/appendRequestURL.php @@ -32,24 +32,21 @@ class appendRequestURL { $request = $this->removeParameters($this->request); + $count_newParameters = count($this->new_parameters); + $count_request = count($this->request); - if (count($this->new_parameters) === 0 && count($request) === 0) { - return $this->url; - } elseif (count($this->new_parameters) > 0 && count($request) > 0) { - return $this->url - . (Str::contains($this->url, '?') ? '&' : '?') - . 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($request) > 0) { - return $this->url - . (Str::contains($this->url, '?') ? '&' : '?') - . Arr::query($this->appends($request)); + if ($count_newParameters > 0) { + return ($count_request > 0) ? $this->createURL(array_merge($request, $this->new_parameters)) : $this->createURL($this->new_parameters); + } else { + return ($count_request > 0) ? $this->createURL($request) : $this->url; } } + public function createURL($append) + { + return $this->url . (Str::contains($this->url, '?') ? '&' : '?') . Arr::query($this->appends($append)); + } + /** * @param $key * @param null $value From 597f53a788aad98166e2ed5b71888d876ba5d541 Mon Sep 17 00:00:00 2001 From: vedatakd Date: Tue, 18 Aug 2020 17:43:14 +0300 Subject: [PATCH 4/4] add booking layouts --- .../resources/views/layouts/booking.twig | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 addons/default/visiosoft/base-theme/resources/views/layouts/booking.twig diff --git a/addons/default/visiosoft/base-theme/resources/views/layouts/booking.twig b/addons/default/visiosoft/base-theme/resources/views/layouts/booking.twig new file mode 100644 index 000000000..04b3fefe9 --- /dev/null +++ b/addons/default/visiosoft/base-theme/resources/views/layouts/booking.twig @@ -0,0 +1,18 @@ + + + + + + {% block styles %}{% endblock %} + + +
+ + {% include "theme::partials/messages" %} + + {% block content %} + {% endblock %} +
+ + +