diff --git a/app/Http/Controllers/AppController.php b/app/Http/Controllers/AppController.php index 8d1a89c..d9330fd 100644 --- a/app/Http/Controllers/AppController.php +++ b/app/Http/Controllers/AppController.php @@ -9,6 +9,10 @@ class AppController extends Controller { public function mailbox($email = null) { if ($email) { + $validatedData = validator(['email' => $email], [ + 'email' => 'required|email', + ])->validate(); + if (json_decode(config('app.settings.configuration_settings'))->enable_create_from_url) { ZEmail::createCustomEmailFull($email); } diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index b5b392a..42c815c 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -22,20 +22,19 @@ class AppServiceProvider extends ServiceProvider */ public function boot(): void { - $settings = cache()->remember('app_settings', now()->addSecond(1), function () { + $settings = cache()->remember('app_settings', now()->addHours(6), function () { return (array) DB::table('settings')->find(1); }); - $menus = Menu::all(); - $blogs = Blog::where(['is_published' => 1])->get(); - if ($settings) { - config(['app.settings' => (array) $settings]); - } - if ($menus) { - config(['app.menus' => $menus]); - } - if ($blogs) { - config(['app.blogs' => $blogs]); - } + $menus = cache()->remember('app_menus', now()->addHours(6), function () { + return Menu::all(); + }); + $blogs = cache()->remember('app_blogs', now()->addHours(6), function () { + return Blog::where('is_published', 1)->get(); + }); + + config(['app.settings' => (array) $settings]); + config(['app.menus' => $menus]); + config(['app.blogs' => $blogs]); } } diff --git a/routes/web.php b/routes/web.php index f896d4d..168bde0 100644 --- a/routes/web.php +++ b/routes/web.php @@ -12,6 +12,7 @@ use Illuminate\Support\Facades\Route; Route::get('/', Home::class)->name('home'); Route::get('/mailbox', Mailbox::class)->name('mailbox'); +Route::get('/mailbox/{email?}', [AppController::class, 'mailbox'])->name('mailboxFromURL'); Route::get('/switch/{email}', [AppController::class, 'switch'])->name('switch'); Route::get('/delete/{email?}', [AppController::class, 'delete'])->name('delete');