libpurple php binding

From: Date: Fri, 30 Nov 2007 21:24:40 +0000
Subject: libpurple php binding
Groups: php.pecl.dev 
Request: Send a blank email to pecl-dev+get-4935@lists.php.net to get a copy of this message
Hi there, so I would present the begin of my work on the libpurple php binding. It's yet very rudimentary but I've already realized the nullclient and a little bit more. The project site can be found on:         http://sourceforge.net/projects/phpurple The code itself can be fetched with;         svn co https://phpurple.svn.sourceforge.net/svnroot/phpurple phpurple The further steps would be (don't forget to install the php devel package on your system): cd phpurple phpize ./configure --enable-purple make After this you should have the modules/purple.so file. And you can use it. Eventually you can run make install if you have root rights and want to install it globally as a php extension (but it's not nesessary yet). than make the file test.php (in the phpurple dir) with the following content: #!/usr/bin/php <?php if(!extension_loaded('purple')) {         dl('purple.' . PHP_SHLIB_SUFFIX); } $ui_id = "hello world"; purple_php_write_conv_function("my_write_conv"); function my_write_conv($conversation, $who, $alias, $message, $flags, $time) {         if ($alias) {                 $name = $alias;         } else if ($who) {                 $name = $who;         } else {                 $name = NULL;         }         if(PURPLE_MESSAGE_RECV == $flags) {                 printf( "(%s) %s %s: %s\n",                                 purple_conversation_get_name($conversation),                                 date("H:i:s", $time),                                 $name,                                 $message                                 ); } if(!purple_core_init($ui_id)) {         die("libpurple initialization failed\n"); } purple_blist_new(); purple_prefs_load(); purple_plugins_load_saved(); purple_pounces_load(); //or some protocol ever supported $account = purple_account_new("somenick@hotmail.com", "MSN"); purple_account_set_password($account, "somepass"); purple_account_set_enabled($account, $ui_id, true); purple_savedstatus_new(NULL, PURPLE_STATUS_AVAILABLE); purple_savedstatus_activate(); purple_signal_connect("signed-on"); purple_loop(); ?> Now you should be able to start a conversation from the other side and see the outputs in the console. To run the php ( I expect u still in the phpurple dir ) run php -n -d extension_dir=modules  -f test.php I've tested and built the whole thing on debian etch with PHP 5.2.0-8 So if someone has tested this, I would hear something, what should be it the ext, to can call it something like phpurple1.0 ... may be you see something wrong in my c code ... I'll assume any meaning thanks a lot Anatoliy

« previous php.pecl.dev (#4935) next »