Re: libpurple php binding

From: Date: Fri, 30 Nov 2007 23:23:50 +0000
Subject: Re: libpurple php binding
References: 1 2  Groups: php.pecl.dev 
Request: Send a blank email to pecl-dev+get-4937@lists.php.net to get a copy of this message
thanks for the feedback .. even if you havn't yet tested ... yes, i've heared some things about the oop api (from some pidgin folks), it sounds interesting, but at the moment it was easier to implement the pure libpurple api (which is written in c). But the constants must can be used from different classes too ... about the 4 functions ... i've tried to implement exactly the libpurple api, the empty functions are normally using the ini values, if no value given ... with the datetime object ... thanks, i'll discovery it ..:) and for the record - it's my first php extension i'm writing ever ... regards Anatoliy On Friday 30 November 2007 23:36, Alexey Zakhlestin wrote: > I didn't yet test it, but it definitely looks interesting :) > Will try to test it this weekend. > > Are you planning to add object-oriented api? php-code would become much > cleaner. Constants can be converted into class-constants too… > > function-names are not obvious, currently, and calling 4 functions > without parameters for initialization seems a bit… redundant. > > By the way, PHP 5.2+ has DateTime object, which can be used instead of > timestamp. > > I'll be give more thoughts after testing. > > On 12/1/07, Anatoliy Belsky <weltling@0ext.net> wrote: > > 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 > > > > -- > > PECL development discussion Mailing List (http://pecl.php.net/) > > To unsubscribe, visit: http://www.php.net/unsub.php

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