Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.5 > vBulletin 3.5 Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
vBulletin SOAP API Details »»
vBulletin SOAP API
Version: 1.0.7, by leonsio leonsio is offline
Developer Last Online: Jun 2013 Show Printable Version Email this Page

Version: 3.5.2 Rating:
Released: 11-09-2005 Last Update: 12-15-2005 Installs: 67
Uses Plugins
Additional Files  
No support by the author.

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

updated example is in the "soap" folder

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #12  
Old 11-11-2005, 02:35 PM
Snake's Avatar
Snake Snake is offline
 
Join Date: Mar 2005
Location: Cleveland, OH
Posts: 3,832
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This is nice! Thanks!
Reply With Quote
  #13  
Old 11-12-2005, 06:04 AM
KevinM KevinM is offline
 
Join Date: Dec 2002
Posts: 60
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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?
Reply With Quote
  #14  
Old 11-12-2005, 06:21 AM
Marco van Herwaarden Marco van Herwaarden is offline
 
Join Date: Jul 2004
Posts: 25,415
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This sounds very promissing, thank you for sharing.
Reply With Quote
  #15  
Old 11-12-2005, 07:08 AM
leonsio leonsio is offline
 
Join Date: Jun 2002
Posts: 141
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by KevinM
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?

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
Reply With Quote
  #16  
Old 11-12-2005, 09:55 PM
Princeton's Avatar
Princeton Princeton is offline
 
Join Date: Nov 2001
Location: Vineland, NJ
Posts: 6,693
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I've been gone for a while ...
this looks great!

Thanks for sharing.
Reply With Quote
  #17  
Old 11-12-2005, 10:51 PM
Borgs8472 Borgs8472 is offline
 
Join Date: Apr 2004
Posts: 924
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by leonsio
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
Then it should be an official vb add-on

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!
Reply With Quote
  #18  
Old 11-14-2005, 11:36 AM
leonsio leonsio is offline
 
Join Date: Jun 2002
Posts: 141
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

new version 1.0.2 is online
Reply With Quote
  #19  
Old 11-18-2005, 11:06 AM
leonsio leonsio is offline
 
Join Date: Jun 2002
Posts: 141
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

new version 1.0.3 is online
Reply With Quote
  #20  
Old 11-20-2005, 05:41 PM
twitch's Avatar
twitch twitch is offline
 
Join Date: Apr 2005
Posts: 260
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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.
Reply With Quote
  #21  
Old 11-21-2005, 05:14 AM
leonsio leonsio is offline
 
Join Date: Jun 2002
Posts: 141
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 03:28 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.08007 seconds
  • Memory Usage 2,315KB
  • Queries Executed 25 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (2)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (3)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete