|
|
@ -34,14 +34,15 @@ class Chat extends \Movim\Widget\Base |
|
|
|
$this->registerEvent('message', 'onMessage'); |
|
|
|
$this->registerEvent('receiptack', 'onMessage'); |
|
|
|
$this->registerEvent('displayed', 'onMessage'); |
|
|
|
$this->registerEvent('mamresult', 'onMessageHistory'); |
|
|
|
$this->registerEvent('composing', 'onComposing'); |
|
|
|
$this->registerEvent('paused', 'onPaused'); |
|
|
|
$this->registerEvent('gone', 'onGone'); |
|
|
|
$this->registerEvent('subject', 'onConferenceSubject'); |
|
|
|
$this->registerEvent('mamresult', 'onMessageHistory', 'chat'); |
|
|
|
$this->registerEvent('composing', 'onComposing', 'chat'); |
|
|
|
$this->registerEvent('paused', 'onPaused', 'chat'); |
|
|
|
$this->registerEvent('gone', 'onGone', 'chat'); |
|
|
|
$this->registerEvent('subject', 'onConferenceSubject', 'chat'); |
|
|
|
|
|
|
|
$this->registerEvent('muc_getconfig_handle', 'onRoomConfig'); |
|
|
|
$this->registerEvent('muc_setconfig_handle', 'onRoomConfigSaved'); |
|
|
|
$this->registerEvent('muc_getconfig_handle', 'onRoomConfig', 'chat'); |
|
|
|
$this->registerEvent('muc_setconfig_handle', 'onRoomConfigSaved', 'chat'); |
|
|
|
$this->registerEvent('presence_muc_handle', 'onMucConnected', 'chat'); |
|
|
|
|
|
|
|
$this->registerEvent('bob_request_handle', 'onSticker'); |
|
|
|
//$this->registerEvent('presence', 'onPresence');
|
|
|
@ -155,6 +156,11 @@ class Chat extends \Movim\Widget\Base |
|
|
|
$this->ajaxGetRoom($packet->content->jidfrom); |
|
|
|
} |
|
|
|
|
|
|
|
function onMucConnected($packet) |
|
|
|
{ |
|
|
|
$this->ajaxGetRoom($packet->content->jid); |
|
|
|
} |
|
|
|
|
|
|
|
function onRoomConfig($packet) |
|
|
|
{ |
|
|
|
list($config, $room) = array_values($packet->content); |
|
|
@ -565,37 +571,23 @@ class Chat extends \Movim\Widget\Base |
|
|
|
$jid = echapJS($jid); |
|
|
|
|
|
|
|
$view->assign('smiley', $this->call('ajaxSmiley')); |
|
|
|
|
|
|
|
$view->assign('emoji', prepareString('😀')); |
|
|
|
$view->assign('muc', $muc); |
|
|
|
$view->assign('anon', false); |
|
|
|
|
|
|
|
if($muc) { |
|
|
|
$md = new \Modl\MessageDAO; |
|
|
|
$s = $md->getRoomSubject($jid); |
|
|
|
|
|
|
|
$cd = new \Modl\ConferenceDAO; |
|
|
|
$c = $cd->get($jid); |
|
|
|
|
|
|
|
$pd = new \Modl\PresenceDAO; |
|
|
|
$p = $pd->getMyPresenceRoom($jid); |
|
|
|
|
|
|
|
$view->assign('room', $jid); |
|
|
|
$view->assign('subject', $s); |
|
|
|
$view->assign('presence', $p); |
|
|
|
$view->assign('conference', $c); |
|
|
|
$view->assign('subject', $md->getRoomSubject($jid)); |
|
|
|
$view->assign('presence', $pd->getMyPresenceRoom($jid)); |
|
|
|
$view->assign('conference', $cd->get($jid)); |
|
|
|
} else { |
|
|
|
$cd = new \Modl\ContactDAO; |
|
|
|
|
|
|
|
$cr = $cd->getRosterItem($jid); |
|
|
|
if(isset($cr)) { |
|
|
|
$contact = $cr; |
|
|
|
} else { |
|
|
|
$contact = $cd->get($jid); |
|
|
|
} |
|
|
|
|
|
|
|
$view->assign('contact', $contact); |
|
|
|
$view->assign('jid', $jid); |
|
|
|
$view->assign('contact', isset($cr) ? $cr : $cd->get($jid)); |
|
|
|
} |
|
|
|
|
|
|
|
return $view->draw('_chat', true); |
|
|
|