![]() |
vBulletin SOAP API
sorry for my bad english ;)
Changes: v. 1.0.7 Bugfix in the updateUser function added getOnlineUsers() function, to get the list of the logged in users v. 1.0.6 updateUser uand deleteUser updated, now is posible to call it with userid or other field from user table getStats() funktion added, to get forum stats v. 1.0.5 Added updateUser, deleteUser to update user data ( email/password, username ) or delete user v. 1.0.4 Added doActivateSession function to let vbulletin accept sessionid v. 1.0.3 functions to get userdata and postdata are now done postmessage returns as formated html v. 1.0.2 added support for vbulletin "session" the server can now send all needed cookies, to the client, last 2 optional: (PREFIXsessionhash/lastvisit/lastactivity/(userid/password)) v. 1.0.1 rename login funtion to doLogin add placeholder for getUser/setUser, getPost/setPost, getThread/setThread functions change URL in the WSDL file to relative URL this is a beta version !! what this hack do: this hack provide a soap api to access vbulletin functions over internet ( for example: ebay, amazon or google have they webservices api to access is over soap ) this hack has at the moment this functions 1. login to vbulletin you must give username and password, as response you get userid and password as md5 ( with salt ) hash so that you can set vbulletin cookie on your application 2. a. last X post from the forum b. last X post from the forum, which the user ( which is loged in, see 1. ) can see 3. manipulate a user, get user information , create users or delete then 4. get forum statistics from vbulletin ( Sponsored by 1Agency (www.1agency.de) ) you will get new user, max threads/posts and some other stuff as result 5. get all logged in users in vbulletin what can you do with this hack ? you can make common login with your application ( written in PHP/ASP(.NET)/JAVA/C or any language which supports SOAP calls ( for example mozilla firefox ^^)). to make common login, you must set vbulletin cookie, see 1. or you can write firefox extension to get last 10 thread from your forum, with threads that you can see or synchronise users from your application and vbulletin ( this feauture is on development ) other planced feautures are: write comment write thread get thread ( with all comments ) whis SOAP-SERVER is written in PHP5 with SOAP - extension so that you need to be php5 and soap extension installed on your server ( all new destributions provides php5 and soap extensions as rpm packages ) it is posible to write this server in php4 oder php5 without soap extension ( with nuSOAP or PEAR::SOAP ) but this is not planed at the time, sorry php Clients can be written in Java, ASP or PHP, with all language which supports soap so that you can make common login between an ASP or JSP CMS and Vbulletin how to install unpack the package, move the "soap" folder in your forum root and install the product with product installer to test the functionality i have included some test files in /soap/examples you must change the url and username/password and the key in this files later i will make some examples for typo3/joomla/xoops to access and login into vbulletin i will accept every help and feedback to make this extension better :D updated example is in the "soap" folder |
First post for no apparent reason but this sounds good.
|
confused lol
can someone sum it up in a little paragraph and tell me what this is |
Soap on the computer? sweet
|
I think SOAP must be abreviation of something, but I got no idea what it is. :p
|
SOAP= Simple Object Access Protocol. It was design to easy interface with the data.
You don't have to call mysql database, call the correct table all you have to do is call the program and it will do the rest. You can make an application to connect to it easy. |
This has a lot of potential. Off the top of my head, I can see htis being used for folks that want to have 1 user table across different sites.
|
Nice idea.
/me gets the first install. |
little example to access VB_SOAP(login into vbulletin) with PEAR-SOAP class
( works in php4 and php5 ) PHP Code:
|
next version will come with vbulletin cookie support an without phpsession support
so what you can get all needed cookies directly from the vbulletin server ( userid and password as cookie data too ) this feauture can be activated in the admincp attention, if you will to transfer cookie of userid and password, you should use an ssl connection !!! this version will come out on monday and it will include an example to connect the server with cookie support after first connect ( or login ) you will get an vbulletin-session cookie from the server ( as array ) you can put this cookie in the user session at your application, by next request you can send this cookie with the request this cookie let you be logged in, at vbulletin ( it create an vbulletin session, if the user login over doLogin function, the user will be displayer on the online.php as logged in on forum ) |
This is nice! Thanks!
|
I'm starting to get excited.. could this be adapted to allow one login across multiple vbulletin forums.
E.g. I have 40 different forums across numerous servers. The Holy Grail of hacks for me would be to when someone registered at one forum, it could work across my network of different forums. What do you think? |
This sounds very promissing, thank you for sharing.
|
Quote:
yes it is posible, you must install VB_SOAP on all your forums and the login script must walk all soap servers to get userdata and set cookie ---------------------------------------------------------------- user synchronisation solution ( next version ) i will dont make an feauture which allow you to get or save multiple users at one time because soap is not designet to send big data cross the internet on big forums with more as 1000 users it will makes only problems with the transport of data ( http timeouts/ php memory size ... ) but i will make an function, to save user or to get user how can you synchronize your users on multiple application the solution is: example A you have user A ( with the name test ) on your CMS and user B ( with the same name "test" ) on vbulletin the passwords must be same the CMS use SHA1 as password hash and vbulletin use MD5 if the user login on the CMS you must make an call to vbulletin with the username and password ( plain ) to vbulletin and you will get the userid and hashn of password with salt so you can set cookie and the user is logged in on vbulletin with the function getUser you can get all data from vbulletin for example to synchronise the data of CMS with vbulletin example B you have user A ( with the name test ) on vbulletin but not on CMS if the user A try to login on CMS, normaly the login will be deny, but you can make an call to vbulletin with the username and password of user A an if the user will be acceppt, you can get all data from the user with the function "getUser" and create a user A on your CMS where many application with different authentification methods, so it is not allways posible to synchronise users ( password hash is not match is the biggest problem) so you should only create your user on CMS if it user login and exist on vbulletin on registration of the user ( on CMS ) you can make a call to vbulletin with the user data ( function setUser) ans so create a user on vbulletin |
I've been gone for a while ...
this looks great! Thanks for sharing. |
Quote:
Of course someone (e.g. vb) It'd need something like ezboard uses where you can have a global login, or a login for a certain board only (like in the case where someone has your name there first). Or a way to allowed duplicate names, which obviously wouldn't have the same userids. Then rather than registering for a vbforum, you'd just login with a reference to another board the first time. Or something. ONE DAY! |
new version 1.0.2 is online
|
new version 1.0.3 is online
|
So... would this be able to work with vwar? http://www.vwar.de and my vbulletin forum so that users will synch?
I am looking for some sort of vwar bridge or something to synch the 2 user databases together. A vwar bridge would be a great tool for the vbulletin community. |
yes it is posible to make bridges for any applications
but i dont want to make it at this time i have included some examples in this package, so look at it and you can make easy common login with vwar or any other application as next example i will include some joomla modules (common login, last posts, diskuss bot ) perhaps later i will try to make some other connectors it is realy easy to make bridges with this API |
next week i will release new version of VB_SOAP
add users to vbulletin is now posible as addon i will release an connector for joomla and one module to get last 10 threads from vbulletin in joomla |
Quote:
|
I am working on the moment on one universal application connector for joomla
http://forum.joomla.org/index.php/topic,21066.0.html the vbulletin ( connector module ) will be part of this addon |
Quote:
|
yes it is posible
but... at the moment it is only login from joomla supported ( if you users log in in joomla, he will be automaticaly logged in vbulletin, but not in other side ) |
Quote:
Trackpads.com (Main site and forums) Main VB install and all forums site1.trackpads.com (secondary site) Joomla Install #1 site2.trackpads.com (tertiary site) Joomla Install #2 Thanks again for all your work!! -Jason |
yes it is posible
There is no changes on joomla database needed ( linke vbridge this do ) after first login, vbulletin user will be created in joomla as joomla user for joomla question please use joomla suport forum :D http://forum.joomla.org/index.php/topic,21066.0.html |
new version is online
in one hour i will release joomla connector which is based on this extension and supports multiple forums on one joomla installation (connector vbulletin<->vbulletin will come out soon ) |
I am getting an error when I run test.php
Fatal error: Class 'SoapClient' not found in /home/****/forums/soap/examples/test.php on line 10 |
look at first post
you needs PHP5 and soap extension for a client you can use a PEAR::SOAP, examples are at the first site of this thread |
how to secure a connection between server and client
1. you can use htaccess authentification ( will be suported later ) 2. you can user allow/deny by htaccess example of .htaccess from my server ( folder /soap/ ) Code:
order deny,allow later i will try to put it on soap server himself |
I can't find the extension for RHEL3. http://rpm.pbone.net/index.php3?stat...soap&srodzaj=3
do they make one for RHEL? D |
okay little howto:
if you cannot find a extension for you destibution but you have php5 installed !!! download rpm for any linux-destibution ( example like suse ) mkdir /tmp/php-soap cd /tmp/php-soap wget ftp.suse.com/pub/suse/i386/9.3/suse/i586/php5-soap-5.0.3-14.i586.rpm after it you must unpack/extrackt the rpm file: rpm2cpio php5-soap-5.0.3-14.i586.rpm | cpio -imdv after it you have folders like "usr" and "etc" in your temp folder in etc folder should be a ini file to load a soap extension if not, you can create one and move it to your php5 "conf.d" folder or add this code to your php.ini Code:
extension=soap ( or soap.so if your extension has .so name ;) ) move the file to your php5 extension folder restart apache and have fun with soap :D |
Quote:
http://rpm.pbone.net/index.php3?stat...soap&srodzaj=3 |
seems like a nice hack but it is too technical. if there are some sample code for possible implementation it will be better.
|
Quote:
download a package and look at the examples folder okay modify a server to create own functions is not so easy, that is true but connects to a server to get some informations is realy easy only with 2 lines you can make a login of a user, or get last X threads from a forum 1.line (connect) $connect= new SoapClient(SERVERURL); 2.line ( get data ) $threads=$connect->getLastThreads(X); done, you have now an array "threads" which have all needed informations to display last X threads i dont think that this solution is too technical ;) |
i got 2 errors:
testurl: http://www.meinedomain.de/joomla/for...sion/login.php > Parse error: parse error, unexpected '{' in /var/www/virtual/meinedomain.de/htdocs/joomla/forum/soap/examples/session/login.php on line 6 testurl: http://www.meinedomain.de/joomla/for...mples/test.php > Parse error: parse error, unexpected '{' in /var/www/virtual/meinedomain.de/htdocs/joomla/forum/soap/examples/test.php on line 9 what does it mean? |
Quote:
you must have php5 installed, because php4 dont know try..catch construct ( and dont have soap extension ) |
This is what I definitely need for joomla and vbulletin. But I am confused, where in the server.php file do I change the url, username, password, and access key??? Please explain in detail, your instructions are very vague. Thanks. :)
|
look at the examples
access key is a litte hack to make communication beween server and client a little bit secure you can setup it in vbulletin admincp the URL is the absolute URL to your soap server www.mydomain.com/forum/soap/server.php username/password are username and password from the user of your forum |
All times are GMT. The time now is 05:25 PM. |
Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
![]() |
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|