Beispiel #1
0
 /**
  * Возвращает массив пользователей, участвующих в разговоре
  *
  * @param  int $sTalkId	ID разговора
  * @return array
  */
 public function GetTalkUsersByTalkId($sTalkId, $aAllowData = null)
 {
     if (is_null($aAllowData)) {
         $aAllowData = array('user' => array());
     }
     if (false === ($aTalkUsers = $this->Cache_Get("talk_relation_user_by_talk_id_{$sTalkId}"))) {
         $aTalkUsers = $this->oMapper->GetTalkUsers($sTalkId);
         $this->Cache_Set($aTalkUsers, "talk_relation_user_by_talk_id_{$sTalkId}", array("update_talk_user_{$sTalkId}"), 60 * 60 * 24 * 1);
     }
     if ($aTalkUsers) {
         $aUserId = array();
         foreach ($aTalkUsers as $oTalkUser) {
             $aUserId[] = $oTalkUser->getUserId();
         }
         $aUsers = $this->User_GetUsersAdditionalData($aUserId, isset($aAllowData['user']) && is_array($aAllowData['user']) ? $aAllowData['user'] : null);
         foreach ($aTalkUsers as $oTalkUser) {
             if (isset($aUsers[$oTalkUser->getUserId()])) {
                 $oTalkUser->setUser($aUsers[$oTalkUser->getUserId()]);
             } else {
                 $oTalkUser->setUser(null);
             }
         }
     }
     return $aTalkUsers;
 }
Beispiel #2
0
 /**
  * Возвращает массив пользователей, участвующих в разговоре
  *
  * @param  int $nTalkId    ID разговора
  *
  * @return array
  */
 public function GetTalkUsersByTalkId($nTalkId)
 {
     $sCacheKey = "talk_relation_user_by_talk_id_{$nTalkId}";
     if (false === ($aTalkUsers = E::ModuleCache()->Get($sCacheKey))) {
         $aTalkUsers = $this->oMapper->GetTalkUsers($nTalkId);
         E::ModuleCache()->Set($aTalkUsers, $sCacheKey, array("update_talk_user_{$nTalkId}"), 'P1D');
     }
     if ($aTalkUsers) {
         $aUserId = array();
         foreach ($aTalkUsers as $oTalkUser) {
             $aUserId[] = $oTalkUser->getUserId();
         }
         $aUsers = E::ModuleUser()->GetUsersAdditionalData($aUserId);
         foreach ($aTalkUsers as $oTalkUser) {
             if (isset($aUsers[$oTalkUser->getUserId()])) {
                 $oTalkUser->setUser($aUsers[$oTalkUser->getUserId()]);
             } else {
                 $oTalkUser->setUser(null);
             }
         }
     }
     return $aTalkUsers;
 }