<?php

// activate full error reporting
//error_reporting(E_ALL & E_STRICT);
include 'XMPPHP/BOSH.php';
#Use XMPPHP_Log::LEVEL_VERBOSE to get more logging for error reports
#If this doesn't work, are you running 64-bit PHP with < 5.2.6?
$conn = new XMPPHP_BOSH('server.tld', 5280, 'username', 'password', 'xmpphp', 'server.tld', $printlog = true, $loglevel = XMPPHP_Log::LEVEL_VERBOSE);
$conn->autoSubscribe();
try {
    $conn->connect('http://server.tld:5280/xmpp-httpbind');
    while (!$conn->isDisconnected()) {
        $payloads = $conn->processUntil(array('message', 'presence', 'end_stream', 'session_start'));
        foreach ($payloads as $event) {
            $pl = $event[1];
            switch ($event[0]) {
                case 'message':
                    print "---------------------------------------------------------------------------------\n";
                    print "Message from: {$pl['from']}\n";
                    if ($pl['subject']) {
                        print "Subject: {$pl['subject']}\n";
                    }
                    print $pl['body'] . "\n";
                    print "---------------------------------------------------------------------------------\n";
                    $conn->message($pl['from'], $body = "Thanks for sending me \"{$pl['body']}\".", $type = $pl['type']);
                    if ($pl['body'] == 'quit') {
                        $conn->disconnect();
                    }
                    if ($pl['body'] == 'break') {
                        $conn->send("</end>");
                    }
Ejemplo n.º 2
0
 * LEVEL_WARNING = 1;
 * LEVEL_INFO    = 2;
 * LEVEL_DEBUG   = 3;
 * LEVEL_VERBOSE = 4;
 */
require 'XMPPHP/BOSH.php';
$conf = array('server' => 'server.tld', 'port' => 5280, 'username' => 'username', 'password' => 'password', 'proto' => 'xmpphp', 'domain' => 'server.tld', 'printlog' => true, 'loglevel' => XMPPHP_Log::LEVEL_VERBOSE);
// Easy and simple for access to variables with their names
extract($conf);
$conn = new XMPPHP_BOSH($server, $port, $username, $password, $proto, $domain, $printlog, $loglevel);
$conn->autoSubscribe();
try {
    $conn->connect('http://server.tld:5280/xmpp-httpbind');
    while (!$conn->isDisconnected()) {
        $events = array('message', 'presence', 'end_stream', 'session_start');
        $payloads = $conn->processUntil($events);
        foreach ($payloads as $result) {
            list($event, $data) = $result;
            if (isset($data)) {
                extract($data);
            }
            switch ($event) {
                case 'message':
                    if (!$body) {
                        break;
                    }
                    echo str_repeat('-', 80);
                    echo "Message from: {$from}";
                    if (isset($subject)) {
                        echo "Subject: {$subject}";
                    }