コード例 #1
0
ファイル: preFetchBOSH.php プロジェクト: ZZB/JAXL
$xmpp->requires(array('JAXL0054', 'JAXL0206'));
function doAuth($mechanism, $xmpp)
{
    $xmpp->auth('DIGEST-MD5');
}
function postAuth($payload, $xmpp)
{
    $xmpp->JAXL0054('getVCard', false, $xmpp->jid, 'handleVCard');
}
function handleVCard($payload, $xmpp)
{
    echo "<b>Successfully fetched VCard</b><br/>";
    print_r($payload);
    $xmpp->JAXL0206('endStream');
}
function postDisconnect($payload, $xmpp)
{
    exit;
}
function postAuthFailure($payload, $xmpp)
{
    echo "OOPS! Auth failed";
}
// Register callbacks for required events
JAXLPlugin::add('jaxl_get_auth_mech', 'doAuth');
JAXLPlugin::add('jaxl_post_auth', 'postAuth');
JAXLPlugin::add('jaxl_post_auth_failure', 'postAuthFailure');
JAXLPlugin::add('jaxl_post_disconnect', 'postDisconnect');
// Fire start Jaxl in bosh mode
$xmpp->startCore('bosh');
コード例 #2
0
ファイル: boshchat.php プロジェクト: pavl00/Kalkun
 }
 // Add callbacks on various event handlers
 $jaxl->addPlugin('jaxl_post_auth_failure', array('boshchat', 'postAuthFailure'));
 $jaxl->addPlugin('jaxl_post_auth', array('boshchat', 'postAuth'));
 $jaxl->addPlugin('jaxl_post_disconnect', array('boshchat', 'postDisconnect'));
 $jaxl->addPlugin('jaxl_get_empty_body', array('boshchat', 'postEmptyBody'));
 $jaxl->addPlugin('jaxl_get_bosh_curl_error', array('boshchat', 'postCurlErr'));
 $jaxl->addPlugin('jaxl_get_message', array('boshchat', 'getMessage'));
 $jaxl->addPlugin('jaxl_get_presence', array('boshchat', 'getPresence'));
 $jaxl->addPlugin('jaxl_post_roster_update', array('boshchat', 'postRosterUpdate'));
 // Handle incoming bosh request
 switch ($_REQUEST['jaxl']) {
     case 'connect':
         $jaxl->user = $_POST['user'];
         $jaxl->pass = $_POST['pass'];
         $jaxl->startCore('bosh');
         break;
     case 'disconnect':
         $jaxl->JAXL0206('endStream');
         break;
     case 'getRosterList':
         $jaxl->getRosterList();
         break;
     case 'setStatus':
         $jaxl->setStatus(FALSE, FALSE, FALSE, TRUE);
         break;
     case 'message':
         $jaxl->sendMessage(BOSHCHAT_ADMIN_JID, $_POST['message']);
         break;
     case 'ping':
         $jaxl->JAXL0206('ping');
コード例 #3
0
ファイル: echobot.php プロジェクト: pavl00/Kalkun
    function getPresence($payloads, $jaxl)
    {
        foreach ($payloads as $payload) {
            // print_r($payload);
        }
    }
    function postSubscriptionRequest($payload, $jaxl)
    {
        $jaxl->log("Subscription request sent to " . $payload['from']);
    }
    function postSubscriptionAccept($payload, $jaxl)
    {
        $jaxl->log("Subscription accepted by " . $payload['from']);
    }
    function getId($payload, $jaxl)
    {
        return $payload;
    }
}
// Add callbacks on various event handlers
$echobot = new echobot();
$jaxl->addPlugin('jaxl_post_auth', array($echobot, 'postAuth'));
$jaxl->addPlugin('jaxl_get_message', array($echobot, 'getMessage'));
$jaxl->addPlugin('jaxl_get_presence', array($echobot, 'getPresence'));
$jaxl->addPlugin('jaxl_post_roster_update', array($echobot, 'postRosterUpdate'));
$jaxl->addPlugin('jaxl_post_subscription_request', array($echobot, 'postSubscriptionRequest'));
$jaxl->addPlugin('jaxl_post_subscription_accept', array($echobot, 'postSubscriptionAccept'));
$jaxl->addPlugin('jaxl_get_id', array($echobot, 'getId'));
// Fire start Jaxl core
$jaxl->startCore("stream");
コード例 #4
0
ファイル: componentbot.php プロジェクト: ZZB/JAXL
 * Read more: http://bit.ly/aGpYf8
 */
// Initialize Jaxl Library
require_once '../core/jaxl.class.php';
$jaxl = new JAXL(array('port' => 5559, 'compHost' => 'component.localhost', 'compPass' => '', 'logLevel' => 5));
// Include required XEP's
$jaxl->requires('JAXL0114');
// Jabber Component Protocol
// Sample Component class
class componentbot
{
    function postAuth($payload, $jaxl)
    {
        $jaxl->log("Component handshake completed ...");
    }
    function getMessage($payloads, $jaxl)
    {
        foreach ($payloads as $payload) {
            if (strlen($payload['body']) > 0) {
                $jaxl->sendMessage($payload['from'], $payload['body'], $payload['to']);
            }
        }
    }
}
// Add callbacks on various event handlers
$componentbot = new componentbot();
JAXLPlugin::add('jaxl_post_handshake', array($componentbot, 'postAuth'));
JAXLPlugin::add('jaxl_get_message', array($componentbot, 'getMessage'));
// Fire start Jaxl core
$jaxl->startCore("component");
コード例 #5
0
ファイル: preFetchXMPP.php プロジェクト: ZZB/JAXL
$xmpp->requires('JAXL0054');
function postConnect($payload, $xmpp)
{
    $xmpp->startStream();
}
function doAuth($mechanism, $xmpp)
{
    $xmpp->auth('DIGEST-MD5');
}
function postAuth($payload, $xmpp)
{
    $xmpp->JAXL0054('getVCard', false, $xmpp->jid, 'handleVCard');
}
function handleVCard($payload, $xmpp)
{
    echo "<b>Successfully fetched VCard</b><br/>";
    print_r($payload);
    $xmpp->shutdown();
}
function postAuthFailure($payload, $xmpp)
{
    echo "OOPS! Auth failed";
}
// Register callbacks for required events
JAXLPlugin::add('jaxl_post_connect', 'postConnect');
JAXLPlugin::add('jaxl_get_auth_mech', 'doAuth');
JAXLPlugin::add('jaxl_post_auth', 'postAuth');
JAXLPlugin::add('jaxl_post_auth_failure', 'postAuthFailure');
// Fire start JAXL Core
$xmpp->startCore();