/** * Add denormalized views to discussions. * * @param Gdn_DataSet|stdClass $Discussions */ public function addDenormalizedViews(&$Discussions) { if ($Discussions instanceof Gdn_DataSet) { $Result = $Discussions->result(); foreach ($Result as &$Discussion) { $CacheKey = sprintf(DiscussionModel::CACHE_DISCUSSIONVIEWS, $Discussion->DiscussionID); $CacheViews = Gdn::cache()->get($CacheKey); if ($CacheViews !== Gdn_Cache::CACHEOP_FAILURE) { $Discussion->CountViews += $CacheViews; } } } else { if (isset($Discussions->DiscussionID)) { $Discussion = $Discussions; $CacheKey = sprintf(DiscussionModel::CACHE_DISCUSSIONVIEWS, $Discussion->DiscussionID); $CacheViews = Gdn::cache()->get($CacheKey); if ($CacheViews !== Gdn_Cache::CACHEOP_FAILURE) { $Discussion->CountViews += $CacheViews; } } } }