vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 General Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=111)
-   -   Closed forum and admins (https://vborg.vbsupport.ru/showthread.php?t=286552)

chefy 08-12-2012 03:23 AM

Closed forum and admins
 
On my forum I have 7 admins. As you know, when the forum is closed, the only ones who can still browse and even post on the forums just like if these were open are the admins. I want to remove this ability from 2 of my 7 admins so when they log in they will see the same message that every user get: "the forum is closed" and they will not be able to do anything until the forums come back to the open status just like any regular user. Is this possible?

watty005 08-12-2012 11:09 AM

Can you not create a different usergroup for these 2 admins and apply the permissions from there??

chefy 08-12-2012 02:51 PM

I don't believe that there is a specific setting to prevent admins from browsing the forums when closed.

Lynne 08-12-2012 03:11 PM

I think you would have to modify the class_bootstrap.php file manually in order to add in the userids for those two admins. Basically, if they have admin permissions and have access to the admincp, then they have access to the forum when it is off.

chefy 08-12-2012 03:18 PM

Can't locate the file class_bootstrap.php on my vB 3.8.7 installation :(

Lynne 08-12-2012 04:08 PM

Ah, I was looking at the vB4 files. Check global.php

chefy 08-12-2012 04:23 PM

Here is the code snippet that controls that:

PHP Code:

// #############################################################################
// check that board is active - if not admin, then display error
if (!$vbulletin->options['bbactive'] AND THIS_SCRIPT != 'login')
{
    if (!(
$vbulletin->userinfo['permissions']['adminpermissions'] & $vbulletin->bf_ugp_adminpermissions['cancontrolpanel']))
    {
        if (
THIS_SCRIPT == 'external')
        {
            
// don't output HTML for external data
            
exit;
        }
        
$show['enableforumjump'] = true;
        eval(
'standard_error("' str_replace("\\'""'"addslashes($vbulletin->options['bbclosedreason'])) . '");');
        unset(
$db->shutdownqueries['lastvisit']);
    }
    else
    {
        
// show the board disabled warning message so that admins don't leave the board turned off by accident
        
eval('$warning = "' fetch_template('board_inactive_warning') . '";');
        
$header $warning $header;
        
$footer .= $warning;
    }


So I think that I should play with this line:

PHP Code:

if (!($vbulletin->userinfo['permissions']['adminpermissions'] & $vbulletin->bf_ugp_adminpermissions['cancontrolpanel'])) 

With that conditional, the system will detect all my admins (there are 7 of them) and allow them to use the forums even when closed. How can I also evaluate if they are let's say userid=1 and userid=2 to disallow them access i.e. send them to the else part of the code?

Lynne 08-13-2012 02:29 AM

Maybe... (not testing and I'm not sure my parenthesis add up correctly):

if (!($vbulletin->userinfo['permissions']['adminpermissions'] & $vbulletin->bf_ugp_adminpermissions['cancontrolpanel']) AND (!in_array($vbulletin->userinfo['userid'],array(1,2)))

I always play with these things on my test site when it comes to conditions, but that's the basic idea.

chefy 08-16-2012 07:51 PM

Lynne, just tested your code and not only it didn't work but also made every .php of my forum (i.e. index.php, forumdisplay.php, showthread.php) to result in a blank page :D

Could you please review the code again?

Lynne 08-16-2012 08:20 PM

$vbulletin['userid'] should actually be $vbulletin->userinfo['userid'], so that was wrong. (But, you'll still need to check the parenthesis as that will cause issues if they don't add up correctly.)


All times are GMT. The time now is 11:45 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.01060 seconds
  • Memory Usage 1,743KB
  • 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
  • (2)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)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
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete