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; }
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()]); } }
/** * 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; }
/** * 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')); }
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); }
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('Ошибка, свяжитесь с администратором.'); } }
/** * 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; }
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); }
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'); }