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
  #32  
Old 11-29-2005, 12:00 PM
leonsio leonsio is offline
 
Join Date: Jun 2002
Posts: 141
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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
deny from all
allow from 127.0.0.1
allow from 213.202.245.241
now anyone can access to a soap server who is not in the IP list

later i will try to put it on soap server himself
Reply With Quote
  #33  
Old 11-29-2005, 12:42 PM
ImportPassion ImportPassion is offline
 
Join Date: Mar 2002
Location: Gilbert, AZ
Posts: 605
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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

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 ;) )

[soap]
; Enables or disables WSDL caching feature.
soap.wsdl_cache_enabled=1
; Sets the directory name where SOAP extension will put cache files.
soap.wsdl_cache_dir="/tmp"
; (time to live) Sets the number of second while cached file will be used 
; instead of original one.
soap.wsdl_cache_ttl=86400
in folder "usr"(lib/php5)? should be a "soap" or "soap.so" extension
move the file to your php5 extension folder

restart apache and have fun with soap
Reply With Quote
  #35  
Old 11-29-2005, 01:07 PM
leonsio leonsio is offline
 
Join Date: Jun 2002
Posts: 141
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by 7thgenCivic.Com
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
for RHEL you should better take Centos RPMs

http://rpm.pbone.net/index.php3?stat...soap&srodzaj=3
Reply With Quote
  #36  
Old 11-29-2005, 02:43 PM
pelican pelican is offline
 
Join Date: Sep 2004
Posts: 103
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

seems like a nice hack but it is too technical. if there are some sample code for possible implementation it will be better.
Reply With Quote
  #37  
Old 11-29-2005, 03:00 PM
leonsio leonsio is offline
 
Join Date: Jun 2002
Posts: 141
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by pelican
seems like a nice hack but it is too technical. if there are some sample code for possible implementation it will be better.


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
Reply With Quote
  #38  
Old 11-29-2005, 09:05 PM
gnrmarcel gnrmarcel is offline
 
Join Date: May 2005
Posts: 14
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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

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


you must have php5 installed, because php4 dont know try..catch construct ( and dont have soap extension )
Reply With Quote
  #40  
Old 11-30-2005, 08:33 AM
thepipper thepipper is offline
 
Join Date: Jun 2004
Posts: 3
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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

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
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 08:23 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.05967 seconds
  • Memory Usage 2,322KB
  • 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_code
  • (3)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
  • (4)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