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-08-2008, 08:57 PM
misterfade misterfade is offline
 
Join Date: Jun 2003
Location: MTL
Posts: 64
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Help with is_member_of condition

I have a custom table setup called 'sellers' and I want to query that table to get all the userid's from there, then match it with the userid's in the vbulletin user table, then see if they're part of specific usergroups.

I figure the easiest option would be to get the sellers userid's and then use it in a loop with is_member_of but what would be the correct syntax?

All I know is the basic:
PHP Code:
is_member_of($vbulletin->userinfo123
Any help would be appreciated. Thanks.
Reply With Quote
  #2  
Old 04-08-2008, 09:32 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

if (is_member_of($vbulletin->userinfo, 1, 2, 3))
{
do this
} else {
do that
}
Reply With Quote
  #3  
Old 04-08-2008, 09:40 PM
misterfade misterfade is offline
 
Join Date: Jun 2003
Location: MTL
Posts: 64
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Sorry, that's not what I mean.

What I'm wondering is if I can use that and at the same time match it with the userid's from my sellers table.

Something like this:
PHP Code:
if ($row['seller_userid'] = (!is_member_of($vbulletin->userinfo123))) 
I know that code doesn't make any sense but that's what I'm wondering. Or would I be better off just running a query across both tables to match up?
Reply With Quote
  #4  
Old 04-08-2008, 11:08 PM
Farcaster Farcaster is offline
 
Join Date: Dec 2005
Posts: 386
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

$vbulletin->userinfo contains an array of variables for the user who is viewing the page. Instead, you would need to create a userinfo array for your seller. You could do this by using the fetch_userinfo function (included in functions.php). Example:

PHP Code:
// this is going to add a query for every time you loop through.. not very good.
$seller_userinfo fetch_userinfo($row['seller_userid']);
if (!
is_member_of($seller_userinfo123)) {
    
// Do this if the seller is not in group 1, 2, or 3
} else {
    
// Do this if the seller IS in group 1, 2, 3

Personally though, I would not want to use this implementation because every loop through is going to require an additional query to get the sellers account information. Instead, I'd probably just join to the user table on the seller ID and use a WHERE clause like this:

[sql]WHERE (user.usergroupid IN (1,2,3) OR user.membergroupids IN (1,2,3))[/sql]

You could also use that in a CASE statement in the SQL Query if you want to assign a particular value to a field that your program would read. Like this:

[sql]CASE WHEN (user.usergroupid IN (1,2,3) OR user.membergroupids IN (1,2,3))
THEN 1 ELSE 0 END) AS valid_seller[/sql]

Hope that helps...
Reply With Quote
  #5  
Old 04-09-2008, 10:56 AM
misterfade misterfade is offline
 
Join Date: Jun 2003
Location: MTL
Posts: 64
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Farcaster,

You're right, that would be a big loop to do, so I'll try a join and see what I can come up with.

Thanks.
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 10:11 PM.


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.03539 seconds
  • Memory Usage 2,206KB
  • Queries Executed 11 (?)
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
  • (3)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (5)post_thanks_box
  • (5)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (5)post_thanks_postbit_info
  • (5)postbit
  • (5)postbit_onlinestatus
  • (5)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
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete