Esempio n. 1
0
 public function postLikePost(Request $request)
 {
     $post_id = $request['postId'];
     $isLike = $request['isLike'] === 'true';
     // ? true  : false;
     $update = false;
     $post = Post::find($post_id);
     if (!$post) {
         return null;
     }
     $user = Auth::user();
     $like = $user->likes()->where('post_id', $post_id)->first();
     if ($like) {
         $alreadyLike = $like->like;
         $update = true;
         if ($alreadyLike == $isLike) {
             $like->delete();
             return null;
         }
     } else {
         $like = new Like();
     }
     $like->like = $isLike;
     $like->user_id = $user->id;
     $like->post_id = $post->id;
     if ($update) {
         $like->update();
     } else {
         $like->save();
     }
     return null;
 }
Esempio n. 2
0
 public function like($domain, $productId)
 {
     $product = Product::find($productId);
     $product->rating += 5;
     $product->save();
     $like = $product->likes()->where('liker_id', $this->user->id)->first();
     if ($like) {
         return $this->responseBadRequest('You already liked this one');
     } else {
         $like = new Like();
         $like->product_id = $productId;
         $like->liker_id = $this->user->id;
         $like->save();
         if ($this->user->id != $product->author->id) {
             $notification = new Notification();
             $notification->product_id = $productId;
             $notification->actor_id = $this->user->id;
             $notification->receiver_id = $product->author->id;
             $notification->type = 0;
             $notification->save();
             $publish_data = array("event" => "notification", "data" => ["notification" => $this->notificationTransformer->transform($notification)]);
             Redis::publish('colorme-channel', json_encode($publish_data));
         }
         send_push_notification(json_encode($publish_data));
         return $this->respond(['product_id' => $productId, 'like_counts' => $product->likes()->count()]);
     }
 }
Esempio n. 3
0
 /**
  * User like post
  * @author  Tran Van Moi
  * @since  2015/05/21
  * @param  int $user_id
  * @param  int $post_id
  * @return  int
  */
 public static function like($user_id, $post_id)
 {
     $like = new Like();
     $like->user_id = $user_id;
     $like->post_id = $post_id;
     $like->save();
     return $like;
 }
Esempio n. 4
0
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store(LikeRequest $request)
 {
     $input = $request->all();
     $like = new Like($input);
     $like->save();
     $notification = new RepostNotification();
     $notification->user_id = Auth::user()->id;
     $notification->my_user_id = Tweet::find($like->tweet_id)->user->id;
     $notification->tweet_id = $like->tweet_id;
     $notification->type = "Like";
     $notification->reply_id = 0;
     $notification->save();
     return redirect()->back();
 }
 public function postLike(\Illuminate\Http\Request $request)
 {
     $id = e($request->input('id'));
     $course = Course::findOrFail($id);
     if (Like::where('course', '=', $id)->where('user', '=', \Auth::user()->id)->exists()) {
         $course->likes--;
         $like = Like::where('course', '=', $id)->where('user', '=', \Auth::user()->id)->first();
         $like->delete();
     } else {
         $course->likes++;
         $like = new Like();
         $like->course = $id;
         $like->user = Auth::user()->id;
         $like->save();
     }
     $course->save();
     return view::make('courses.liked', compact('course'));
 }
Esempio n. 6
0
 public function setLike(Request $request)
 {
     $data = Input::get('photoId');
     $data = intval($data);
     $ip = $request->getClientIp();
     $validation = DB::table('likes')->where('idDraw', $data)->where('ip', $ip)->count();
     if ($validation == 0) {
         $like = new Like();
         $like->ip = $ip;
         $like->idDraw = $data;
         $like->save();
         DB::table('images')->where('id', $data)->increment('likes', 1);
         $message = 'Liked';
     } else {
         $message = 'You already liked this drawing';
     }
     echo json_encode($message);
 }
Esempio n. 7
0
 public function getLikeComment(Request $request, $slug, $comment)
 {
     $user = User::where('id', $request->user()->id)->first();
     $comment = Comment::where('id', $comment)->first();
     if ($user && $comment) {
         if ($user->id == $comment->user_id) {
             return redirect()->route('home')->withError('Ошибка, хакер что ли?');
         }
         if ($user->hasLikedComment($comment, $request->user()->id)) {
             return redirect()->back()->withError('Вы уже это лайкнули.');
         }
         $like = new Like();
         $like->user_id = $user->id;
         $like->content_id = $comment->id;
         $like->content_type = 'App\\Comment';
         $like->save();
         return redirect()->back()->withMessage('Спасибо за лайк.');
     } else {
         return redirect()->route('home')->withError('Ошибка, свяжитесь с администратором.');
     }
 }
Esempio n. 8
0
 /**
  * Toggle tattoo like
  *
  * @return View
  */
 public function like(Request $request)
 {
     $res = array();
     $res['success'] = false;
     $tattooId = $request->input('id');
     $user = Auth::user();
     if ($user->likes()->where('tattoo_id', $tattooId)->count()) {
         $like = Like::where('tattoo_id', $tattooId)->where('user_id', $user->id)->first();
         if ($like) {
             //already liked so unlike now(delete)
             $like->delete();
             $res['data'] = 'Like';
             //unlike success now show Like
             $res['success'] = true;
             $res['likeCount'] = Like::where('tattoo_id', $tattooId)->count();
         }
     } else {
         $like = new Like();
         $like->tattoo_id = $tattooId;
         $like->user_id = $user->id;
         if ($like->save()) {
             $res['data'] = 'Unlike';
             //like success now show Unlike
             $res['success'] = true;
             $res['likeCount'] = Like::where('tattoo_id', $tattooId)->count();
         }
     }
     return $res;
 }
Esempio n. 9
0
 public function store_like(Request $request)
 {
     $num_like = $this->user->likes()->where('product_id', $request->product_id)->count();
     $product = Product::find($request->product_id);
     if ($num_like == 0) {
         if ($this->user->id != $product->author->id) {
             $notification = new Notification();
             $notification->product_id = $request->product_id;
             $notification->actor_id = $this->user->id;
             $notification->receiver_id = $product->author->id;
             $notification->type = 0;
             $notification->save();
             $data = array("message" => $notification->actor->name . " đã thích bài viết của bạn", "link" => url('bai-tap-colorme?id=' . $notification->product_id), 'created_at' => format_date_full_option($notification->created_at), "receiver_id" => $notification->receiver_id);
             $publish_data = array("event" => "notification", "data" => $data);
             Redis::publish('colorme-channel', json_encode($publish_data));
         }
         $product->rating += 1;
         $like = new Like();
         $like->product_id = $request->product_id;
         $like->liker_id = $this->user->id;
         $like->save();
         $like_id = $like->id;
     } else {
         $like_id = $this->user->likes()->where('product_id', $request->product_id)->first()->id;
         $like = Like::find($like_id);
         $like->delete();
         $like_id = -1;
         $product->rating -= 1;
         Notification::where('product_id', $product->id)->where('actor_id', $this->user->id)->first()->delete();
     }
     $total_likes = $product->likes()->count();
     $product->save();
     $return_data = new \stdClass();
     $return_data->total_likes = $total_likes;
     $return_data->like_id = $like_id;
     return json_encode($return_data);
 }
Esempio n. 10
0
 function setLikeDislike(Request $request)
 {
     $user = Session::get('user');
     if (!isset($user)) {
         return Redirect::back();
     }
     if (Like::where('user_id', $user[5])->where('review_id', $request->review_id)->exists()) {
         Like::where('user_id', $user[5])->where('review_id', $request->review_id)->update(['likeOrDislike' => $request->likeOrDislike]);
     } else {
         $likes = new Like();
         $likes->user_id = $user[5];
         $likes->review_id = $request->review_id;
         $likes->likeOrDislike = $request->likeOrDislike;
         $likes->save();
     }
     return redirect('/relogin');
 }