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/js/list.js b/addons/default/visiosoft/advs-module/resources/js/list.js index ede10715c..f02f22799 100644 --- a/addons/default/visiosoft/advs-module/resources/js/list.js +++ b/addons/default/visiosoft/advs-module/resources/js/list.js @@ -40,13 +40,6 @@ $('.sort-by-item').on('click', function () { window.location.replace(goURL); }); - -$('.ad-info-right-bar-video').on('click', function () { - $(".video-ad-tooltip-" + $(this).attr('data-id'))[0].play(); - $(".video-ad-tooltip-" + $(this).attr('data-id'))[0].controls = false; -}); - - $(document).ready(function () { let searchParams = new URLSearchParams(window.location.search); @@ -167,12 +160,6 @@ $(document).ready(function () { }); }); -$('.ad-info-right-bar-video').tooltip({ - animated: 'fade', - placement: 'bottom', - html: true -}); - $("#listFilterForm").submit(function(e) { const inputs = $('#listFilterForm :input'); [...inputs].forEach((input) => { 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/advs-module/src/Adv/Command/appendRequestURL.php b/addons/default/visiosoft/advs-module/src/Adv/Command/appendRequestURL.php index fbba5a48d..8b85930e4 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,23 +30,23 @@ class appendRequestURL */ public function handle() { - if (count($this->new_parameters) === 0 && count($this->request) === 0) { - return $this->url; - } elseif (count($this->new_parameters) > 0 && count($this->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) { - return $this->url - . (Str::contains($this->url, '?') ? '&' : '?') - . Arr::query($this->appends($this->new_parameters)); - } elseif (count($this->new_parameters) === 0 && count($this->request) > 0) { - return $this->url - . (Str::contains($this->url, '?') ? '&' : '?') - . Arr::query($this->appends($this->request)); + + $request = $this->removeParameters($this->request); + $count_newParameters = count($this->new_parameters); + $count_request = count($this->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 @@ -87,4 +89,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/advs-module/src/Http/Middleware/redirectDiffrentLang.php b/addons/default/visiosoft/advs-module/src/Http/Middleware/redirectDiffrentLang.php index dd71ae2ca..6475f893f 100644 --- a/addons/default/visiosoft/advs-module/src/Http/Middleware/redirectDiffrentLang.php +++ b/addons/default/visiosoft/advs-module/src/Http/Middleware/redirectDiffrentLang.php @@ -35,14 +35,20 @@ class redirectDiffrentLang $setting_language = setting_value('streams::default_locale'); $current_language = $request->session()->get('_locale', $setting_language); $request_url = ltrim($request->getRequestUri(), '/'); + + // If the segment(1) is admin and language parameters is not null, no forwarding will be made. + if ($request->segment(1) == "admin" and in_array($current_language, explode('/', $original_url))) { + return $this->redirect->to($request->fullUrl()); + } + if ($current_language != $setting_language) { - if ($request_url != "" and $original_url != '/' . $current_language . '/' . $request_url) { + + // If the method is get, no forwarding will be made. + // If the segment(1) is admin, no forwarding will be made. + + if ($request->method() == "GET" and $request->segment(1) != "admin" and $request_url != "" and $original_url != '/' . $current_language . '/' . $request_url) { return $this->redirect->to('/' . $current_language . '/' . $request_url); } - } else { - if ($request_url == "" and '/' . $current_language != $original_url) { - $this->redirect->to($current_language); - } } return $next($request); 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 %} +
+ + + diff --git a/addons/default/visiosoft/base-theme/resources/views/layouts/page.twig b/addons/default/visiosoft/base-theme/resources/views/layouts/page.twig new file mode 100644 index 000000000..7ac84f568 --- /dev/null +++ b/addons/default/visiosoft/base-theme/resources/views/layouts/page.twig @@ -0,0 +1,37 @@ + + + + + + + + + + + {% include "visiosoft.theme.base::partials/metadata" %} + {% block styles %}{% endblock %} + + + + +{% include "visiosoft.theme.base::partials/header" %} + +
+
+ + {% include "visiosoft.theme.base::partials/messages" %} + + {% block content %}{% endblock %} + +
+
+ +{% include "visiosoft.theme.base::partials/footer" %} +{% include "visiosoft.theme.base::partials/settings" %} + + + \ No newline at end of file diff --git a/addons/default/visiosoft/cats-module/resources/lang/en/message.php b/addons/default/visiosoft/cats-module/resources/lang/en/message.php new file mode 100644 index 000000000..6c099c030 --- /dev/null +++ b/addons/default/visiosoft/cats-module/resources/lang/en/message.php @@ -0,0 +1,5 @@ + 'Categories and related sub-categories has been deleted successfully!', +]; 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..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'] %} @@ -29,9 +28,9 @@ {% set citySlug = pathInfo[3] %} {% endif %} {{ name }} @@ -41,9 +40,9 @@ {% if subcat.parent_category_id == maincat['id'] %} {% set subCatId = entries('cats', 'category').find(subcat.id) %} {{ subcat.name }} diff --git a/addons/default/visiosoft/cats-module/src/Category/Table/CategoryTableBuilder.php b/addons/default/visiosoft/cats-module/src/Category/Table/CategoryTableBuilder.php index d26355d27..cb46970f3 100644 --- a/addons/default/visiosoft/cats-module/src/Category/Table/CategoryTableBuilder.php +++ b/addons/default/visiosoft/cats-module/src/Category/Table/CategoryTableBuilder.php @@ -1,6 +1,7 @@ [ + 'handler' => Delete::class + ] ]; /** diff --git a/addons/default/visiosoft/cats-module/src/Category/Table/Handler/Delete.php b/addons/default/visiosoft/cats-module/src/Category/Table/Handler/Delete.php new file mode 100644 index 000000000..0dea822bf --- /dev/null +++ b/addons/default/visiosoft/cats-module/src/Category/Table/Handler/Delete.php @@ -0,0 +1,26 @@ +DeleteCategories($id); + } + + if ($selected) { + $this->messages->success(trans('visiosoft.module.cats::message.categories_mass_delete_success')); + } + } catch (\Exception $e) { + $this->messages->error($e->getMessage()); + } + } +} \ No newline at end of file diff --git a/addons/default/visiosoft/defaultadmin-theme/resources/config/settings.php b/addons/default/visiosoft/defaultadmin-theme/resources/config/settings.php index a66cc0ab2..6661e67ed 100644 --- a/addons/default/visiosoft/defaultadmin-theme/resources/config/settings.php +++ b/addons/default/visiosoft/defaultadmin-theme/resources/config/settings.php @@ -6,4 +6,34 @@ return [ 'type' => 'anomaly.field_type.textarea', 'input_view' => 'visiosoft.theme.defaultadmin::admin/navigation/settings', ], + "icon" => [ + "type" => "anomaly.field_type.file", + "config" => [ + "folders" => ['images'], + ] + ], + "title" => [ + "type" => "anomaly.field_type.text", + "config" => [ + "default_value" => 'OpenClassify', + ] + ], + "sidebar_main_color" => [ + "type" => "anomaly.field_type.colorpicker", + "config" => [ + "default_value" => '#252525', + ] + ], + "sidebar_secondary_color" => [ + "type" => "anomaly.field_type.colorpicker", + "config" => [ + "default_value" => '#333333', + ] + ], + "active_sidebar_border_color" => [ + "type" => "anomaly.field_type.colorpicker", + "config" => [ + "default_value" => '#c61db4', + ] + ], ]; diff --git a/addons/default/visiosoft/defaultadmin-theme/resources/css/bootstrap.css b/addons/default/visiosoft/defaultadmin-theme/resources/css/bootstrap.css index 977c5056b..2ea658bcf 100644 --- a/addons/default/visiosoft/defaultadmin-theme/resources/css/bootstrap.css +++ b/addons/default/visiosoft/defaultadmin-theme/resources/css/bootstrap.css @@ -769,8 +769,8 @@ pre code { .container-fluid { margin-left: auto; margin-right: auto; - /*padding-left: 15px;*/ - /*padding-right: 15px;*/ + padding-left: 15px; + padding-right: 15px; } .row { diff --git a/addons/default/visiosoft/defaultadmin-theme/resources/css/theme.css b/addons/default/visiosoft/defaultadmin-theme/resources/css/theme.css index bdd469a73..e3f81eb98 100644 --- a/addons/default/visiosoft/defaultadmin-theme/resources/css/theme.css +++ b/addons/default/visiosoft/defaultadmin-theme/resources/css/theme.css @@ -26,7 +26,7 @@ margin-top: 0; position: fixed; overflow-x: scroll; - background: #333333; + background: {{ setting_value('visiosoft.theme.defaultadmin::sidebar_secondary_color') }}; padding-bottom: 70px; box-shadow: 2px 0 0 rgba(66, 66, 66, 0.1); } @@ -218,8 +218,8 @@ #topbar .logo span { display: none; } -#topbar .logo svg { - width: 22px; +#topbar .logo svg, #topbar .logo img { + max-width: 40px; height: 40px; margin-top: -9px; vertical-align: middle; @@ -398,7 +398,7 @@ body.expand #topbar .topbar-left .logo span { position: fixed; overflow-x: scroll; overflow-y: hidden; - background: #252525; + background: {{ setting_value('visiosoft.theme.defaultadmin::sidebar_main_color') }}; padding-bottom: 70px; transition: width 200ms cubic-bezier(0.075, 0.82, 0.165, 1); } @@ -456,9 +456,9 @@ body.expand #topbar .topbar-left .logo span { display: none; } #sidebar > ul > li.active { - background: #333333; + background: {{ setting_value('visiosoft.theme.defaultadmin::sidebar_secondary_color') }}; box-sizing: border-box; - border-left: 3px solid #ffffff; + border-left: 3px solid {{ setting_value('visiosoft.theme.defaultadmin::active_sidebar_border_color') }} !important; } #sidebar > ul > li.active a { color: #eeeeee; @@ -2625,9 +2625,9 @@ body { #login .login-container .logo { display: none; } -#login .login-container .logo svg { +#login .login-container .logo svg, #login .login-container .logo img { width: 45px; - height: 82px; + max-height: 82px; fill: #ffffff; margin-top: -30px; vertical-align: middle; @@ -2665,9 +2665,9 @@ body { text-align: center; font-family: "Montserrat", sans-serif; } -#login .logo svg { +#login .logo svg, #login .logo img { width: 45px; - height: 82px; + max-height: 82px; margin-top: -30px; vertical-align: middle; } @@ -2719,9 +2719,9 @@ body { display: inherit; margin-bottom: 2rem; } - #login .login-container .logo svg { + #login .login-container .logo svg, #login .login-container .logo img { width: 55px; - height: 100px; + max-height: 100px; } } @media (max-width: 767px) { diff --git a/addons/default/visiosoft/defaultadmin-theme/resources/lang/en/setting.php b/addons/default/visiosoft/defaultadmin-theme/resources/lang/en/setting.php index 7fea6f774..a1d0c31d3 100644 --- a/addons/default/visiosoft/defaultadmin-theme/resources/lang/en/setting.php +++ b/addons/default/visiosoft/defaultadmin-theme/resources/lang/en/setting.php @@ -11,4 +11,19 @@ return [ 'warning' => 'The first accessible navigation item is used as the home area.', 'reorder' => 'Drag and drop the primary navigation items in the sidebar to reorder them.', ], + "icon" => [ + 'name' => 'Icon', + ], + "title" => [ + 'name' => 'Title', + ], + "sidebar_main_color" => [ + 'name' => 'Sidebar Main Color', + ], + "sidebar_secondary_color" => [ + 'name' => 'Sidebar Secondary Color', + ], + "active_sidebar_border_color" => [ + 'name' => 'Active Sidebar Border Color', + ] ]; diff --git a/addons/default/visiosoft/defaultadmin-theme/resources/views/login.twig b/addons/default/visiosoft/defaultadmin-theme/resources/views/login.twig index cfbb903f9..6c75b8c39 100644 --- a/addons/default/visiosoft/defaultadmin-theme/resources/views/login.twig +++ b/addons/default/visiosoft/defaultadmin-theme/resources/views/login.twig @@ -4,8 +4,12 @@
@@ -14,7 +18,11 @@