From 08a4f35223033eedf37dd26baeffc3c1f828b421 Mon Sep 17 00:00:00 2001 From: Diatrex Date: Mon, 23 Dec 2019 11:07:40 +0300 Subject: [PATCH 1/2] #587 [sahibinden-module] Getting custom fields dynamically --- .../advs-module/src/Http/Controller/Admin/AdvsController.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/addons/default/visiosoft/advs-module/src/Http/Controller/Admin/AdvsController.php b/addons/default/visiosoft/advs-module/src/Http/Controller/Admin/AdvsController.php index 946e5e5f5..59cbc1b52 100644 --- a/addons/default/visiosoft/advs-module/src/Http/Controller/Admin/AdvsController.php +++ b/addons/default/visiosoft/advs-module/src/Http/Controller/Admin/AdvsController.php @@ -86,6 +86,8 @@ class AdvsController extends AdminController 'wrapper' => function (EntryInterface $entry, Request $request) { if (strpos($entry->cover_photo, 'http') === 0) { $wrapper = ''; + } else if (is_null($entry->cover_photo)) { + $wrapper = ''; } else { $wrapper = ''; } From af20bc8cb376dc2e25519a8a4b27079db2e3f2cc Mon Sep 17 00:00:00 2001 From: Diatrex Date: Mon, 23 Dec 2019 12:55:56 +0300 Subject: [PATCH 2/2] #170 Search by date, is there foto/video or Map --- .../advs-module/resources/lang/en/field.php | 30 ++++++ .../views/list/partials/list-filter.twig | 99 ++++++++++++++++++- .../advs-module/src/Adv/AdvRepository.php | 21 ++++ 3 files changed, 149 insertions(+), 1 deletion(-) diff --git a/addons/default/visiosoft/advs-module/resources/lang/en/field.php b/addons/default/visiosoft/advs-module/resources/lang/en/field.php index ab2d4b5e9..8058541aa 100644 --- a/addons/default/visiosoft/advs-module/resources/lang/en/field.php +++ b/addons/default/visiosoft/advs-module/resources/lang/en/field.php @@ -19,6 +19,18 @@ return [ 'price' => [ 'name' => 'Price' ], + 'date' => [ + 'name' => 'Date' + ], + 'photo' => [ + 'name' => 'Photo' + ], + 'video' => [ + 'name' => 'Video' + ], + 'map' => [ + 'name' => 'Map' + ], 'stock' => [ 'name' => 'Stock' ], @@ -220,4 +232,22 @@ return [ 'min' => [ 'name' => 'Min', ], + 'in_the_last_24_hours' => [ + 'name' => 'In The Last 24 Hours' + ], + 'in_the_last_week' => [ + 'name' => 'In The Last Week' + ], + 'in_the_last_month' => [ + 'name' => 'In The Last Month' + ], + 'ads_with_photo' => [ + 'name' => 'Ads With Photo' + ], + 'ads_with_video' => [ + 'name' => 'Ads With Video' + ], + 'yes' => [ + 'name' => 'Yes' + ] ]; 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 a9b8d3507..2c8e7940e 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 @@ -19,6 +19,103 @@ 'villages':villages })|raw }} + +
+ +
+
+
+ + +
+
+ + +
+
+ + +
+
+
+
+ + + +
+ +
+
+
+ + +
+
+ + +
+
+
+
+ + + +
+ +
+
+
+ + +
+
+
+
+ + +
- +
diff --git a/addons/default/visiosoft/advs-module/src/Adv/AdvRepository.php b/addons/default/visiosoft/advs-module/src/Adv/AdvRepository.php index f8182647e..84fdc2a26 100644 --- a/addons/default/visiosoft/advs-module/src/Adv/AdvRepository.php +++ b/addons/default/visiosoft/advs-module/src/Adv/AdvRepository.php @@ -2,6 +2,7 @@ use Anomaly\SettingsModule\Setting\Contract\SettingRepositoryInterface; use Anomaly\Streams\Platform\Model\Advs\AdvsAdvsEntryModel; +use Illuminate\Support\Carbon; use Illuminate\Support\Facades\DB; use Visiosoft\AdvsModule\Adv\Contract\AdvRepositoryInterface; use Anomaly\Streams\Platform\Entry\EntryRepository; @@ -112,6 +113,26 @@ class AdvRepository extends EntryRepository implements AdvRepositoryInterface $column = "JSON_EXTRACT(foreign_currencies, '$." . $param['currency'] . "') <=" . $int; $query = $query->whereRaw($column); } + if (!empty($param['date'])) { + if ($param['date'] === 'day') { + $query = $query->where('advs_advs.publish_at', '>=', Carbon::now()->subDay()); + } elseif ($param['date'] === 'week') { + $query = $query->where('advs_advs.publish_at', '>=', Carbon::now()->subWeek()); + } elseif ($param['date'] === 'month') { + $query = $query->where('advs_advs.publish_at', '>=', Carbon::now()->subMonth()); + } + } + if (!empty($param['photo'])) { + $query = $query->whereNotNull('cover_photo'); + } +// if (!empty($param['video'])) { +// $int = (int)$num; +// $column = "JSON_EXTRACT(foreign_currencies, '$." . $param['currency'] . "') <=" . $int; +// $query = $query->whereRaw($column); +// } + if (!empty($param['map']) && $param['map'] == true) { + $query = $query->whereNotNull('map_Val'); + } foreach ($param as $para => $value) { if (substr($para, 0, 3) === "cf_") {