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'); }