Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 04-29-2009, 07:52 PM
nickh's Avatar
nickh nickh is offline
 
Join Date: Apr 2009
Location: Toronto, Canada
Posts: 23
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Get user via the API

Hi folks. Is there a way to use the vBulletin API to find a user based on their username, or must I search the "users" database table? If there is, would you mind pointing me at some docs, or including a code snippit?

Thanks,
Nick
Reply With Quote
  #2  
Old 04-29-2009, 08:30 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Did you look at the API - http://members.vbulletin.com/api/ ? There is a function called fetch_userid_from_username listed on there.
Reply With Quote
  #3  
Old 04-29-2009, 08:38 PM
EnIgMa1234 EnIgMa1234 is offline
 
Join Date: Mar 2006
Location: .:: Ireland ::.
Posts: 1,306
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You can use the function above in conjunction with fetch_userinfo get the the full info
Reply With Quote
  #4  
Old 04-30-2009, 03:05 AM
nickh's Avatar
nickh nickh is offline
 
Join Date: Apr 2009
Location: Toronto, Canada
Posts: 23
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ack, I worded my question incorrectly.

I did indeed see fetch_userid_from_username() and fetch_userinfo(). However, those can only be used to get a user's info. Once you have that info, it's not possible to update it. Correct?

Using the vB API, is it possible to get a "user object", through which the user's data can be updated? For example:

PHP Code:
$user some_fetch_function($a_user_name);
$user->password 'something new';
$user->save(); 
Thanks,
Nick
Reply With Quote
  #5  
Old 04-30-2009, 07:08 AM
Dismounted's Avatar
Dismounted Dismounted is offline
 
Join Date: Jun 2005
Location: Melbourne, Australia
Posts: 15,047
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You can pass it onto the user data manager. (See the manual about data managers.)
Reply With Quote
  #6  
Old 04-30-2009, 03:28 PM
nickh's Avatar
nickh nickh is offline
 
Join Date: Apr 2009
Location: Toronto, Canada
Posts: 23
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Lynne View Post
Did you look at the API - http://members.vbulletin.com/api/ ? There is a function called fetch_userid_from_username listed on there.
Quote:
Originally Posted by EnIgMa1234 View Post
You can use the function above in conjunction with fetch_userinfo get the the full info
Actually, I don't think this is possible. fetch_userid_from_username() is in admincp/usergroup.php , which isn't meant to be loaded using require() .

Other than querying the users database table, is there any other way to get a user's ID via their username?

Thanks,
Nick
Reply With Quote
  #7  
Old 04-30-2009, 03:36 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

fetch_userinfo is in functions.php.

You can always copy functions to your plugins if you need them.
Reply With Quote
  #8  
Old 04-30-2009, 03:42 PM
nickh's Avatar
nickh nickh is offline
 
Join Date: Apr 2009
Location: Toronto, Canada
Posts: 23
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Right, but fetch_userinfo() is only useful if one has the user's ID.

For many reasons, copying functions is not a good idea. Doing so violates the DRY principle, makes your code brittle with respect to vBulletin updates, etc. Also, it negates the whole point of having an API.
Reply With Quote
  #9  
Old 04-30-2009, 03:52 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Then all I can suggest is a quick query. I know that's what I do in some of my customized site code.
Reply With Quote
  #10  
Old 04-30-2009, 04:56 PM
nickh's Avatar
nickh nickh is offline
 
Join Date: Apr 2009
Location: Toronto, Canada
Posts: 23
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks for your insight, Lynne. It's helpful to hear what others have done in the past.
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 05:06 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04231 seconds
  • Memory Usage 2,246KB
  • Queries Executed 13 (?)
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)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)bbcode_php
  • (2)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (10)postbit
  • (10)postbit_onlinestatus
  • (10)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_postinfo_query
  • fetch_postinfo
  • 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
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete