/
var
/
www
/
html
/
gnet_live
/
app
/
Providers
/
Upload File
HOME
<?php namespace App\Providers; use App\Helpers\CspHelper; use App\Models\Category; use App\Models\GlobalVariable; use App\Models\MetaTags; use Illuminate\Pagination\Paginator; use Illuminate\Support\Facades\Request; use Illuminate\Support\Facades\Validator; use Illuminate\Support\Facades\View; use Illuminate\Support\ServiceProvider; class AppServiceProvider extends ServiceProvider { /** * Register any application services. * * @return void */ public function register() { // } /** * Bootstrap any application services. * * @return void */ private function determineLastSegment($firstSegment, $lastSegment) { if ($lastSegment === '') { return 'home'; } if ($firstSegment === 'product' && !in_array($lastSegment, ['product', 'atap', 'pelengkap', 'partisi', 'material-periklanan', 'insulasi', 'pintu-dan-jendela', 'dapur-dan-kamar-mandi', 'material-finishing', 'alat-konstruksi'])) { return 'product-details'; } if ($firstSegment === 'blogs') { return ($lastSegment !== 'blogs') ? 'blog-details' : $lastSegment; } return $lastSegment; } public function boot() { if ($this->app->environment('production')) { \URL::forceScheme('https'); } View::composer('*', function ($view) { $currentPath = Request::path(); // Mendapatkan bagian path dari URL saat ini $segments = explode('/', $currentPath); // Memisahkan path $lastSegment = end($segments); // Mendapatkan bagian terakhir dari path // untuk halaman dengan dynamic url $firstSegment = isset($segments[0]) ? $segments[0] : null; $lastSegment = $this->determineLastSegment($firstSegment, $lastSegment); // Mencari data dari database yang mengandung page_url yang cocok $metaTags = MetaTags::where('page_url', $lastSegment)->first(); // get product categories $categories = Category::all(); // data modal community gnetion modal. CGM: Community Gnetion Modal $dataCGM = GlobalVariable::whereIn('key', [ 'cgm_title', 'cgm_button_label', 'cgm_button_link', ])->pluck('value', 'key')->toArray(); $imageVariable = GlobalVariable::where('key', 'cgm_image')->first(); if ($imageVariable) { $dataCGM['cgm_image'] = [ 'value' => $imageVariable->value, 'image' => $imageVariable->image, ]; } $link_catalogue = GlobalVariable::where('key', 'link_download_catalogue')->first(); $link_catalogue = $link_catalogue ? $link_catalogue->value : '#'; $view->with(compact('metaTags', 'firstSegment', 'currentPath', 'categories', 'dataCGM', 'link_catalogue')); }); Validator::extend('recaptcha', 'App\\Validators\\ReCaptcha@validate'); Paginator::defaultView('pagination::bootstrap-5'); Paginator::defaultSimpleView('pagination::simple-bootstrap-5'); View::composer('*', function ($view) { $view->with('nonce', CspHelper::getNonce()); }); } }