Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
  #1  
Old 04-01-2009, 08:21 PM
Antivirus's Avatar
Antivirus Antivirus is offline
 
Join Date: Sep 2004
Location: Black Lagoon
Posts: 1,090
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Stumped on query using bitfield

I want my query to return only users allowed to post new threads in a specific forum. Naturally, I want it to adhere not only to usergroup permission for the said forum, but also to override according to forumpermissions - because certain usergroups have custom forum permissions for this specific forum, therefore we can't go solely upon usergroupid or membergroupids.

Here's what I have so far:
PHP Code:
$bit1 = ($vbulletin->bf_ugp_forumpermissions['canpostnew']);
$userarray = array('' => '-');
$sqlu $vbulletin->db->query_read("
    SELECT userid, username  
    FROM user AS user  
    LEFT JOIN usergroup AS usergroup ON (user.usergroupid = usergroup.usergroupid) 
    LEFT JOIN forumpermission AS forumpermission ON (user.usergroupid = forumpermission.usergroupid) OR (find_in_set(forumpermission.usergroupid, user.membergroupids)) 
    " 
iif($bit1"WHERE (usergroup.forumpermissions & $bit1) OR (forumpermission.forumpermissions & $bit1)""WHERE userid = " $vbulletin->userinfo['userid']) . 
    AND forumpermission.forumid = " 
intval($foruminfo['forumid']) . "
    GROUP BY user.userid
    ORDER BY user.username    
"
); 
while (
$user $vbulletin->db->fetch_array($sqlu))
{
    
$userarray[$user['userid']] = $user['username'];

This is working nicely with regards to the standard usergroup permissions for the specific forum in question, however it's still not taking into account the custom forumpermission entries for this specific forum.

I am looking into how vbulletin figures ouf the userinfo->forumpermissions array and hopefully that can help me, but if anyone sees or already knows what is wrong with my query, i would certainly appreciate the help as opposed to looking for a solution on my own well into the night.

Thanhks
Reply With Quote
Reply

Thread Tools
Display Modes

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 06:35 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.03473 seconds
  • Memory Usage 2,199KB
  • 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)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)showthread_list
  • (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_threadedmode.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_threaded
  • showthread_threaded_construct_link
  • 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