Skip to content
/ JAXL Public
forked from jaxl/JAXL

Jabber XMPP Client and Component Library in PHP

License

Notifications You must be signed in to change notification settings

saper/JAXL

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JAXL (Jabber XMPP Client and Component Library in PHP)

Jaxl 2.x is an object oriented XMPP framework in PHP for developing real time applications for browsers, desktops and hand held devices. Jaxl 2.x is a robust, flexible and easy to use version of Jaxl 1.x series which was hosted at google code.

  • More robust, flexible, scalable and easy to use with event mechanism for registering callbacks for xmpp events
  • Integrated support for Real Time Web (XMPP over Bosh) application development
  • Support for DIGEST-MD5, PLAIN, ANONYMOUS, X-FACEBOOK-PLATFORM authentication mechanisms
  • 51 implemented XMPP extensions (XEP's) including MUC, PubSub, PEP, Jingle, File Transfer
  • Setup dynamic number of parallel XMPP instance on the fly
  • Monitoring, usage stat collection, rate limiting and production ready goodies

Download

  • For better experience download latest stable tarball from google code
  • The development version of Jaxl is hosted here at Github, have fun cloning the source code with Git

Warning: The development source code at Github is only intended for people that want to develop Jaxl or absolutely need the latest features still not available on the stable releases.

Writing XMPP apps using JAXL library

  • Download and extract inside /path/to/jaxl
  • Jaxl library provide an event based mechanism exposing hooks like jaxl_post_auth
  • Register callback(s) inside your app code for required events (see example below)
  • Write your app logic inside callback'd methods

Here is how a simple send chat message app looks like using Jaxl library:

// Include and initialize Jaxl core
require_once '/path/to/jaxl/core/jaxl.class.php';
$jaxl = new JAXL(array(
    'user'=>'username',
    'pass'=>'password',
    'host'=>'talk.google.com',
    'domain'=>'gmail.com',
    'authType'=>'PLAIN',
    'logLevel'=>5
));

// Send message after successful authentication
function postAuth($payload, $jaxl) {
    global $argv;
    $jaxl->sendMessage($argv[1], $argv[2]);
    $jaxl->shutdown();
}

// Register callback on required hook (callback'd method will always receive 2 params)
$jaxl->addPlugin('jaxl_post_auth', 'postAuth');

// Start Jaxl core
$jaxl->startCore('stream');

Run from command line:

php sendMessage.php "anotherUser@gmail.com" "This is a test message"

Useful Links

Generate Jaxl documentation on your system for quick reference:

phpdoc -o HTML:Smarty:PHP -ti "JAXL Documentation" -t /var/www/ -d xmpp/,xep/,env/,core/

About

Jabber XMPP Client and Component Library in PHP

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 98.5%
  • JavaScript 1.5%