/home/techb158/ileadtechnology.com/SSM/app/Http/Controllers/upload
NameSizeModeActions
UploadController.php62980644editdlrm
Edit: /home/techb158/ileadtechnology.com/SSM/app/Http/Controllers/upload/UploadController.php (6298B)
upload = $upload; } protected $module = 'upload'; public function getAllowedExtension() { $upload_variables = getVar('upload'); return isset($upload_variables[request('module')]['allowed_file_extensions']) ? $upload_variables[request('module')]['allowed_file_extensions'] : ['jpg','png','jpeg','pdf','doc','docx','xls','xlsx','txt','JPG']; } /** * Used to upload Files * @post ("/api/upload") * @param ({ * @Parameter("module", type="string", required="true", description="Name of module"), * @Parameter("token", type="string", required="true", description="Upload Token from Form"), * @Parameter("file", type="file", required="true", description="File to be uploaded"), * }) * @return Response */ public function upload() { $module = request('module'); $token = request('token'); $upload_variables = getVar('upload'); $module_upload_variables = isset($upload_variables[$module]) ? $upload_variables[$module] : []; $auth_required = isset($module_upload_variables['auth_required']) ? $module_upload_variables['auth_required'] : 1; $max_file_size = isset($module_upload_variables['max_file_size']) ? $module_upload_variables['max_file_size'] : 10000; $allowed_file_extensions = isset($module_upload_variables['allowed_file_extensions']) ? $module_upload_variables['allowed_file_extensions'] : ['jpg','png','jpeg','pdf','doc','docx','xls','xlsx']; $max_no_of_files = isset($module_upload_variables['max_no_of_files']) ? $module_upload_variables['max_no_of_files'] : 5; if (!$module || !$token) { return $this->error(['message' => trans('general.invalid_action')]); } if ($this->upload->whereUploadToken(request('token'))->where('module', '!=', $module)->count()) { return $this->error(['message' => trans('general.invalid_action')]); } $user = (\Auth::check()) ? \Auth::user() : null; if ($auth_required && !isset($user)) { return $this->error(['message' => trans('upload.authentication_require_before_upload')]); } $size = request()->file('file')->getSize(); if ($size > $max_file_size*1024*1024) { return $this->error(['message' => trans('upload.file_size_exceeds')]); } $extension = request()->file('file')->extension(); if (!in_array($extension, $allowed_file_extensions)) { return $this->error(['message' => trans('upload.invalid_extension', ['extension' => $extension])]); } $existing_upload = $this->upload->filterByModule($module)->filterByUploadToken($token)->filterByIsTempDelete(0)->count(); if ($existing_upload >= $max_no_of_files) { return $this->error(['message' => trans('upload.max_file_limit_crossed', ['number' => $max_no_of_files])]); } $upload = $this->upload; $upload->module = $module; $upload->module_id = request('module_id') ? request('module_id') : null; $upload->upload_token = $token; $upload->user_filename = request()->file('file')->getClientOriginalName(); $upload->filename = request()->file('file')->store('uploads/'.$module); $upload->uuid = Str::uuid(); $upload->user_id = isset($user) ? $user->id : null; $upload->save(); return $this->success(['message' => trans('upload.file_uploaded'),'upload' => $upload]); } /** * Used to fetch Uploaded Files * @post ("/api/upload") * @param ({ * @Parameter("module", type="string", required="true", description="Name of module"), * @Parameter("module_id", type="integer", required="true", description="Id of Module"), * }) * @return Response */ public function fetch() { $this->upload->filterByModule(request('module'))->filterByModuleId(request('module_id'))->update(['is_temp_delete' => 0]); return $this->ok($this->upload->filterByModule(request('module'))->filterByModuleId(request('module_id'))->filterByStatus(1)->get()); } /** * Used to upload Image in Summernote * @post ("/api/upload/image") * @param ({ * @Parameter("file", type="file", required="true", description="Image file to be uploaded"), * }) * @return Response */ public function uploadImage() { request()->validate([ 'file' => [ 'required', 'image', 'mimes:jpeg,bmp,png,svg,gif' ], ], [], [ 'file' => trans('general.file') ]); $file = \Storage::disk('public')->putFile('editor-images', request()->file('file')); $image_url = '/storage/'.$file; return $this->success(compact('image_url')); } /** * Used to delete Upload File * @post ("/api/upload/{id}") * @param ({ * @Parameter("id", type="integer", required="true", description="Id of Uploaded File"), * @Parameter("token", type="string", required="true", description="Upload Token from Form"), * @Parameter("module_id", type="integer", required="optional", description="Id of Module"), * }) * @return Response */ public function destroy($id) { $upload = $this->upload->find($id); if (!$upload || $upload->upload_token != request('token')) { return $this->error(['message' => 'Invalid action!']); } if (request('module_id') && $upload->status) { $this->upload->filterById($id)->update(['is_temp_delete' => 1]); } else { \Storage::delete($upload->filename); $this->upload->filterById($id)->delete(); } return $this->success(['message' => trans('upload.file_deleted')]); } }