/** * Возвращает список блогов по фильтру * * @param array $aFilter Фильтр выборки блогов * @param array $aOrder Сортировка блогов * @param int $iCurrPage Номер текущей страницы * @param int $iPerPage Количество элементов на одну страницу * @param array $aAllowData Список типов данных, которые нужно подтянуть к списку блогов * @return array('collection'=>array,'count'=>int) */ public function GetBlogsByFilter($aFilter, $aOrder, $iCurrPage, $iPerPage, $aAllowData = null) { if (is_null($aAllowData)) { $aAllowData = array('owner' => array(), 'relation_user'); } $sKey = "blog_filter_" . serialize($aFilter) . serialize($aOrder) . "_{$iCurrPage}_{$iPerPage}"; if (false === ($data = $this->Cache_Get($sKey))) { $data = array('collection' => $this->oMapperBlog->GetBlogsByFilter($aFilter, $aOrder, $iCount, $iCurrPage, $iPerPage), 'count' => $iCount); $this->Cache_Set($data, $sKey, array("blog_update", "blog_new"), 60 * 60 * 24 * 2); } $data['collection'] = $this->GetBlogsAdditionalData($data['collection'], $aAllowData); return $data; }