From b02d87626a1785d4bcf78a8f55899044a0a2e1e1 Mon Sep 17 00:00:00 2001 From: jitendra Date: Wed, 17 Oct 2018 19:27:51 +0530 Subject: [PATCH] Get current channel code updated --- packages/Webkul/Admin/src/Http/routes.php | 2 +- .../Admin/src/Resources/lang/en/app.php | 1 + .../views/settings/channels/create.blade.php | 5 ++++ .../views/settings/channels/edit.blade.php | 5 ++++ packages/Webkul/Core/src/Core.php | 29 ++++++++++++++----- packages/Webkul/Core/src/Models/Channel.php | 2 +- .../src/Providers/CoreServiceProvider.php | 5 ++-- .../src/Http/Middleware/Locale.php | 13 ++++++--- .../Webkul/Shop/src/Http/Middleware/Theme.php | 29 +++++++++++++++++++ packages/Webkul/Shop/src/Http/routes.php | 2 +- .../src/Providers/ShopServiceProvider.php | 8 ++++- .../Shop/src/Resources/assets/sass/app.scss | 20 +++++++------ .../Webkul/Shop/src/Resources/lang/en/app.php | 6 ++++ .../views/layouts/footer/footer.blade.php | 23 +++++++++++++-- public/themes/default/assets/css/shop.css | 10 +++---- 15 files changed, 126 insertions(+), 34 deletions(-) rename packages/Webkul/{Core => Shop}/src/Http/Middleware/Locale.php (70%) create mode 100644 packages/Webkul/Shop/src/Http/Middleware/Theme.php diff --git a/packages/Webkul/Admin/src/Http/routes.php b/packages/Webkul/Admin/src/Http/routes.php index bab0cc24f..878a88148 100644 --- a/packages/Webkul/Admin/src/Http/routes.php +++ b/packages/Webkul/Admin/src/Http/routes.php @@ -31,7 +31,7 @@ Route::group(['middleware' => ['web']], function () { // Admin Routes - Route::group(['middleware' => ['admin', 'locale']], function () { + Route::group(['middleware' => ['admin']], function () { Route::get('/logout', 'Webkul\User\Http\Controllers\SessionController@destroy')->defaults('_config', [ 'redirect' => 'admin.session.create' ])->name('admin.session.destroy'); diff --git a/packages/Webkul/Admin/src/Resources/lang/en/app.php b/packages/Webkul/Admin/src/Resources/lang/en/app.php index 1a191775a..dbf2d439d 100644 --- a/packages/Webkul/Admin/src/Resources/lang/en/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/en/app.php @@ -382,6 +382,7 @@ return [ 'code' => 'Code', 'name' => 'Name', 'description' => 'Description', + 'hostname' => 'Hostname', 'currencies-and-locales' => 'Currencies and Locales', 'locales' => 'Locales', 'default-locale' => 'Default Locale', diff --git a/packages/Webkul/Admin/src/Resources/views/settings/channels/create.blade.php b/packages/Webkul/Admin/src/Resources/views/settings/channels/create.blade.php index e962920c9..b41973d8b 100644 --- a/packages/Webkul/Admin/src/Resources/views/settings/channels/create.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/settings/channels/create.blade.php @@ -45,6 +45,11 @@ @{{ errors.first('description') }} +
+ + +
+ diff --git a/packages/Webkul/Admin/src/Resources/views/settings/channels/edit.blade.php b/packages/Webkul/Admin/src/Resources/views/settings/channels/edit.blade.php index 1603039be..7ca570905 100644 --- a/packages/Webkul/Admin/src/Resources/views/settings/channels/edit.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/settings/channels/edit.blade.php @@ -47,6 +47,11 @@ @{{ errors.first('description') }} +
+ + +
+ diff --git a/packages/Webkul/Core/src/Core.php b/packages/Webkul/Core/src/Core.php index b158e4602..54c234b5f 100644 --- a/packages/Webkul/Core/src/Core.php +++ b/packages/Webkul/Core/src/Core.php @@ -93,7 +93,8 @@ class Core * * @return Collection */ - public function getAllChannels() { + public function getAllChannels() + { static $channels; if($channels) @@ -107,13 +108,23 @@ class Core * * @return mixed */ - public function getCurrentChannel() { + public function getCurrentChannel() + { static $channel; if($channel) return $channel; - return $channel = $this->channelRepository->first(); + $channel = $this->channelRepository->findWhereIn('hostname', [ + request()->getHttpHost(), + 'http://' . request()->getHttpHost(), + 'https://' . request()->getHttpHost() + ])->first(); + + if(!$channel) + $channel = $this->channelRepository->first(); + + return $channel; } /** @@ -121,7 +132,8 @@ class Core * * @return string */ - public function getCurrentChannelCode() { + public function getCurrentChannelCode() + { static $channelCode; if($channelCode) @@ -135,7 +147,8 @@ class Core * * @return mixed */ - public function getDefaultChannel() { + public function getDefaultChannel() + { static $channel; if($channel) @@ -149,7 +162,8 @@ class Core * * @return string */ - public function getDefaultChannelCode() { + public function getDefaultChannelCode() + { static $channelCode; if($channelCode) @@ -163,7 +177,8 @@ class Core * * @return Collection */ - public function getAllLocales() { + public function getAllLocales() + { static $locales; if($locales) diff --git a/packages/Webkul/Core/src/Models/Channel.php b/packages/Webkul/Core/src/Models/Channel.php index 07cddf191..5bf90353d 100644 --- a/packages/Webkul/Core/src/Models/Channel.php +++ b/packages/Webkul/Core/src/Models/Channel.php @@ -9,7 +9,7 @@ use Illuminate\Support\Facades\Storage; class Channel extends Model { - protected $fillable = ['code', 'name', 'description', 'default_locale_id', 'base_currency_id', 'theme']; + protected $fillable = ['code', 'name', 'description', 'theme', 'hostname', 'default_locale_id', 'base_currency_id']; /** * Get the channel locales. diff --git a/packages/Webkul/Core/src/Providers/CoreServiceProvider.php b/packages/Webkul/Core/src/Providers/CoreServiceProvider.php index 82b05cff1..fbf290a81 100644 --- a/packages/Webkul/Core/src/Providers/CoreServiceProvider.php +++ b/packages/Webkul/Core/src/Providers/CoreServiceProvider.php @@ -1,10 +1,11 @@ loadTranslationsFrom(__DIR__ . '/../Resources/lang', 'core'); - $router->aliasMiddleware('locale', Locale::class); - Validator::extend('slug', 'Webkul\Core\Contracts\Validations\Slug@passes'); Validator::extend('code', 'Webkul\Core\Contracts\Validations\Code@passes'); diff --git a/packages/Webkul/Core/src/Http/Middleware/Locale.php b/packages/Webkul/Shop/src/Http/Middleware/Locale.php similarity index 70% rename from packages/Webkul/Core/src/Http/Middleware/Locale.php rename to packages/Webkul/Shop/src/Http/Middleware/Locale.php index 8b128eabc..90d420624 100644 --- a/packages/Webkul/Core/src/Http/Middleware/Locale.php +++ b/packages/Webkul/Shop/src/Http/Middleware/Locale.php @@ -1,15 +1,14 @@ get('locale')) { if($this->locale->findOneByField('code', $locale)) { - // app()->setLocale($locale); + app()->setLocale($locale); + + session()->put('locale', $locale); + } + } else { + if($locale = session()->get('locale')) { + app()->setLocale($locale); } } diff --git a/packages/Webkul/Shop/src/Http/Middleware/Theme.php b/packages/Webkul/Shop/src/Http/Middleware/Theme.php new file mode 100644 index 000000000..0a64ad59f --- /dev/null +++ b/packages/Webkul/Shop/src/Http/Middleware/Theme.php @@ -0,0 +1,29 @@ +getCurrentChannel(); + + if($channel && $channelThemeCode = $channel->theme) { + if($theme->exists($channelThemeCode)) { + $theme->set($channelThemeCode); + } + } + + return $next($request); + } +} \ No newline at end of file diff --git a/packages/Webkul/Shop/src/Http/routes.php b/packages/Webkul/Shop/src/Http/routes.php index 444862394..a2da19300 100644 --- a/packages/Webkul/Shop/src/Http/routes.php +++ b/packages/Webkul/Shop/src/Http/routes.php @@ -1,6 +1,6 @@ ['web']], function () { +Route::group(['middleware' => ['web', 'theme', 'locale']], function () { Route::get('/', 'Webkul\Shop\Http\Controllers\HomeController@index')->defaults('_config', [ 'view' => 'shop::home.index' diff --git a/packages/Webkul/Shop/src/Providers/ShopServiceProvider.php b/packages/Webkul/Shop/src/Providers/ShopServiceProvider.php index ac4fbc117..ab2f2e477 100644 --- a/packages/Webkul/Shop/src/Providers/ShopServiceProvider.php +++ b/packages/Webkul/Shop/src/Providers/ShopServiceProvider.php @@ -6,6 +6,8 @@ use Illuminate\Support\ServiceProvider; use Illuminate\Support\Facades\Event; use Illuminate\Routing\Router; use Illuminate\Support\Facades\Blade; +use Webkul\Shop\Http\Middleware\Locale; +use Webkul\Shop\Http\Middleware\Theme; use Webkul\Shop\Providers\ComposerServiceProvider; use Webkul\Ui\Menu; @@ -16,7 +18,7 @@ class ShopServiceProvider extends ServiceProvider * * @return void */ - public function boot() + public function boot(Router $router) { include __DIR__ . '/../Http/routes.php'; @@ -28,6 +30,10 @@ class ShopServiceProvider extends ServiceProvider $this->loadViewsFrom(__DIR__ . '/../Resources/views', 'shop'); + $router->aliasMiddleware('locale', Locale::class); + + $router->aliasMiddleware('theme', Theme::class); + $this->app->register(ComposerServiceProvider::class); $this->composeView(); diff --git a/packages/Webkul/Shop/src/Resources/assets/sass/app.scss b/packages/Webkul/Shop/src/Resources/assets/sass/app.scss index ce8d641ee..03189a737 100644 --- a/packages/Webkul/Shop/src/Resources/assets/sass/app.scss +++ b/packages/Webkul/Shop/src/Resources/assets/sass/app.scss @@ -737,21 +737,19 @@ section.slider-block { } .form-container { - padding-top: 10px; + padding-top: 5px; .control-group { - margin: 0; - .subscribe-field { width: 100%; - } - .subscribe-field::-webkit-input-placeholder { - font-family: "montserrat", sans-serif; - } + &::-webkit-input-placeholder { + font-family: "montserrat", sans-serif; + } - .subscribe-field::-moz-placeholder { - font-family: "montserrat", sans-serif; + &::-moz-placeholder { + font-family: "montserrat", sans-serif; + } } .btn-primary { @@ -760,6 +758,10 @@ section.slider-block { border-radius: 0px; text-align: center; } + + .locale-switcher { + width: 100%; + } } } } diff --git a/packages/Webkul/Shop/src/Resources/lang/en/app.php b/packages/Webkul/Shop/src/Resources/lang/en/app.php index 879c8df7d..894a5ab36 100644 --- a/packages/Webkul/Shop/src/Resources/lang/en/app.php +++ b/packages/Webkul/Shop/src/Resources/lang/en/app.php @@ -11,6 +11,12 @@ return [ ] ], + 'footer' => [ + 'subscribe-newsletter' => 'Subscribe Newsletter', + 'subscribe' => 'Subscribe', + 'locale' => 'Locale', + ], + 'reviews' => [ 'add-review-page-title' => 'Add Review', 'write-review' => 'Write a review', diff --git a/packages/Webkul/Shop/src/Resources/views/layouts/footer/footer.blade.php b/packages/Webkul/Shop/src/Resources/views/layouts/footer/footer.blade.php index d6c7daa5b..a16555a2f 100644 --- a/packages/Webkul/Shop/src/Resources/views/layouts/footer/footer.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/layouts/footer/footer.blade.php @@ -3,14 +3,17 @@