Esempio n. 1
0
 /**
  * Update tags in database.
  *
  * @param Request $request
  * @param int $id
  *
  * @return Redirect
  */
 public function update(Request $request, $id)
 {
     $image = Image::findOrFail($id);
     $tags = DB::table('tags')->whereIn('id', $request->input('tags'))->lists('id');
     $tagsExisting = DB::table('image_tags')->where('image_id', $image->id)->lists('tag_id');
     $tagsTimestamps = [];
     foreach ($tags as $tagId) {
         $tagsTimestamps[$tagId] = ['updated_at' => date('Y-m-d H:i:s')];
         if (!in_array($tagId, $tagsExisting)) {
             $tagsTimestamps[$tagId]['created_at'] = date('Y-m-d H:i:s');
         }
     }
     $image->tags()->sync($tagsTimestamps);
     return redirect()->route('image.view', ['id' => $image->id]);
 }
Esempio n. 2
0
 public function unstar($id)
 {
     $image = Image::findOrFail($id);
     $exist = DB::table('image_favorites')->where('image_id', $image->id)->where('user_id', Sentry::getUser()->id)->exists();
     if ($exist) {
         DB::table('image_favorites')->where('image_id', $image->id)->where('user_id', Sentry::getUser()->id)->delete();
     }
     return Redirect::route('image.view', ['id' => $image->id]);
 }