Beispiel #1
0
 /**
  * Получить все темы разговора по фильтру
  *
  * @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;
 }