Internal optimisations and additional flags for Photo/Video
This commit is contained in:
@@ -2,14 +2,17 @@
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
use App\Models\Video;
|
||||
use App\Jobs\VideoDelete;
|
||||
use App\Helpers\VideoStream;
|
||||
use App\Traits\Multimedia;
|
||||
|
||||
class VideoController extends Controller
|
||||
{
|
||||
use Multimedia;
|
||||
|
||||
protected $list_duplicates = 20;
|
||||
protected $list_deletes = 50;
|
||||
|
||||
/**
|
||||
* Create a new controller instance.
|
||||
*
|
||||
@@ -20,71 +23,30 @@ class VideoController extends Controller
|
||||
$this->middleware('guest');
|
||||
}
|
||||
|
||||
public function delete($id)
|
||||
public function delete(Video $o)
|
||||
{
|
||||
$o = Video::notRemove()->findOrFail($id);
|
||||
$o->remove = TRUE;
|
||||
$o->save();
|
||||
|
||||
if ($o)
|
||||
{
|
||||
$o->remove = TRUE;
|
||||
$o->save();
|
||||
}
|
||||
|
||||
return redirect()->action('VideoController@info',[$id]);
|
||||
return redirect()->action('VideoController@info',[$o->id]);
|
||||
}
|
||||
|
||||
public function deletes($id=NULL)
|
||||
{
|
||||
return view('catalog.deletereview',[
|
||||
'catalog'=>is_null($id) ? Video::where('remove',1)->with(['software.model.make'])->paginate($this->list_deletes) : Video::where('id',$id)->paginate(1),
|
||||
'return'=>url('v/deletes'),
|
||||
'catalog'=>is_null($id) ? Video::where('remove',1)->with(['software.model.make'])->paginate(50) : Video::where('id',$id)->paginate(1)
|
||||
'type'=>'photo',
|
||||
]);
|
||||
}
|
||||
|
||||
public function deletesUpdate(Request $request)
|
||||
{
|
||||
foreach ($request->input('remove') as $id=>$k)
|
||||
{
|
||||
$o = Video::findOrFail($id);
|
||||
|
||||
if ($o->remove AND $request->input('remove.'.$id))
|
||||
$this->dispatch((new VideoDelete($o))->onQueue('delete'));
|
||||
|
||||
elseif (! $o->remove) {
|
||||
$o->remove = TRUE;
|
||||
$o->save();
|
||||
}
|
||||
}
|
||||
|
||||
return redirect()->action('VideoController@deletes',$request->input('pagenext') ? '?page='.$request->input('pagenext') : NULL);
|
||||
}
|
||||
|
||||
public function duplicates($id=NULL)
|
||||
{
|
||||
return view('catalog.duplicatereview',[
|
||||
'catalog'=>is_null($id) ? Video::duplicates()->with(['software.model.make'])->paginate($this->list_duplicates) : Video::where('id',$id)->paginate(1),
|
||||
'return'=>url('v/duplicates'),
|
||||
'catalog'=>is_null($id) ? Video::notRemove()->where('duplicate',1)->with(['software.model.make'])->paginate(50) : Video::where('id',$id)->paginate(1)]);
|
||||
}
|
||||
|
||||
public function duplicatesUpdate(Request $request)
|
||||
{
|
||||
foreach ($request->input('items') as $id)
|
||||
{
|
||||
$o = Video::findOrFail($id);
|
||||
|
||||
// Set if duplicate
|
||||
$o->duplicate = $request->input('duplicate.'.$id) ? 1 : NULL;
|
||||
|
||||
// Set if flag
|
||||
$o->flag = $request->input('flag.'.$id) ? 1 : NULL;
|
||||
|
||||
// Set if delete
|
||||
$o->remove = $request->input('remove.'.$id) ? 1 : NULL;
|
||||
|
||||
$o->save();
|
||||
}
|
||||
|
||||
return redirect()->action('VideoController@duplicates','?page='.$request->input('page'));
|
||||
'type'=>'photo',
|
||||
]);
|
||||
}
|
||||
|
||||
public function info(Video $o)
|
||||
@@ -100,8 +62,9 @@ class VideoController extends Controller
|
||||
return redirect()->action('VideoController@info',[$o->id]);
|
||||
}
|
||||
|
||||
public function view($id)
|
||||
public function view(Video $o)
|
||||
{
|
||||
(new VideoStream(Video::findOrFail($id)->file_path()))->start();
|
||||
if ($o->isReadable())
|
||||
(new VideoStream($o->filename))->start();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user