Ejemplo n.º 1
0
 /**
  * Получить все комменты
  *
  * @param string $sTargetType Тип владельца комментария
  * @param int $iPage Номер страницы
  * @param int $iPerPage Количество элементов на страницу
  * @param array $aExcludeTarget Список ID владельцев, которые необходимо исключить из выдачи
  * @param array $aExcludeParentTarget Список ID родителей владельцев, которые необходимо исключить из выдачи, например, исключить комментарии топиков к определенным блогам(закрытым)
  * @return array('collection'=>array,'count'=>int)
  */
 public function GetCommentsAll($sTargetType, $iPage, $iPerPage, $aExcludeTarget = array(), $aExcludeParentTarget = array())
 {
     $s = serialize($aExcludeTarget) . serialize($aExcludeParentTarget);
     if (false === ($data = $this->Cache_Get("comment_all_{$sTargetType}_{$iPage}_{$iPerPage}_{$s}"))) {
         $data = array('collection' => $this->oMapper->GetCommentsAll($sTargetType, $iCount, $iPage, $iPerPage, $aExcludeTarget, $aExcludeParentTarget), 'count' => $iCount);
         $this->Cache_Set($data, "comment_all_{$sTargetType}_{$iPage}_{$iPerPage}_{$s}", array("comment_new_{$sTargetType}", "comment_update_status_{$sTargetType}"), 60 * 60 * 24 * 1);
     }
     $data['collection'] = $this->GetCommentsAdditionalData($data['collection'], array('target', 'favourite', 'user' => array()));
     return $data;
 }