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
  #42  
Old 12-02-2005, 01:53 AM
ImportPassion ImportPassion is offline
 
Join Date: Mar 2002
Location: Gilbert, AZ
Posts: 605
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by leonsio
for RHEL you should better take Centos RPMs

http://rpm.pbone.net/index.php3?stat...soap&srodzaj=3
no good.

Quote:
php = 5.0.4-4.centos4 is needed by php-soap-5.0.4-4.centos4
Reply With Quote
  #43  
Old 12-02-2005, 05:05 AM
leonsio leonsio is offline
 
Join Date: Jun 2002
Posts: 141
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

extrackt rpm file with rpm2cpio
Reply With Quote
  #44  
Old 12-02-2005, 11:18 AM
kickorg kickorg is offline
 
Join Date: Dec 2005
Posts: 6
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

local test on win xp, apache 2.0.55 + php 5.1 as modul + php soap extension

SoapFault Object
(

.... somethingthing .....

[faultstring] => Call to undefined function vbrand()
[faultcode] => SOAP-ENV:Server
)

any idea?
Reply With Quote
  #45  
Old 12-02-2005, 11:25 AM
leonsio leonsio is offline
 
Join Date: Jun 2002
Posts: 141
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

which vbulletin do you use?
in which folder is server.php located?
if you use other folder than /soap you must edit a patch to you forum at the top of the server.php

vbrand functions is in the functions.php, which is loaded by the constructor of the class
so that i think it can not be found

look at the CWD constant

define('CWD', '../' ); <-- i think you must change this

example to: ./ if you running server.php in the forumroot
Reply With Quote
  #46  
Old 12-02-2005, 11:31 AM
kickorg kickorg is offline
 
Join Date: Dec 2005
Posts: 6
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

vb 3.5.1 new installed yesterday

path's:

"vbroot"/soap/server.php
"vbroot"/soap/examples/test.php

i also think that functions.php not can be found but i dont know why. i have changed nothing and i follow exactly your instructions. hope u can understand my english

p.s.: "i have changed nothing means that i have changed nothing in the server.php class", sure i have changed the needed paras like the key etc..
Reply With Quote
  #47  
Old 12-02-2005, 11:41 AM
leonsio leonsio is offline
 
Join Date: Jun 2002
Posts: 141
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

hmm it can be a windows specific problem

try to set an absolute path to the CWD constant
and please check a path in the config.php file from vbulletin
(attention windows and linux have different path
c:/forum/ <-- windows
/var/www/forum <-- linux
)

hmm i think i must find anythere a windows pc and test it

but it is not so simple, as it sounds

i have at work only solaris computers, at home i'm using macosx and my root server is linux .....
Reply With Quote
  #48  
Old 12-02-2005, 11:45 AM
kickorg kickorg is offline
 
Join Date: Dec 2005
Posts: 6
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

ok now it works. great addon man

the error comes because i have not defined in config.php the path to the forum ->

$config['Misc']['forumpath'] = 'path/to/board';

in config.php i read that i must only define this path if vb print an error that i must define it - you know what i mean?
Reply With Quote
  #49  
Old 12-02-2005, 11:47 AM
leonsio leonsio is offline
 
Join Date: Jun 2002
Posts: 141
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by kickorg
ok now it works. great addon man

the error comes because i have not defined in config.php the path to the forum ->

$config['Misc']['forumpath'] = 'path/to/board';

in config.php i read that i must only define this path if vb print an error that i must define it - you know what i mean?

okay, great i will try to include forumpath check in the construct
Reply With Quote
  #50  
Old 12-02-2005, 05:14 PM
kickorg kickorg is offline
 
Join Date: Dec 2005
Posts: 6
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

in "server.php" at function "getpost" i have found a the line "print_r($threadinfo)" ->

Code:
        public function getPost($key, $postid)
        {
		global $vbulletin;

                if($this->access_key != $key)
                {
                        throw new SoapFault("Server","Bad Key");
                }

		$postinfo = verify_id('post', $postid, 0, 1);
		$threadinfo = verify_id('thread', $postinfo['threadid'], 0, 1);
print_r($threadinfo);
....

i think u have set this line for debug mode and this should not set in the released version, right?
Reply With Quote
  #51  
Old 12-02-2005, 05:20 PM
leonsio leonsio is offline
 
Join Date: Jun 2002
Posts: 141
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

hmm yes thx, i will remove it in the next release
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 07:00 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.10133 seconds
  • Memory Usage 2,313KB
  • 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
  • (1)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