diff --git a/app/Http/Controllers/Admin/SettingsController.php b/app/Http/Controllers/Admin/SettingsController.php index 065a1bf7454f7033f122b739127b9c9266f80138..557a1f8d4590a8bf0bec8a82fd27604fbb49a71f 100644 --- a/app/Http/Controllers/Admin/SettingsController.php +++ b/app/Http/Controllers/Admin/SettingsController.php @@ -176,11 +176,11 @@ public function updateWebsiteConfig(Request $request): RedirectResponse ->with('error', 'Vous n\'avez pas les droits pour effectuer cette action.'); } - if ($request->filled('maintenance_mode')) { + if ($request->has('maintenance_mode')) { DbConfig::set('maintenance_mode', $request->maintenance_mode); } - if ($request->filled('website_name')) { + if ($request->has('website_name')) { DbConfig::set('website_name', $request->website_name); } diff --git a/app/Http/Middleware/CheckPrivateModeMiddleware.php b/app/Http/Middleware/CheckPrivateModeMiddleware.php index 7cf814038d6d7cc8d3516ce8e2c0f69652ecd3b1..ca09e19f96a6e7fee067ba578508706656cd8b68 100644 --- a/app/Http/Middleware/CheckPrivateModeMiddleware.php +++ b/app/Http/Middleware/CheckPrivateModeMiddleware.php @@ -2,6 +2,7 @@ namespace App\Http\Middleware; +use App\Models\DbConfig; use Closure; use Illuminate\Http\Request; @@ -9,7 +10,7 @@ class CheckPrivateModeMiddleware { public function handle(Request $request, Closure $next) { - $privateModeEnabled = config('app.private_mode'); + $privateModeEnabled = DbConfig::get('maintenance_mode', 'true'); $privateModeSecret = config('app.private_mode_secret'); $userSecretInput = $request->input('secret'); $secretIsUsable = ! empty($privateModeSecret) && $privateModeSecret === $userSecretInput; diff --git a/app/Models/DbConfig.php b/app/Models/DbConfig.php index 3bd061f190e1a32415b7ae1cecb884fe7c794d13..cddde72e647769d79782790b8869f4363605175e 100644 --- a/app/Models/DbConfig.php +++ b/app/Models/DbConfig.php @@ -65,7 +65,7 @@ public static function get(string $key, float|bool|int|string|null $default = nu * @param string $key The key of the configuration value. Example: 'app.name' * @param string|int|float|bool $value The value of the configuration. */ - public static function set(string $key, float|bool|int|string $value): void + public static function set(string $key, float|bool|int|string|null $value): void { if (Cache::has('config_'.$key)) { Cache::forget('config_'.$key); @@ -73,6 +73,12 @@ public static function set(string $key, float|bool|int|string $value): void $config = self::where('key', $key)->first(); + if ($value === null) { + $config?->delete(); + + return; + } + if ($config === null) { self::create([ 'key' => $key, diff --git a/resources/views/admin/settings/website-config.blade.php b/resources/views/admin/settings/website-config.blade.php index 9199ffbb15f46f92524c891921929aae4fb2010e..4e15c67a69f6f055c1c0a5c033fe304a6113a167 100644 --- a/resources/views/admin/settings/website-config.blade.php +++ b/resources/views/admin/settings/website-config.blade.php @@ -30,14 +30,14 @@ name="maintenance_mode" class="mb-3" :options="['false' => 'Désactivé', 'true' => 'Activé']" - :selected="old('maintenance_mode', \App\Models\DbConfig::get('maintenance_mode', 'false'))" + :selected="old('maintenance_mode', \App\Models\DbConfig::get('maintenance_mode', 'true'))" data-form-type="other" /> <x-bs.input label="Nom du site internet" name="website_name" class="mb-3" - :value="old('website_name', \App\Models\DbConfig::get('website_name', config('app.name')))" + :value="old('website_name', \App\Models\DbConfig::get('website_name', 'Rann Graphic Design'))" data-form-type="other" /> diff --git a/resources/views/components/admin/sidebar.blade.php b/resources/views/components/admin/sidebar.blade.php index 8358c73a3c50adced06c560f5e28f5d12c40e1dc..383a4b3d856cbeb330842c8fc4114a68f805359e 100644 --- a/resources/views/components/admin/sidebar.blade.php +++ b/resources/views/components/admin/sidebar.blade.php @@ -8,7 +8,7 @@ <a class="website-name" href="{{ route('admin.home') }}"> <img class="logo" src="{{ asset('favicon.svg') }}" alt="Website Logo"/> <span> - {{ config('app.name') }} + {{ \App\Models\DbConfig::get('website_name', "Rann Graphic Design") }} </span> </a> </div> diff --git a/resources/views/layouts/public.blade.php b/resources/views/layouts/public.blade.php index c465a550b7de938c2efd1668d78a98851c309d9a..51d9b8ef932156641ee214e8fb59941ef0e3a5c5 100644 --- a/resources/views/layouts/public.blade.php +++ b/resources/views/layouts/public.blade.php @@ -1,15 +1,19 @@ +@php + $websiteName = \App\Models\DbConfig::get('website_name', "Rann Graphic Design") +@endphp + <!DOCTYPE html> <html lang="{{ config('app.locale') }}"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <title>{{ !empty($title) ? $title . ' - Rann Graphic Design' : 'Rann Graphic Design' }}</title> + <title>{{ !empty($title) ? $title . ' - ' . $websiteName : $websiteName }}</title> <link rel="icon" type="image/svg+xml" href="{{ asset('favicon.svg') }}"/> <meta property="og:locale" content="{{ config('app.locale') }}"> <meta property="og:locale:alternate" content="{{ config('app.fallback_locale') }}"> - <meta property="og:title" content="{{ !empty($title) ? $title : 'Rann Graphic Design' }}"> + <meta property="og:title" content="{{ !empty($title) ? $title : $websiteName }}"> <meta property="og:type" content="website"> <meta property="og:url" content="{{ url()->current() }}"> @if(!empty($description))