mirror of
https://github.com/phpbb/phpbb.git
synced 2025-08-25 17:41:25 +02:00
Merge pull request #6541 from Crizz0/ticket/17093-master
[ticket/17093] Add ACP setting to limit access to disabled board
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* This file is part of the phpBB Forum Software package.
|
||||
*
|
||||
* @copyright (c) phpBB Limited <https://www.phpbb.com>
|
||||
* @license GNU General Public License, version 2 (GPL-2.0)
|
||||
*
|
||||
* For full copyright and license information, please see
|
||||
* the docs/CREDITS.txt file.
|
||||
*
|
||||
*/
|
||||
|
||||
namespace phpbb\db\migration\data\v400;
|
||||
|
||||
class add_disable_board_access_config extends \phpbb\db\migration\migration
|
||||
{
|
||||
public static function depends_on()
|
||||
{
|
||||
return [
|
||||
'\phpbb\db\migration\data\v400\dev',
|
||||
];
|
||||
}
|
||||
|
||||
public function update_data()
|
||||
{
|
||||
return [
|
||||
['config.add', ['board_disable_access', '2']],
|
||||
];
|
||||
}
|
||||
}
|
@@ -372,7 +372,27 @@ class user extends \phpbb\session
|
||||
}
|
||||
|
||||
// Is board disabled and user not an admin or moderator?
|
||||
if ($config['board_disable'] && !defined('IN_INSTALL') && !defined('IN_LOGIN') && !defined('SKIP_CHECK_DISABLED') && !$auth->acl_gets('a_', 'm_') && !$auth->acl_getf_global('m_'))
|
||||
// Check acp setting who has access: only admins "case: 0", plus global moderators "case: 1" and plus moderators "case: 2"
|
||||
$board_disable_access = (int) $config['board_disable_access'];
|
||||
|
||||
switch ($board_disable_access)
|
||||
{
|
||||
case 0:
|
||||
$access_disabled_board = $auth->acl_gets('a_');
|
||||
break;
|
||||
|
||||
case 1:
|
||||
$access_disabled_board = $auth->acl_gets('a_', 'm_');
|
||||
break;
|
||||
|
||||
case 2:
|
||||
default:
|
||||
$access_disabled_board = $auth->acl_gets('a_', 'm_') || $auth->acl_getf_global('m_');
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
if ($config['board_disable'] && !defined('IN_INSTALL') && !defined('IN_LOGIN') && !defined('SKIP_CHECK_DISABLED') && !$access_disabled_board)
|
||||
{
|
||||
if ($this->data['is_bot'])
|
||||
{
|
||||
|
Reference in New Issue
Block a user