/** * Получить все комменты * * @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()) { $sCacheKey = "comment_all_" . serialize(func_get_args()); if (false === ($data = E::ModuleCache()->Get($sCacheKey))) { $data = array('collection' => $this->oMapper->GetCommentsIdByTargetType($sTargetType, $iCount, $iPage, $iPerPage, $aExcludeTarget, $aExcludeParentTarget), 'count' => $iCount); E::ModuleCache()->Set($data, $sCacheKey, array("comment_new_{$sTargetType}", "comment_update_status_{$sTargetType}"), 'P1D'); } if ($data['collection']) { $data['collection'] = $this->GetCommentsAdditionalData($data['collection'], array('target', 'favourite', 'user' => array())); } return $data; }