Пример #1
0
 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();
 }
Пример #2
0
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)) {
Пример #3
0
 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();
 }