/
home
/
maktab
/
server
/
app
/
Http
/
Controllers
/
File Upload :
llllll
Current File: /home/maktab/server/app/Http/Controllers/SimillarGalleryController.php
<?php namespace App\Http\Controllers; use App\DB\Te\TableEngine; use App\Models\File; use App\Models\Sms; use App\Models\User; use Illuminate\Http\Request; class SimillarGalleryController extends Controller { public function __construct($model,$with,$select,$name_model = null,$has_sms = false,$new = null) { $this->model = $model; $this->with = $with; $this->select = $select; $this->name_model = $name_model; $this->has_sms = $has_sms; $this->new = $new; } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\jsonResponse */ public function store(Request $request) { $data = $request->all(); if (auth()->user()->type == 1){ $data['sts'] = 3; }else{ $data['sts'] = 1; } $gallery = $this->model::create($data); foreach ($data['files'] ?? [] as $file){ File::findOrFail($file) ->update([ $this->name_model=>$gallery->id ]); } if ($this->has_sms){ $this->sendSmsToAdmin($data['user_id'],$this->new); } return $this->resultCreate($gallery->id); } /** * Display the specified resource. * * @param int $id * @return \Illuminate\Http\jsonResponse */ public function show($id) { $gallery = $this->model::with($this->with)->findOrFail($id); return response()->json($gallery); } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\jsonResponse */ public function update(Request $request, $id) { $data = $request->all(); if (auth()->user()->type == 1){ $data['sts'] = 3; }else{ $data['sts'] = 1; } $this->model::find($id)->update($data); $columns = File::where($this->name_model,$id)->select('id')->get()->pluck('id')->toArray(); foreach ($data['files'] ?? [] as $file){ if (in_array($file,$columns)){ $key = array_search($file,$columns); unset($columns[$key]); }else{ File::findOrFail($file) ->update([ $this->name_model=>$id ]); } } if (count($columns)>0){ File::destroy($columns); } if ($this->has_sms){ $this->sendSmsToAdmin($data['user_id'],$this->new); } return response()->json(true); } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\jsonResponse */ public function destroy($id) { File::where($this->name_model,$id)->delete(); $this->model::find($id)->delete(); return response()->json(true); } public function index(Request $request){ $query = $this->model::with($this->with) ->where('sts',3); TableEngine::create($query, $request) ->initSearch(['title']) ->select($this->select) ->export($query); return $query; } public function indexOwn(Request $request){ $query = $this->model::with($this->with) ->where('user_id',auth()->id()); TableEngine::create($query, $request) ->initSearch(['title']) ->select($this->select) ->export($query); return response()->json($query); } }
Copyright ©2k19 -
Hexid
|
Tex7ure