document = $documentRepository; } public function getUpload() { return view('pages.upload'); } public function postUpload() { $form_data = Input::all(); $validator = Validator::make($form_data, Document::$rules, Document::$messages); if($validator->fails()) { return array( 'error' => true, 'message' => $validator->messages()->first(), 'code' => 400 ); } $file = $form_data['file']; $model = $form_data['model']; $id = $form_data['model_id']; $user_id = $form_data['user_id']; $hash = false; if(key_exists('hash', $form_data)) { $hash = $form_data['hash']; $quicklogin = QuickLoginHelper::checkForHash($hash); if($quicklogin) { $model = $quicklogin->post_type; $id = $quicklogin->post_id; $user_id = $quicklogin->user_id; } else { $response = [ 'error' => true, 'message' => 'Hash not existing or expired', 'code' => 500 ]; return Response::json($response, $response['code']); } } $filename = $file->getClientOriginalName(); $extension = $file->getClientOriginalExtension(); $response = $this->document->upload($model, $id, $filename, $extension, $file, $user_id); return Response::json($response, $response['code']); } public function deleteUpload() { $filename = Input::get('id'); if(!$filename) { return 0; } $docs = $this->document->delete( $filename ); $response = [ 'status' => [ 'error' => false, 'code' => 200, 'message' => 'document deleted', 'title' => '' ], 'content' => [ 'json' => $docs, ], ]; return Response::json($response); } public function changePreviewFile(Request $request) { if(isset($request['model']) && isset($request['model_id']) && isset($request['filename'])) { $model = $request['model']; $id = $request['model_id']; $filename = $request['filename']; $docs = $this->document->changePreviewFile($model, $id, $filename); $response = [ 'status' => [ 'error' => false, 'code' => 200, 'message' => 'preview document changed', 'title' => '' ], 'content' => [ 'json' => $docs, ], ]; } return Response::json($response); } public function getServerDocuments($model, $id) { return response()->json([ 'images' => $this->document->getEntityFiles($model, $id) ]); } public function getServerDocumentThumb($model, $id, $filename) { $path = $this->document->getWebPreviewPath($model, $id); $file = $this->document->get($path, $filename); $mimeType = Storage::disk('upload')->mimeType($path.$filename); $response = Response::make($file, 200); $response->header("Content-Type", $mimeType); return $response; } public function getServerDocument($model, $id, $filename) { $path = $this->document->getWebPath($model, $id); $file = $this->document->get($path, $filename); $mimeType = Storage::disk('upload')->mimeType($path.$filename); $response = Response::make($file, 200); $response->header("Content-Type", $mimeType); return $response; } public function originalFileInfo($model, $id, $filename) { $doc = $this->document->getInfoByOriginalName($model, $id, $filename); $response = [ 'status' => [ 'error' => false, 'code' => 200, 'message' => 'file info by original filename '.$filename, 'title' => '' ], 'content' => [ 'json' => $doc, ], ]; return $response; } public function getServerIcons($icon) { $path = '/uploads/icons/'; $file = $this->document->get($path, $icon); $mimeType = Storage::disk('upload')->mimeType($path.$icon); $response = Response::make($file, 200); $response->header("Content-Type", $mimeType); return $response; } }