<?php
namespace App\Providers;
use App\Http\Helpers\UserPermissionHelper;
use App\Models\BasicExtended;
use App\Models\Language;
use App\Models\User;
use App\Models\User\BasicSetting;
use App\Models\User\Menu;
use App\Models\Menu as DMenu;
use App\Models\User\FooterQuickLink as Ulink;
use App\Models\User\HotelBooking\RoomSetting as RoomSetting;
use App\Models\User\UserContact;
use Doctrine\DBAL\Platforms\Keywords\KeywordList;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Config;
use Illuminate\Support\ServiceProvider;
use App\Models\Social;
class SaasServiceProvider extends ServiceProvider
{
/**
* Register services.
*
* @return void
*/
public function register()
{
//
}
/**
* Bootstrap services.
*
* @return void
*/
public function boot()
{
view()->composer(['admin.*'],
function ($view)
{
$currentLang = Language::where('is_default', 1)->first();
$bs = $currentLang->basic_setting;
$be = $currentLang->basic_extended;
$langs = Language::get();
$menus = $currentLang->menus;
$userMenus = DMenu::where('language_id', 176)->first();
$links = json_decode($userMenus->menus, true);
$currentLang = Language::where('is_default', 1)->first();
$langs = Language::get();
$socials = Social::get();
$categories = $currentLang->user_item_categories;
$rtl = $currentLang->rtl;
$view->with('be', $be);
$view->with('bs', $bs);
$view->with('rtl', $rtl);
$view->with('menus', $menus);
$view->with('links', $links);
$view->with('currentLang', $currentLang);
$view->with('langs', $langs);
$view->with('socials', $socials);
});
view()->composer(['*'],
function ($view)
{
$currentLang = Language::where('is_default', 1)->first();
$bs = $currentLang->basic_setting;
$be = $currentLang->basic_extended;
$langs = Language::get();
$menus = $currentLang->menus;
$userMenus = DMenu::where('language_id', 176)->first();
$links = json_decode($userMenus->menus, true);
$currentLang = Language::where('is_default', 1)->first();
$langs = Language::get();
$socials = Social::get();
$categories = $currentLang->user_item_categories;
$rtl = $currentLang->rtl;
$view->with('be', $be);
$view->with('bs', $bs);
$view->with('rtl', $rtl);
$view->with('menus', $menus);
$view->with('links', $links);
$view->with('currentLang', $currentLang);
$view->with('langs', $langs);
$view->with('socials', $socials);
});
view()->composer(['user-front.*'],
function ($view)
{
$username = getParam();
$user = getUser();
$user_id = User::where('username', $username)->first();
$currentLang = \App\Models\User\Language::where('user_id', $user->id)->where('is_default', 1)->first();
$bs = $currentLang->basic_setting;
$be = $currentLang->basic_extended;
$userMenus = Menu::where('user_id', $user->id)->first();
$userLangs = \App\Models\User\Language::where('user_id', $user->id)->get();
$userBs = BasicSetting::where('user_id', $user->id)->first();
$userCurrentLang = \App\Models\User\Language::where('user_id', $user->id)->where('is_default', 1)->first();
$userContact = UserContact::where('user_id', $user->id)->first();
$userBe = $userCurrentLang->basic_extended;
$langs = \App\Models\User\Language::where('user_id', $user->id)->get();
$rtl = $userCurrentLang->rtl;
$menus = $userCurrentLang->menus;
$userContact = UserContact::where('user_id', $user->id)->first();
$categories = $userCurrentLang->user_item_categories;
Config::set('app.timezone', $userBs->timezoneinfo->timezone);
$userFooterQuickLinks = User\FooterQuickLink::where('user_id', $user->id)->get();
$userFooterRecentBlogs = User\Blog::where('user_id', $user->id)->limit('4')->get();
$phone_numbers = !empty($userContact->contact_numbers) ? explode(',', $userContact->contact_numbers) : [];
$emails = !empty($userContact->contact_mails) ? explode(',', $userContact->contact_mails) : [];
$keywords = json_decode($userCurrentLang->keywords, true);
$roomSetting = RoomSetting::where('user_id', $user->id)->first();
$packagePermissions = UserPermissionHelper::packagePermission($user->id);
$packagePermissions = json_decode($packagePermissions, true);
$links = json_decode($userMenus->menus, true);
$view->with('be', $be);
$view->with('bs', $bs);
$view->with('links', $links);
$view->with('userLangs', $userLangs);
$view->with('userBs', $userBs);
$view->with('userCurrentLang', $userCurrentLang);
$view->with('user', $user);
$view->with('userContact', $userContact);
$view->with('categories', $categories);
$view->with('emails', $emails);
$view->with('keywords', $keywords);
$view->with('packagePermissions', $packagePermissions);
$view->with('roomSetting', $roomSetting);
$view->with('rtl', $rtl);
$view->with('userMenus', $userMenus);
$view->with('userFooterRecentBlogs', $userFooterRecentBlogs);
$view->with('userFooterQuickLinks', $userFooterQuickLinks);
});
view()->composer(['user.*'],
function ($view)
{
$langs = Language::get();
$currentLang = Language::where('is_default', 1)->first();
$user = Auth::guard('web')->user();
$userCurrentLang = User\Language::where('user_id', $user->id)->first();
$userBs = BasicSetting::where('user_id', Auth::guard('web')->user()->id)->first();
$userBe = $userCurrentLang->basic_extended;
$rtl = $userCurrentLang->rtl;
//$userMenus = Menu::where('user_id', $user->id)->first();
$userMenus = Menu::where('user_id', $user->id)->get();
$lang = Language::where('code', $userCurrentLang->code)->first();
$lang_id = $lang->id;
$userLinks = Ulink::where('user_id', $user->id)->where('language_id', $lang_id)->get();
//$links = json_decode($userMenus, true);
//$links = json_decode($userMenus, true);
$default = \App\Models\User\Language::where('is_default', 1)->first();
$bs = BasicSetting::where('user_id', Auth::guard('web')->user()->id)->first();
$be = $currentLang->basic_extended;
$be = BasicExtended::where('language_id', 176)->first();
$view->with('be', $be);
$deLang = User\Language::where('user_id', Auth::guard('web')->user()->id)->where('is_default', 1)->firstOrFail();
$view->with('userMenus', $userMenus);
$view->with('userBs', $userBs);
$view->with('bs', $bs);
$view->with('default', $default);
$view->with('deLang', $deLang);
$view->with('links', $userLinks);
});
}
}