/** * Display the specified resource. * * @param int $id * @return Response */ public function show($id) { $photo = Photo::find($id); if (!$photo || count($photo)) { throw new NotFoundHttpException('no photo found'); } $photo = App\Photo::with(['post', 'post.post_author', 'post.comments'])->where('id', $id)->get(); return response()->json($photo); }
/** * Show the parter list to the user. * * @return Response */ function getIndex() { $set = DataSet::source(Photo::with('Object')); $set->link(url('/photo/edit'), '', 'show'); $set->link(url('/photo/edit'), "anlegen", "TR"); $set->paginate(10); $set->build(); return view('set.photo', compact('set')); }
public function postEdit($id, Request $request) { $photo = Photo::with('tags')->find($id); if (!$photo) { return redirect()->back()->withError('Photo not found.'); } $validation = Validator::make($request->all(), ['title' => 'required|min:3', 'photo' => 'image', 'user_id' => 'required|integer|exists:users,id', 'tags' => 'required']); if ($validation->fails()) { return redirect()->back()->withInput()->withErrors($validation); } $isFileUploaded = $request->hasFile('photo'); if ($isFileUploaded) { //First, delete the old photos and all sizes using Croppa Croppa::delete(public_path() . '/uploads/' . $photo->image); //Then Upload the image and return the filename $upload = Photo::upload($request->file('photo')); } //Tag Stuff //First, create(if needed) and return IDs of tags $tagIds = Tag::createAndReturnArrayOfTagIds($request->get('tags')); //If user wants to read the tags (keywords) from the file, then we need to fetch them from uploaded file. if ($isFileUploaded && $request->has('read_tags_from_file')) { $exif = exif_read_data($upload['fullpath'], 'ANY_TAG', true); if ($exif) { if (array_key_exists('IFD0', $exif)) { if (array_key_exists('Keywords', $exif['IFD0'])) { //array_unique, because same tags may be on both the form and the file, but only one is added to the database //Keywords are delimited by semicolon ( ; ) in the tag data. $tagIds = array_unique(array_merge($tagIds, Tag::createAndReturnArrayOfTagIds($exif['IFD0']['Keywords'], ';'))); } } } } //Tag Stuff end $photo->user_id = $request->get('user_id'); $photo->title = $request->get('title'); if ($isFileUploaded) { $photo->image = $upload['filename']; } $photo->save(); //Now, sync all the associated tags $photo->tags()->sync($tagIds); return redirect()->back()->withSuccess('Photo updated successfully!'); }
public function getDetail($photoSlug) { $photo = Photo::with('tags', 'user')->whereSlug($photoSlug)->first(); if (!$photo) { return redirect('/')->withError('Photo not found'); } return view('photos.detail')->withPhoto($photo); }