AllViewedPlugin::checkDiscussionDate PHP Method

checkDiscussionDate() private method

Helper function to actually override a discussion's unread status
Since: 2.0
private checkDiscussionDate ( DiscussionModel $Discussion, integer | string $DateAllViewed )
$Discussion DiscussionModel
$DateAllViewed integer | string
    private function checkDiscussionDate($Discussion, $DateAllViewed)
    {
        if (Gdn_Format::toTimestamp($Discussion->DateInserted) > $DateAllViewed) {
            // Discussion is newer than DateAllViewed
            return;
        }
        if (Gdn_Format::toTimestamp($Discussion->DateLastComment) <= $DateAllViewed) {
            // Covered by AllViewed
            $Discussion->CountUnreadComments = 0;
        } elseif (Gdn_Format::toTimestamp($Discussion->DateLastViewed) == $DateAllViewed || !$Discussion->DateLastViewed) {
            // User clicked AllViewed. Discussion is older than click. Last comment is newer than click.
            // No UserDiscussion record found OR UserDiscussion was set by AllViewed
            $Discussion->CountUnreadComments = $this->getCommentCountSince($Discussion->DiscussionID, $DateAllViewed);
        }
    }