Example #1
0
 /**
  * @brief Get history
  */
 function ajaxGetHistory($jid)
 {
     if (!$this->validateJid($jid)) {
         return;
     }
     $md = new \Modl\MessageDAO();
     $messages = $md->getContact(echapJid($jid), 0, 1);
     $g = new \Moxl\Xec\Action\MAM\Get();
     $g->setJid(echapJid($jid));
     if (!empty($messages)) {
         $g->setStart(strtotime($messages[0]->published));
     }
     $g->request();
 }
Example #2
0
 /**
  * @brief Get history
  */
 function ajaxGetHistory($jid = false)
 {
     $g = new \Moxl\Xec\Action\MAM\Get();
     $md = new \Modl\MessageDAO();
     if ($jid == false) {
         $chats = Cache::c('chats');
         foreach ($chats as $jid => $value) {
             $messages = $md->getContact(echapJid($jid), 0, 1);
             $g->setJid(echapJid($jid));
             if (!empty($messages)) {
                 $g->setStart(strtotime($messages[0]->published) + 10);
             }
             $g->request();
         }
     } elseif ($this->validateJid($jid)) {
         $messages = $md->getContact(echapJid($jid), 0, 1);
         $g->setJid(echapJid($jid));
         if (!empty($messages)) {
             // We add a little delay of 10sec to prevent some sync issues
             $g->setStart(strtotime($messages[0]->published) + 10);
         }
         $g->request();
     }
 }
Example #3
0
File: Chat.php Project: Trim/movim
 function prepareMessages($jid)
 {
     if (!$this->validateJid($jid)) {
         return;
     }
     $md = new \Modl\MessageDAO();
     $messages = $md->getContact(echapJid($jid), 0, 30);
     if (is_array($messages)) {
         $messages = array_reverse($messages);
         foreach ($messages as $message) {
             $this->prepareMessage($message);
         }
     }
     $view = $this->tpl();
     $view->assign('jid', $jid);
     $cd = new \Modl\ContactDAO();
     $contact = $cd->get($jid);
     $me = $cd->get();
     if ($me == null) {
         $me = new \Modl\Contact();
     }
     $view->assign('contact', $contact);
     $view->assign('me', false);
     $left = $view->draw('_chat_bubble', true);
     $view->assign('contact', $me);
     $view->assign('me', true);
     $right = $view->draw('_chat_bubble', true);
     $room = $view->draw('_chat_bubble_room', true);
     RPC::call('Chat.setBubbles', $left, $right, $room);
     RPC::call('Chat.appendMessages', $messages);
 }
Example #4
0
 function prepareMessages($jid, $muc = false)
 {
     if (!$this->validateJid($jid)) {
         return;
     }
     $md = new \Modl\MessageDAO();
     if ($muc) {
         $messages = $md->getRoom(echapJid($jid));
     } else {
         $messages = $md->getContact(echapJid($jid), 0, $this->_pagination);
     }
     if (is_array($messages)) {
         $messages = array_reverse($messages);
         /*foreach($messages as $message) {
                         $this->_msgMap[$message->published.$message->jid] = $message;
                     }
         
                     foreach($this->_msgMap as $message) {*/
         foreach ($messages as $message) {
             $this->prepareMessage($message);
         }
     }
     $view = $this->tpl();
     $view->assign('jid', $jid);
     $cd = new \Modl\ContactDAO();
     $contact = $cd->get($jid);
     $me = $cd->get();
     if ($me == null) {
         $me = new \Modl\Contact();
     }
     $view->assign('contact', $contact);
     $view->assign('me', false);
     $left = $view->draw('_chat_bubble', true);
     $view->assign('contact', $me);
     $view->assign('me', true);
     $right = $view->draw('_chat_bubble', true);
     $room = $view->draw('_chat_bubble_room', true);
     RPC::call('Chat.setBubbles', $left, $right, $room);
     //RPC::call('Chat.appendMessages', $messages);
     RPC::call('Chat.appendMessagesWrapper', $this->_wrapper);
     RPC::call('MovimTpl.scrollPanel');
 }