示例#1
0
 /**
  * Возвращает количество топиков которые создал юзер
  *
  * @param int|object $xUser Пользователь
  * @param bool $bPublished  Флаг публикации топика
  *
  * @return array
  */
 public function GetCountTopicsPersonalByUser($xUser, $bPublished)
 {
     $iUserId = is_object($xUser) ? $xUser->getId() : intval($xUser);
     $aFilter = $this->GetNamedFilter('default', array('user_id' => $iUserId, 'topic_published' => $bPublished));
     $sCacheKey = 'topic_count_user_' . serialize($aFilter);
     if (false === ($data = E::ModuleCache()->Get($sCacheKey))) {
         $data = $this->oMapper->GetCountTopics($aFilter);
         E::ModuleCache()->Set($data, $sCacheKey, array("topic_update_user_{$iUserId}"), 'P1D');
     }
     return $data;
 }
示例#2
0
 /**
  * Возвращает количество топиков которые создал юзер
  *
  * @param int $sUserId ID пользователя
  * @param int $iPublish Флаг публикации топика
  * @return array
  */
 public function GetCountTopicsPersonalByUser($sUserId, $iPublish)
 {
     $aFilter = array('topic_publish' => $iPublish, 'user_id' => $sUserId, 'blog_type' => array('open', 'personal'));
     /**
      * Если пользователь смотрит свой профиль, то добавляем в выдачу
      * закрытые блоги в которых он состоит
      */
     if ($this->oUserCurrent && $this->oUserCurrent->getId() == $sUserId) {
         $aFilter['blog_type'][] = 'close';
     }
     $s = serialize($aFilter);
     if (false === ($data = $this->Cache_Get("topic_count_user_{$s}"))) {
         $data = $this->oMapperTopic->GetCountTopics($aFilter);
         $this->Cache_Set($data, "topic_count_user_{$s}", array("topic_update_user_{$sUserId}"), 60 * 60 * 24);
     }
     return $data;
 }