1
0
Fork 0

Add AdminMediaController

This commit is contained in:
Daniel Supernault 2019-01-21 12:44:16 -07:00
parent a040dc05e1
commit 0055af468e
No known key found for this signature in database
GPG Key ID: 0DEF1C662C9033F7
1 changed files with 48 additions and 0 deletions

View File

@ -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'));
}
}