/** * Получить все темы разговора по фильтру * * @param array $aFilter Фильтр * @param int $iPage Номер страницы * @param int $iPerPage Количество элементов на страницу * @return array('collection'=>array,'count'=>int) */ public function GetTalksByFilter($aFilter, $iPage, $iPerPage) { $data = array('collection' => $this->oMapper->GetTalksByFilter($aFilter, $iCount, $iPage, $iPerPage), 'count' => $iCount); $aTalks = $this->GetTalksAdditionalData($data['collection']); /** * Добавляем данные об участниках разговора */ foreach ($aTalks as $oTalk) { $aResult = $this->GetTalkUsersByTalkId($oTalk->getId()); $aTalkUsers = array(); foreach ((array) $aResult as $oTalkUser) { $aTalkUsers[$oTalkUser->getUserId()] = $oTalkUser; } $oTalk->setTalkUsers($aTalkUsers); } $data['collection'] = $aTalks; return $data; }