/**
* Display comments in a discussion since a particular CommentID.
*
* @since 2.0.0
* @access public
*
* @param int $DiscussionID Unique discussion ID
* @param int $LastCommentID Only shows comments posted after this one
*/
public function getNew($DiscussionID, $LastCommentID = 0)
{
$this->setData('Discussion', $this->DiscussionModel->getID($DiscussionID), true);
// Check permissions.
$this->permission('Vanilla.Discussions.View', true, 'Category', $this->Discussion->PermissionCategoryID);
$this->setData('CategoryID', $this->CategoryID = $this->Discussion->CategoryID, true);
// Get the comments.
$Comments = $this->CommentModel->getNew($DiscussionID, $LastCommentID)->result();
$this->setData('Comments', $Comments, true);
// Set the data.
if (count($Comments) > 0) {
$LastComment = $Comments[count($Comments) - 1];
// Mark the comment read.
$this->setData('Offset', $this->Discussion->CountComments, true);
$this->CommentModel->setWatch($this->Discussion, $this->Discussion->CountComments, $this->Discussion->CountComments, $this->Discussion->CountComments);
$LastCommentID = $this->json('LastCommentID');
if (is_null($LastCommentID) || $LastComment->CommentID > $LastCommentID) {
$this->json('LastCommentID', $LastComment->CommentID);
}
} else {
$this->setData('Offset', $this->CommentModel->getOffset($LastCommentID), true);
}
$this->View = 'comments';
$this->render();
}