From 0d74543a4377434c505499b51d08b0c6b7ab4ce5 Mon Sep 17 00:00:00 2001 From: vedatakd Date: Sat, 7 Sep 2019 14:30:49 +0300 Subject: [PATCH] #391 setLocale for Page on Load --- .../advs-module/src/Adv/AdvCriteria.php | 19 ++++++++----------- .../src/Http/Controller/advsController.php | 7 ++++--- .../src/DefaultThemeServiceProvider.php | 12 ++++++++++-- 3 files changed, 22 insertions(+), 16 deletions(-) diff --git a/addons/default/visiosoft/advs-module/src/Adv/AdvCriteria.php b/addons/default/visiosoft/advs-module/src/Adv/AdvCriteria.php index 5622abf14..03cc5dca3 100644 --- a/addons/default/visiosoft/advs-module/src/Adv/AdvCriteria.php +++ b/addons/default/visiosoft/advs-module/src/Adv/AdvCriteria.php @@ -19,9 +19,8 @@ class AdvCriteria extends EntryCriteria $advModel = new AdvModel(); $popular_advs = $advModel->popularAdvs(); $ads = $advModel->getLocationNames($popular_advs); - foreach ($ads as $index => $ad) - { - $ads[$index]->detail_url = $advModel->getAdvDetailLinkByModel($ad,'list'); + foreach ($ads as $index => $ad) { + $ads[$index]->detail_url = $advModel->getAdvDetailLinkByModel($ad, 'list'); $ads[$index] = $advModel->AddAdsDefaultCoverImage($ad); } return $ads; @@ -40,14 +39,13 @@ class AdvCriteria extends EntryCriteria $latest_advs = AdvModel::query() ->whereDate('finish_at', '>=', date("Y-m-d H:i:s")) ->where('status', '=', 'approved') - ->where('slug','!=','') + ->where('slug', '!=', '') ->orderBy('publish_at', 'desc') ->paginate($this->settings->value('visiosoft.theme.default::s-type-latest-limit')); $ads = $advModel->getLocationNames($latest_advs); - foreach ($ads as $index => $ad) - { - $ads[$index]->detail_url = $advModel->getAdvDetailLinkByModel($ad,'list'); + foreach ($ads as $index => $ad) { + $ads[$index]->detail_url = $advModel->getAdvDetailLinkByModel($ad, 'list'); $ads[$index] = $advModel->AddAdsDefaultCoverImage($ad); } return $ads; @@ -70,12 +68,11 @@ class AdvCriteria extends EntryCriteria $advModel = new AdvModel(); $recentlyModel = new RecentlyModel(); $recently_viewed_ads = $recentlyModel->getRecently(); - $ads = $advModel + $ads = $advModel ->whereIn('advs_advs.id', $recently_viewed_ads) ->get(); - foreach ($ads as $index => $ad) - { - $ads[$index]->detail_url = $advModel->getAdvDetailLinkByModel($ad,'list'); + foreach ($ads as $index => $ad) { + $ads[$index]->detail_url = $advModel->getAdvDetailLinkByModel($ad, 'list'); $ads[$index] = $advModel->AddAdsDefaultCoverImage($ad); } return $ads; diff --git a/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php b/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php index dc4c78aa4..f8033ddff 100644 --- a/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php +++ b/addons/default/visiosoft/advs-module/src/Http/Controller/advsController.php @@ -6,6 +6,7 @@ use Anomaly\Streams\Platform\Model\Advs\AdvsAdvsEntryModel; use Anomaly\Streams\Platform\Model\Advs\PurchasePurchaseEntryModel; use Anomaly\Streams\Platform\Model\Complaints\ComplaintsComplainTypesEntryModel; use Anomaly\Streams\Platform\Model\Options\OptionsAdvertisementEntryModel; +use Illuminate\Support\Facades\App; use Visiosoft\AdvsModule\Adv\Event\showAdPhone; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; @@ -220,9 +221,9 @@ class AdvsController extends PublicController $qrModel = new QrModel(); $qrSRC = $qrModel->source($adv); } - $this->template->set('meta_keywords', implode(',',explode(' ',$adv->name))); - $this->template->set('meta_description', strip_tags($adv->advs_desc,'')); - $this->template->set('meta_title', $adv->name."|".end($categories)['name']); + $this->template->set('meta_keywords', implode(',', explode(' ', $adv->name))); + $this->template->set('meta_description', strip_tags($adv->advs_desc, '')); + $this->template->set('meta_title', $adv->name . "|" . end($categories)['name']); if ($adv->created_by_id == isset(auth()->user()->id) OR $adv->status == "approved") { diff --git a/addons/default/visiosoft/default-theme/src/DefaultThemeServiceProvider.php b/addons/default/visiosoft/default-theme/src/DefaultThemeServiceProvider.php index 61b945eb9..11df9e959 100644 --- a/addons/default/visiosoft/default-theme/src/DefaultThemeServiceProvider.php +++ b/addons/default/visiosoft/default-theme/src/DefaultThemeServiceProvider.php @@ -161,8 +161,16 @@ class DefaultThemeServiceProvider extends AddonServiceProvider */ public function boot() { - // Run extra post-boot registration logic here. - // Use method injection or commands to bring in services. + view()->composer('*', function ($view) { + + if (Request()->session()->get('_locale') === null) { + $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); + $acceptLang = ['ar', 'de', 'el', 'en', 'es', 'fa', 'fr', 'it', 'nl', 'pt', 'ru', 'tr']; + $lang = in_array($lang, $acceptLang) ? $lang : 'en'; + App()->setLocale($lang); + Request()->session()->put('_locale', $lang); + } + }); } /**