From bd8f453aea6f654e24abc6240ec04e90821685e9 Mon Sep 17 00:00:00 2001 From: James Collins Date: Sun, 28 Apr 2024 18:36:03 +1000 Subject: [PATCH] bypass password for admin --- app/Http/Controllers/MediaController.php | 3 ++- app/Models/Media.php | 3 ++- app/Models/User.php | 5 +++++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/MediaController.php b/app/Http/Controllers/MediaController.php index 5020feb..b2a40ca 100644 --- a/app/Http/Controllers/MediaController.php +++ b/app/Http/Controllers/MediaController.php @@ -6,6 +6,7 @@ use App\Helpers; use App\Models\Media; use Illuminate\Http\Request; use Illuminate\Http\UploadedFile; +use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Storage; use Illuminate\Support\Facades\Validator; @@ -417,7 +418,7 @@ class MediaController extends Controller abort(404, 'File not found'); } - if($media->password !== null) { + if($media->password !== null && !Auth::user()?->isAdmin()) { if(!$request->has('password')) { return view('media-password'); } else { diff --git a/app/Models/Media.php b/app/Models/Media.php index 04065e1..0fb5d03 100644 --- a/app/Models/Media.php +++ b/app/Models/Media.php @@ -6,6 +6,7 @@ use App\Helpers; use App\Jobs\Media\GenerateVariants; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; +use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Storage; use function PHPUnit\Framework\stringStartsWith; @@ -149,7 +150,7 @@ class Media extends Model */ public function getThumbnailAttribute(): string { - if($this->password === null) { + if($this->password === null || Auth::user()?->isAdmin()) { if ($this->hasVariant('thumbnail')) { $url = $this->url('thumbnail', true); if ($url !== '') { diff --git a/app/Models/User.php b/app/Models/User.php index 0eafe14..66430bb 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -192,4 +192,9 @@ class User extends Authenticatable implements MustVerifyEmail { return $this->emailUpdate()->exists(); } + + public function isAdmin(): bool + { + return $this->admin === 1; + } }