Added Video

This commit is contained in:
Deon George
2016-07-04 16:00:33 +10:00
parent ec4c7ae3d1
commit 3012004901
25 changed files with 1356 additions and 143 deletions

View File

@@ -0,0 +1,107 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Response;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Model\Video;
use App\Jobs\VideoDelete;
class VideoController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest');
}
public function delete($id)
{
$po = Video::notRemove()->findOrFail($id);
if ($po)
{
$po->remove = TRUE;
$po->save();
}
return redirect()->action('VideoController@info',[$id]);
}
//@todo
public function deletes()
{
return view('video.deletereview',['videos'=>Video::where('remove',1)->paginate(2)]);
}
//@todo
public function deletesUpdate(Request $request)
{
foreach ($request->input('video') as $id)
{
$video = Video::findOrFail($id);
if ($video->remove AND $request->input('remove.'.$id))
$this->dispatch((new VideoDelete($video))->onQueue('delete'));
}
return redirect()->action('VideoController@deletes',$request->input('pagenext') ? '?page='.$request->input('pagenext') : NULL);
}
//@todo
public function duplicates($id=NULL)
{
return view('video.duplicates',['videos'=>is_null($id) ? Video::notRemove()->where('duplicate',1)->paginate(1) : Video::where('id',$id)->paginate(1)]);
}
//@todo
public function duplicatesUpdate(Request $request)
{
foreach ($request->input('video') as $id)
{
$po = Video::findOrFail($id);
// Set if duplicate
$po->duplicate = $request->input('duplicate.'.$id) ? 1 : NULL;
// Set if flag
$po->flag = $request->input('flag.'.$id) ? 1 : NULL;
// Set if delete
$po->remove = $request->input('remove.'.$id) ? 1 : NULL;
$po->isDirty() AND $po->save();
}
return redirect()->action('VideoController@duplicates','?page='.$request->input('page'));
}
public function info($id)
{
return view('video.view', ['video'=> Video::findOrFail($id)]);
}
public function undelete($id)
{
$po = Video::findOrFail($id);
if ($po)
{
$po->remove = NULL;
$po->save();
}
return redirect()->action('VideoController@info',[$id]);
}
//@todo
public function view($id)
{
return response(Video::findOrFail($id)->image())->header('Content-Type','video/mov');
}
}

View File

@@ -19,12 +19,19 @@ Route::get('/', function () {
Route::auth();
Route::get('/deletes/{id?}', 'PhotoController@deletes')->where('id', '[0-9]+');;
Route::get('/duplicates/{id?}', 'PhotoController@duplicates')->where('id', '[0-9]+');;
Route::get('/info/{id}', 'PhotoController@info')->where('id', '[0-9]+');;
Route::get('/thumbnail/{id}', 'PhotoController@thumbnail')->where('id', '[0-9]+');;
Route::get('/view/{id}', 'PhotoController@view')->where('id', '[0-9]+');;
Route::post('/delete/{id}', 'PhotoController@delete')->where('id', '[0-9]+');;
Route::post('/duplicates', 'PhotoController@duplicatesUpdate');
Route::post('/deletes', 'PhotoController@deletesUpdate');
Route::post('/undelete/{id}', 'PhotoController@undelete')->where('id', '[0-9]+');;
Route::get('/p/deletes/{id?}', 'PhotoController@deletes')->where('id', '[0-9]+');;
Route::get('/v/deletes/{id?}', 'VideoController@deletes')->where('id', '[0-9]+');;
Route::get('/p/duplicates/{id?}', 'PhotoController@duplicates')->where('id', '[0-9]+');;
Route::get('/v/duplicates/{id?}', 'VideoController@duplicates')->where('id', '[0-9]+');;
Route::get('/p/info/{id}', 'PhotoController@info')->where('id', '[0-9]+');;
Route::get('/v/info/{id}', 'VideoController@info')->where('id', '[0-9]+');;
Route::get('/p/thumbnail/{id}', 'PhotoController@thumbnail')->where('id', '[0-9]+');;
Route::get('/p/view/{id}', 'PhotoController@view')->where('id', '[0-9]+');;
Route::post('/p/delete/{id}', 'PhotoController@delete')->where('id', '[0-9]+');;
Route::post('/v/delete/{id}', 'VideoController@delete')->where('id', '[0-9]+');;
Route::post('/p/duplicates', 'PhotoController@duplicatesUpdate');
Route::post('/v/duplicates', 'VideoController@duplicatesUpdate');
Route::post('/p/deletes', 'PhotoController@deletesUpdate');
Route::post('/v/deletes', 'VideoController@deletesUpdate');
Route::post('/p/undelete/{id}', 'PhotoController@undelete')->where('id', '[0-9]+');;
Route::post('/v/undelete/{id}', 'VideoController@undelete')->where('id', '[0-9]+');;