示例#1
0
 /**
  * Gets the last reply for the current forum post.
  *
  * @return array
  */
 public function lastReply()
 {
     try {
         $replies = ForumReply::where('post_id', $this->id)->get();
         if ($replies->isEmpty()) {
             return null;
         }
         $reply = $replies->last();
         return ['author' => $reply->author->name, 'date' => $reply->created_at];
     } catch (Exception $e) {
         return null;
     }
 }
 public function forumReplyStore(Request $request)
 {
     if (!Auth::check()) {
         return response('Unauthorized', 401);
     }
     $user = Auth::user();
     $forum_id = $request->input('forum_id');
     $post_id = $request->input('post_id');
     $data = ['author_id' => $user->id, 'body' => $this->sanitizeData($request->input('body')), 'post_id' => $post_id];
     if (!ForumReply::valid($data)) {
         return redirect()->route('laravel-forum.view.post', [$forum_id, $post_id]);
     }
     $reply = ForumReply::create($data);
     event(new PostReply($reply, $user));
     return redirect()->route('laravel-forum.view.post', [$forum_id, $post_id]);
 }
示例#3
0
 /**
  * Get a users post count (posts created and replies).
  * @param int $user_id User Id.
  * @return int
  */
 public function getPostCount($user_id)
 {
     /* Get count from forum posts */
     try {
         $posts = ForumPost::where('author_id', $user_id)->get();
         $posts = count($posts);
     } catch (Exception $e) {
         $posts = 0;
     }
     /* Get count from forum replies */
     try {
         $replies = ForumReply::where('author_id', $user_id)->get();
         $replies = count($replies);
     } catch (Exception $e) {
         $replies = 0;
     }
     /* Return total */
     return $posts + $replies;
 }