Bladeren bron

Add AdminMediaController

Daniel Supernault 6 jaren geleden
bovenliggende
commit
0055af468e
1 gewijzigde bestanden met toevoegingen van 48 en 0 verwijderingen
  1. 48 0
      app/Http/Controllers/Admin/AdminMediaController.php

+ 48 - 0
app/Http/Controllers/Admin/AdminMediaController.php

@@ -0,0 +1,48 @@
+<?php
+
+namespace App\Http\Controllers\Admin;
+
+use DB, Cache;
+use App\{
+	Media,
+	Profile,
+	Status
+};
+use Carbon\Carbon;
+use Illuminate\Http\Request;
+use Illuminate\Validation\Rule;
+
+trait AdminMediaController
+{
+	public function media(Request $request)
+	{
+		$this->validate($request, [
+			'layout' => [
+				'nullable',
+				'string',
+				'min:1',
+				'max:4',
+				Rule::in(['grid','list'])
+			],
+			'search' => 'nullable|string|min:1|max:20'
+		]);
+		if($request->filled('search')) {
+			$profiles = Profile::where('username', 'like', '%'.$request->input('search').'%')->pluck('id')->toArray();
+			$media = Media::whereHas('status')
+				->with('status')
+				->orderby('id', 'desc')
+				->whereIn('profile_id', $profiles)
+				->orWhere('mime', $request->input('search'))
+				->paginate(12);
+		} else {
+			$media = Media::whereHas('status')->with('status')->orderby('id', 'desc')->paginate(12);
+		}
+		return view('admin.media.home', compact('media'));
+	}
+
+	public function mediaShow(Request $request, $id)
+	{
+		$media = Media::findOrFail($id);
+		return view('admin.media.show', compact('media'));
+	}
+}