function current_folder_breadcrumb_path($user, $folder) { $path = '<li class="active"><a href="' . url(folder_url($user, $folder)) . '"><span class="fa fa-folder-open-o"></span> ' . $folder->name . '</a></li>'; $folder = Folder::find($folder->parent_folder_id); while ($folder->parent_folder_id != $folder->id) { $path = '<li><a href="' . url(folder_url($user, $folder)) . '"><span class="fa fa-folder"></span> ' . $folder->name . '</a></li>' . $path; $folder = Folder::find($folder->parent_folder_id); } $path = '<li><a href="' . url('/dashboard/users/' . $user->slug . '/' . $user->id) . '"><span class="fa fa-home"></span> Inicio</a></li>' . $path; return $path; }
/** * Store a newly created resource in storage. * * @return Response */ public function store(Request $request) { // while (!is_uploaded_file($_FILES['file_input']['tmp_name'])) { $clave = ini_get("session.upload_progress.prefix") . $_POST[ini_get("session.upload_progress.name")]; var_dump($_SESSION[$clave]); } //Validate the Request through the validation rules $validator = Validator::make($request->all(), ['file_input' => 'required', 'file_nickname' => 'required|min:5']); //Take actions when the validation has failed if ($validator->fails()) { return redirect('create-file')->withErrors($validator)->withInput(); } $file_created_by = Auth::user()->id; $file_type = $_POST['sel2']; $folder_id = $_POST['sel1']; $file_nickname = $request->input('file_nickname'); $target_dir = "folders"; $target_dir .= "/"; $target_dir .= $file_created_by; $target_dir .= "/"; $target_dir .= $folder_id; $file_size = $_FILES['file_input']['size']; $file_mime = $_FILES['file_input']['type']; $tmp_name = $_FILES['file_input']['tmp_name']; $name = $_FILES['file_input']['name']; $filename = uniqid() . $name; $file_path = $target_dir . '/' . $filename; move_uploaded_file($tmp_name, $target_dir . '/' . $filename); if ($file_mime == 'application/pdf') { $data = file_get_contents('http://*****:*****@index'); }
/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $slug, $id) { $user = User::find($id); $this->authorize('show-user', $user); if ($request->password && $request->password_confirmation) { $this->validate($request, ['password' => 'required|confirmed']); $credentials = $request->only('name', 'email', 'password', 'password_confirmation'); $user->password = bcrypt($credentials['password']); } $old_path = 'documents/' . $user->slug; $user->name = $request->name; $user->slug = '@' . str_slug($request->name); // $user->email = $request->email; $user->save(); $folders = $user->folders()->get(); $folders->each(function ($folder, $key) use($user) { if ($folder->parent_folder_id > 0) { $new_path = 'documents/' . $user->slug . '/' . current_folder_path(Folder::find($folder->parent_folder_id)) . $folder->slug; $folder->files()->get()->each(function ($file, $key) use($new_path) { $file->path = $new_path . '/' . $file->name_on_disk; $file->save(); }); } }); \File::move(public_path($old_path), public_path('documents/' . $user->slug)); return redirect('/dashboard/users/' . $user->slug . '/' . $user->id); }
/** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { $folder = Folder::find($id); try { \File::deleteDirectory(public_path('documents/' . $folder->user()->first()->slug . '/' . current_folder_path($folder))); $folder->delete(); } catch (\Exception $e) { return response()->json(['message' => 'Folder was not deleted', 'description' => $e->getMessage()], 403); } return response()->json(['message' => 'Folder deleted correctly', 'description' => 'Folder deleted correctly'], 201); }