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