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

it seems to be working

if you want to have automaticaly login, try to enable the "Send password and userid cookie?" option

latest threads can be displayed only if the forum is active

the example scripts does not set any cookies, it displays only the cookies that you get from the server, this cookies can be set and your user should be logged in

( on disable forums it can only work if you are administrator )
Reply With Quote
  #93  
Old 02-20-2006, 07:45 PM
oojacoboo oojacoboo is offline
 
Join Date: Jan 2006
Posts: 25
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I know this isn't the right place to discuss the application connector and the joomla com_connector, but thats what I am ultimately trying to get to work.

How can I test to make sure that this SOAP API is actually working the way it is intended. I am afraid I am wasting my time trying to get the other connectors working when the SOAP API is the culprit.

I am trying this login.php script again, b/c I feel like its the best one for testing. The forums are turned off, but I am testing with a admin log and pass as well. That last one I sent was just an example. Although, with the admin log and pass it appears the same as the other one, but I can't see the last 10 posts. Shouldn't I be able to even with the forums off?

I did try forcing the SOAP server to pass the cookie and session. However, that doesn't log me into the forums with the script either.

Also, When I attempt that login.php I get this error returned to my email...

Quote:
Invalid SQL:

SELECT userid
FROM user
WHERE testman='testman';

MySQL Error : Unknown column 'testman' in 'where clause'
Error Number : 1054
Date : Monday, February 20th 2006 @ 04:38:52 PM
Script : http://www(dot)macmod(dot)com/forum/soap/server.php
Referrer :
IP Address : 72.36.175.243
Username :
Classname : vB_Database
It appears that testman is being passed instead of the title of the column, (username, login, logid, or whatever its called). Whats the deal here? Any ideas?

Again, many thanks.
Reply With Quote
  #94  
Old 02-20-2006, 07:55 PM
leonsio leonsio is offline
 
Join Date: Jun 2002
Posts: 141
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

which method have you called

i have changed the api in 7 to 8 version on update/delete/ user functions
so that examples can be "buggy"
Reply With Quote
  #95  
Old 02-20-2006, 08:23 PM
oojacoboo oojacoboo is offline
 
Join Date: Jan 2006
Posts: 25
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

this is the login.php I am using...

PHP Code:
<?php
session_start
();
echo 
"<pre>";

try
{
    
$connect= new SoapClient('http://www(dot)macmod(dot)com/forum/soap/server.php?wsdl');
    if(isset(
$_SESSION['cookies']))
        
$connect->_cookies=$_SESSION['cookies'];

        
$params=array(  'key'           =>      'thecorrectkey',
                       
'password'      =>      'password',
                       
'username'      =>      'testman'
                                
);

        
// make login
        
echo "login=> tester:tester\n";
        
$result=$connect->__call('doLogin'$params);
    
// get the answer 
        
print_r($result);
    if(!isset(
$_SESSION['cookies']))
        
$_SESSION['cookies']=$connect->_cookies;
}
catch( 
SoapFault $ex)
{
    
// error message
    
print_r($ex);
}

echo 
"cookies from the server\n";
print_r($_SESSION);


?>
<a href="latest10.php">get the last 10 messages which the user can see</a>
I am guessing that it uses the SOAP API and posts to the soap/server.php for processing. I am using the one that is attached to the first post of this thread. I assume the latest one.

BTW, I can produce that error in the previous post by "Logging Out" of the system. It will generate that error everytime.
Reply With Quote
  #96  
Old 02-22-2006, 02:18 PM
oojacoboo oojacoboo is offline
 
Join Date: Jan 2006
Posts: 25
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

im guessing that there is something in the server.php file that is incorrect as, I get the error from vbulletin when I process a "log out" from the fourm itself. Any ideas here?
Reply With Quote
  #97  
Old 02-22-2006, 02:44 PM
leonsio leonsio is offline
 
Join Date: Jun 2002
Posts: 141
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

which error?
Reply With Quote
  #98  
Old 02-22-2006, 03:31 PM
oojacoboo oojacoboo is offline
 
Join Date: Jan 2006
Posts: 25
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

this one from the previous post.

Quote:
Invalid SQL:

SELECT userid
FROM user
WHERE testman='testman';

MySQL Error : Unknown column 'testman' in 'where clause'
Error Number : 1054
Date : Monday, February 20th 2006 @ 04:38:52 PM
Script : http://www(dot)macmod(dot)com/forum/soap/server.php
Referrer :
IP Address : 72.36.175.243
Username :
Classname : vB_Database
Reply With Quote
  #99  
Old 02-23-2006, 09:51 AM
leonsio leonsio is offline
 
Join Date: Jun 2002
Posts: 141
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
BTW, I can produce that error in the previous post by "Logging Out" of the system. It will generate that error everytime.
wait a second, where no function logout in this API....

maybe you call a wrong function?
Reply With Quote
  #100  
Old 02-23-2006, 10:44 PM
oojacoboo oojacoboo is offline
 
Join Date: Jan 2006
Posts: 25
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I haven't customized anything. I have installed it exactly like the instructions. Do you think you could make the instructions maybe a little more clear? They are missing lots of steps for the install, and kinda confusing.

Maybe its not on a logout, I don't know. But I do get this error from the SOAP API script. As you can see the url has the server.php as the script.

Why is testman=testman? Shouldn't it be like "username=testman" ? Whats the deal with this?
Reply With Quote
  #101  
Old 02-24-2006, 05:01 AM
leonsio leonsio is offline
 
Join Date: Jun 2002
Posts: 141
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

i have asked you some posts before, which methode call do you use?

which example script?

it is allways right with the api, it can be that the scripts are out of date
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 11:36 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.30981 seconds
  • Memory Usage 2,326KB
  • 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_php
  • (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
  • (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