示例#1
0
 public function getLike($statusId)
 {
     $status = Status::find($statusId);
     /*
      * If no status exists
      */
     if (!$status) {
         return redirect()->route('home');
     }
     /*
      * If user is not friends with user who posted status
      */
     if (!Auth::user()->isFriendsWith($status->user)) {
         return redirect()->route('home');
     }
     /*
      * If user has already liked status
      */
     if (Auth::user()->hasLikedStatus($status)) {
         return redirect()->back();
     }
     $like = $status->likes()->create([]);
     Auth::user()->likes()->save($like);
     return redirect()->back();
 }
示例#2
0
 public function index()
 {
     // Shows timeline if User is Auth
     if (Auth::check()) {
         // Gets status from user and friends
         $statuses = Status::notReply()->where(function ($query) {
             return $query->where('user_id', Auth::user()->id)->orWhereIn('user_id', Auth::user()->friends()->lists('id'));
         })->orderBy('created_at', 'desc')->get();
         return view('timeline.index')->with('statuses', $statuses);
     }
     // If not authenticated user just show home
     return view('home');
 }
示例#3
0
 public function hasLikedStatus(Status $status)
 {
     return (bool) $status->likes()->where('user_id', $this->id)->count();
 }