vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 General Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=251)
-   -   How to find the forum ids that a user can see (https://vborg.vbsupport.ru/showthread.php?t=254613)

MrEyes 12-03-2010 01:43 PM

How to find the forum ids that a user can see
 
As per title really, I am trying to get all the forum ids that the current user is allowed to see?

preemz10314 12-04-2010 10:43 AM

check your permissions for each user group. take note of which user group has access to which forum. then, go to forum manager> select the forum of the id you want to get by hitting go> at the top you will see "Forum: General (id: 4)" for example you will see a different id for each forum... take note because that number is that forums id...and go down the list..i think thats what your looking for?.

But you will have to manually put in the work and figure out the forum id by hand for each one.. why you need this i dont know..

MrEyes 12-07-2010 08:37 AM

Quote:

Originally Posted by preemz10314 (Post 2129159)
...why you need this i dont know..

I should have been more explicit, I need to get this in code for a mod I am playing around with.

preemz10314 12-07-2010 11:27 AM

well i showed you..

Lynne 12-07-2010 02:21 PM

The forum chooser only shows forums the user is allowed to view (but doesn't show forums the admin says shouldn't be shown in the chooser). So, take a look at the function construct_forum_chooser

MrEyes 12-09-2010 12:02 PM

In the end I went with this:

Code:

foreach ($vbulletin->forumcache as &$forum)
{
        $forumperms =& $vbulletin->userinfo['forumpermissions'][$forum['forumid']];
        if (forum_accessible($forum, $forumperms))
        {
                $forumids[] = $forum['forumid'];
        }
}

function forum_accessible($forum, $forumperms)
{
        global $vbulletin;
       
        if (!($forumperms & $vbulletin->bf_ugp_forumpermissions['canview']))
                return false;

        if (!($forum['options'] & $vbulletin->bf_misc_forumoptions['active']))
                return false;

        if (!verify_forum_password($forum['forumid'], $forum['password'], false))
                return false;
       
        if (trim($forum['link']))
                return false;
       
        if ($forum['displayorder'] == 0)
                return false;

        return true;
}



All times are GMT. The time now is 01:17 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.03560 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_code_printable
  • (1)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (6)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