function ajaxLogout() { $pd = new \Modl\PresenceDAO(); $pd->clearPresence(); $session = \Session::start(); $p = new Unavailable(); $p->setType('terminate')->setResource($session->get('resource'))->setTo($session->get('jid'))->request(); Stream::end(); }
fwrite(STDERR, colorize(getenv('sid'), 'yellow') . " widgets : " . \sizeToCleanSize(memory_get_usage()) . "\n"); $conn = null; $parser = new \Moxl\Parser(); $buffer = ''; $stdin_behaviour = function ($data) use(&$conn, $loop, &$buffer, &$connector, &$xmpp_behaviour, &$parser) { if (substr($data, -1) == "") { $messages = explode("", $buffer . substr($data, 0, -1)); $buffer = ''; foreach ($messages as $message) { #fwrite(STDERR, colorize($message, 'yellow')." : ".colorize('received from the browser', 'green')."\n"); $msg = json_decode($message); if (isset($msg)) { if ($msg->func == 'message' && $msg->body != '') { $msg = $msg->body; } elseif ($msg->func == 'unregister') { \Moxl\Stanza\Stream::end(); } elseif ($msg->func == 'register') { $cd = new \Modl\ConfigDAO(); $config = $cd->get(); $domain = \Moxl\Utils::getDomain($msg->host); #fwrite(STDERR, colorize('open a socket to '.$domain, 'yellow')." : ".colorize('sent to XMPP', 'green')."\n"); $connector->create($domain, 5222)->then($xmpp_behaviour); } } else { return; } $rpc = new \RPC(); $rpc->handle_json($msg); $msg = json_encode(\RPC::commit()); \RPC::clear(); if (!empty($msg)) {
function ajaxLogout() { $pd = new \Modl\PresenceDAO(); $session = \Sessionx::start(); $pd->clearPresence($session->username . '@' . $session->host); $session = \Sessionx::start(); $p = new Unavailable(); $p->setType('terminate')->setResource($session->resource)->setTo($this->user->getLogin())->request(); Stream::end(); }