public function like(Request $request)
 {
     onlyAllowPostRequest($request);
     $post_id = $request->input('id');
     $user_id = $request->input('user');
     /**
      * Dữ liệu trả về
      */
     $response = new stdClass();
     $likes = Like::all()->where('user_id', intval($user_id))->where('post_id', intval($post_id));
     if ($likes->count() > 0) {
         $response->error = true;
         $response->error_msg = 'Bạn đã cảm ơn bài viết này!';
         return response()->json($response);
     }
     $like = Like::create(['user_id' => $user_id, 'post_id' => $post_id]);
     $posts = Post::all()->where('id', intval($post_id));
     if ($posts->count() == 0) {
         $response->error = true;
         $response->error_msg = 'Bạn đã cảm ơn bài viết này!';
         return response()->json($response);
     }
     $count_like = intval($posts->first()->like);
     $count_like++;
     $p = DB::table('posts')->where('id', intval($post_id))->update(['like' => $count_like]);
     $response->error = false;
     $response->msg = 'Cảm ơn bạn!';
     return response()->json($response);
 }
 function create()
 {
     if (Session::has('user')) {
         $aLike = ['liked' => false, 'unliked' => false];
         $iLikeFromType = Input::get('like_from_type');
         $iToUserID = Input::get('to_user_id');
         $iUserID = Session::get('user')['id'];
         $iLikeFromID = Input::get('like_from_id');
         switch ($iLikeFromType) {
             case Like::LIKE_TYPE_USER:
                 $iFromWhereID = "user_id";
                 break;
             case Like::LIKE_TYPE_CHARACTER:
                 $iFromWhereID = "character_id";
                 break;
             case Like::LIKE_TYPE_FAMILY:
                 $iFromWhereID = "family_id";
                 break;
             case Like::LIKE_TYPE_SPECY:
                 $iFromWhereID = "specy_id";
                 break;
             case Like::LIKE_TYPE_PHOTO:
                 $iFromWhereID = "photo_id";
                 break;
             case Like::LIKE_TYPE_POST:
                 $iFromWhereID = "post_id";
                 break;
             case Like::LIKE_TYPE_MATE:
                 $iFromWhereID = "mate_id";
                 break;
             case Like::LIKE_TYPE_COMMENT:
                 $iFromWhereID = "comment_id";
         }
         //If no result on hasLiked, create like
         $oResultHasLike = self::hasLiked($iFromWhereID, $iToUserID, $iUserID, $iLikeFromType, $iLikeFromID);
         if (!$oResultHasLike) {
             $oResult = Like::create(['from_user_id' => $iUserID, 'to_user_id' => $iToUserID, 'like_type' => $iLikeFromType, $iFromWhereID => $iLikeFromID]);
             Update::create(['user_id' => $iUserID, 'update_type' => Update::UPDATE_TYPE_LIKE, 'like_id' => $oResult['id'], 'status' => Update::UPDATE_STATUS_ACTIVE]);
             if ($oResult) {
                 $aLike['liked'] = true;
                 return response()->json(['status' => true, 'message' => "Successfully liked", 'like' => json_encode($aLike)]);
             } else {
                 return response()->json(['status' => false, 'message' => "Something went wrong. Please try again later"]);
             }
         } else {
             $bResult = Like::where('id', $oResultHasLike['id'])->update(['status' => Like::LIKE_STATUS_DISLIKED_BY_USER]);
             Update::where('like_id', $oResultHasLike['id'])->update(['status' => Update::UPDATE_STATUS_DEACTIVATED_BY_USER]);
             if ($bResult) {
                 $aLike['unliked'] = true;
                 return response()->json(['status' => true, 'message' => "Successfully disliked", 'like' => json_encode($aLike)]);
             } else {
                 return response()->json(['status' => false, 'message' => "Something went wrong. Please try again later"]);
             }
         }
     }
 }
Example #3
0
 public function newLike(Request $request, $entry_id)
 {
     $user = JWTAuth::parseToken()->authenticate();
     $newLike['entry_id'] = $entry_id;
     $newLike['user_id'] = $user->id;
     if (Like::where(['entry_id' => $newLike['entry_id'], 'user_id' => $newLike['user_id']])->exists()) {
         abort(403, 'Like is already registered');
     } else {
         return Like::create($newLike);
     }
 }
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     //Get the Media from given URL
     $media = Media::where('url', $request->url)->first();
     if (!$media) {
         return response()->json(['success' => false, 'message' => "No such media in our DB"]);
     }
     if (!$media->publishable) {
         return response()->json(['success' => false, 'message' => "You cannot like this media"]);
     }
     return response()->json(['success' => true, 'message' => "Successfully liked", 'like' => Like::create(['user_id' => User::getCurrentUserId(), 'media_id' => $media->id])]);
 }
Example #5
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     $user = new User();
     $user->name = 'hisyam';
     $user->email = '*****@*****.**';
     //$user->photo = 'southern_miss_logo.0.0.jpeg';
     $user->password = bcrypt('admin1');
     $user->save();
     $stat = Stat::create(['user_id' => '1', 'content' => 'Lorem Ipsum', 'published_at' => Carbon\Carbon::now()]);
     $like = Like::create(['stat_id' => '1', 'count' => 45]);
     $comment = Comment::create(['stat_id' => 1, 'user_id' => 1, 'content' => 'Lorem Ipsum', 'published_at' => Carbon\Carbon::now()]);
 }
Example #6
0
 public function storeLike(Request $request, $name)
 {
     $data = $request->all();
     if ($data['like'] == "true") {
         $data['like'] = true;
     } else {
         $data['like'] = false;
     }
     $data['user_id'] = Auth::user()->id;
     //CHECK WHETHER LIKED OR DISLIKED AND REACT ACCORDINGLY
     $likeObject = new Like();
     $isLike = $likeObject->isLike($data['user_id'], $data['post_id']);
     $isDislike = $likeObject->isDislike($data['user_id'], $data['post_id']);
     if (!$isLike && !$isDislike) {
         //if not liked and not disliked
         Like::create($data);
     } elseif ($isLike && !$isDislike && $data['like'] == true) {
         //already liked,not disliked,pressed like button
         //dd("already liked,not disliked,pressed like button");
         Like::where(['post_id' => $data['post_id'], 'user_id' => $data['user_id']])->delete();
     } elseif ($isLike && !$isDislike && $data['like'] == false) {
         //already liked,not disliked,but pressed dislike button
         //dd("already liked,not disliked,but pressed dislike button");
         Like::where(['post_id' => $data['post_id'], 'user_id' => $data['user_id']])->update(array('like' => false));
     } elseif (!$isLike && $isDislike && $data['like'] == true) {
         //not liked,already disliked,but pressed like button
         //dd("not liked,already disliked,but pressed like button");
         Like::where(['post_id' => $data['post_id'], 'user_id' => $data['user_id']])->update(array('like' => true));
     } elseif (!$isLike && $isDislike && $data['like'] == false) {
         //not liked,already disliked,but pressed dislike button
         //dd("not liked,already disliked,but pressed dislike button");
         Like::where(['post_id' => $data['post_id'], 'user_id' => $data['user_id']])->delete();
     }
     $post = Post::find($data['post_id']);
     $countLikeDislike = null;
     $countLikeDislike['likes'] = $post->Likes()->count();
     $countLikeDislike['dislikes'] = $post->Dislikes()->count();
     $countLikeDislike['icon_flag'] = $data['like'];
     return $countLikeDislike;
 }
 public function like(Request $request, $id)
 {
     if (\Auth::check()) {
         $forms = Form::findorfail($id);
         $userid = \Auth::user();
         Like::create(['user_id' => $userid->id, 'form_id' => $forms->id]);
         $likes = Like::all();
         $likedata = $this->countLikes($likes, $forms);
         echo json_encode($likedata);
     } else {
         return redirect('auth/login');
     }
 }
 public function likeUnlike($id, $action)
 {
     //Get Proposal
     $proposal = $this->proposalsRepository->find($id);
     //Get User
     if (!Auth::check()) {
         // The user is not logged in...
         // Retrieve UUID from Cookie
         $user_id = null;
         $unique = Cookie::get('uuid');
     } else {
         //Retrieve UUID from User
         $user_id = Auth::user()->id;
         $unique = Auth::user()->uuid;
     }
     //Possible Values: Null, 0 or 1
     $existing_like = Like::where('uuid', $unique)->where('proposal_id', $id)->value('like');
     switch ($existing_like) {
         // Already Unliked
         case '0':
             switch ($action) {
                 case 'like':
                     Like::where('uuid', $unique)->where('proposal_id', $id)->update(['like' => $action == 'like']);
                     Session::flash('flash_msg', 'Você voltou a curtir essa Ideia Legislativa!');
                     break;
                 case 'unlike':
                     Session::flash('error_msg', 'Você já deixou de curtir essa Ideia Legislativa!');
                     break;
             }
             break;
             // Already Liked
         // Already Liked
         case '1':
             switch ($action) {
                 case 'like':
                     Session::flash('error_msg', 'Você já curtiu essa Ideia Legislativa!');
                     break;
                 case 'unlike':
                     Like::where('uuid', $unique)->where('proposal_id', $id)->update(['like' => $action == 'like']);
                     Session::flash('flash_msg', 'Você deixou de curtir essa Ideia Legislativa!');
                     break;
             }
             break;
             // New Like
         // New Like
         case null:
             //dd($existing_like, $action, $str_action);
             Like::create(['user_id' => $user_id, 'uuid' => $unique, 'proposal_id' => $proposal->id, 'like' => $action == 'like', 'ip_address' => Request::ip()]);
             $approval_url = route('proposal.approval', $id);
             $msg = 'Sua curtida foi computada com sucesso. Caso queira apoiar oficialmente esta proposta, <a href="' . $approval_url . '">clique aqui</a>.';
             Session::flash('flash_msg', $msg);
             break;
     }
     return redirect()->back();
 }