vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   Stumped on query using bitfield (https://vborg.vbsupport.ru/showthread.php?t=210074)

Antivirus 04-01-2009 08:21 PM

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 :)


All times are GMT. The time now is 10: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.01078 seconds
  • Memory Usage 1,719KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (1)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.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
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete