/** * Получает количество комментариев одного пользователя * * @param id $sId ID пользователя * @param string $sTargetType Тип владельца комментария * @return int */ public function GetCountCommentsByUserId($sId, $sTargetType) { /** * Исключаем из выборки идентификаторы закрытых блогов */ $aCloseBlogs = $this->oUserCurrent && $sId == $this->oUserCurrent->getId() ? array() : $this->Blog_GetInaccessibleBlogsByUser(); $s = serialize($aCloseBlogs); if (false === ($data = $this->Cache_Get("comment_count_user_{$sId}_{$sTargetType}_{$s}"))) { $data = $this->oMapper->GetCountCommentsByUserId($sId, $sTargetType, array(), $aCloseBlogs); $this->Cache_Set($data, "comment_count_user_{$sId}_{$sTargetType}", array("comment_new_user_{$sId}_{$sTargetType}", "comment_update_status_{$sTargetType}"), 60 * 60 * 24 * 2); } return $data; }
/** * Получает количество комментариев одного пользователя * * @param int $iUserId ID пользователя * @param string $sTargetType Тип владельца комментария * * @return int */ public function GetCountCommentsByUserId($iUserId, $sTargetType) { /** * Исключаем из выборки идентификаторы закрытых блогов */ if ($this->oUserCurrent && $iUserId == $this->oUserCurrent->getId()) { $aCloseBlogs = E::ModuleBlog()->GetInaccessibleBlogsByUser(); } else { $aCloseBlogs = array(); } $sCacheKey = "comment_count_user_{$iUserId}_{$sTargetType}_" . serialize($aCloseBlogs); if (false === ($data = E::ModuleCache()->Get($sCacheKey))) { $data = $this->oMapper->GetCountCommentsByUserId($iUserId, $sTargetType, array(), $aCloseBlogs); E::ModuleCache()->Set($data, $sCacheKey, array("comment_new_user_{$iUserId}_{$sTargetType}", "comment_update_status_{$sTargetType}"), 'P2D'); } return $data; }