From b2a591bb3588e665c2d49bb9589a74ce6e5c5453 Mon Sep 17 00:00:00 2001 From: Marc Alexander Date: Thu, 2 Dec 2010 17:24:07 +0000 Subject: [PATCH] Added portal permissions -- It is now possible to show the Portal only to the users and groups we want to --- install.xml | 3 ++- root/includes/acp/info/acp_portal.php | 4 ++-- root/install/index.php | 6 ++++-- root/language/de/mods/info_acp_portal.php | 4 ++++ root/language/en/mods/info_acp_portal.php | 4 ++++ root/portal.php | 2 +- 6 files changed, 17 insertions(+), 6 deletions(-) diff --git a/install.xml b/install.xml index 22b3d5a0..a107a4ca 100644 --- a/install.xml +++ b/install.xml @@ -463,6 +463,7 @@ Deny from All break;]]> + append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=pm&folder=inbox'),]]> - (isset($config['board3_enable']) && $config['board3_enable'] == true) ? append_sid("{$phpbb_root_path}portal.$phpEx") : '',]]> + (isset($config['board3_enable']) && $config['board3_enable'] && $auth->acl_get('u_view_portal')) ? append_sid("{$phpbb_root_path}portal.$phpEx") : '',]]> diff --git a/root/includes/acp/info/acp_portal.php b/root/includes/acp/info/acp_portal.php index a587efb1..1ed506b2 100644 --- a/root/includes/acp/info/acp_portal.php +++ b/root/includes/acp/info/acp_portal.php @@ -23,8 +23,8 @@ class acp_portal_info 'title' => 'ACP_PORTAL', 'version' => '2.0.0', 'modes' => array( - 'config' => array('title' => 'ACP_PORTAL_GENERAL_INFO', 'auth' => 'acl_a_portal', 'cat' => array('ACP_PORTAL')), - 'modules' => array('title' => 'ACP_PORTAL_MODULES', 'auth' => 'acl_a_portal', 'cat' => array('ACP_PORTAL')), + 'config' => array('title' => 'ACP_PORTAL_GENERAL_INFO', 'auth' => 'acl_a_manage_portal', 'cat' => array('ACP_PORTAL')), + 'modules' => array('title' => 'ACP_PORTAL_MODULES', 'auth' => 'acl_a_manage_portal', 'cat' => array('ACP_PORTAL')), ), ); } diff --git a/root/install/index.php b/root/install/index.php index 6e7e2e22..d6d75008 100644 --- a/root/install/index.php +++ b/root/install/index.php @@ -59,11 +59,13 @@ $versions = array( '2.0.0-dev2' => array( 'permission_add' => array( - array('a_portal'), + array('a_manage_portal', 1), + array('u_view_portal', 1), ), 'permission_set' => array( - array('ADMINISTRATORS', 'a_portal', 'group'), + array('ADMINISTRATORS', 'a_manage_portal', 'group'), + array('REGISTERED', 'u_view_portal', 'group'), ), 'table_add' => array( diff --git a/root/language/de/mods/info_acp_portal.php b/root/language/de/mods/info_acp_portal.php index 1f4a26c3..30681d96 100644 --- a/root/language/de/mods/info_acp_portal.php +++ b/root/language/de/mods/info_acp_portal.php @@ -100,5 +100,9 @@ $lang = array_merge($lang, array( 'UP_TO_DATE' => '%s ist aktuell', 'VERSION_CHECK' => 'MOD Version Check', + // Adding the permissions + 'acl_a_manage_portal' => array('lang' => 'Kann Portal-Einstellungen ändern', 'cat' => 'misc'), + 'acl_u_view_portal' => array('lang' => 'Kann das Portal sehen', 'cat' => 'misc'), + )); ?> \ No newline at end of file diff --git a/root/language/en/mods/info_acp_portal.php b/root/language/en/mods/info_acp_portal.php index 0efad3b3..666a5681 100644 --- a/root/language/en/mods/info_acp_portal.php +++ b/root/language/en/mods/info_acp_portal.php @@ -98,5 +98,9 @@ $lang = array_merge($lang, array( 'RELEASE_ANNOUNCEMENT' => 'Ankündigungsthema', 'UP_TO_DATE' => '%s ist aktuell', 'VERSION_CHECK' => 'MOD Version Check', + + // Adding the permissions + 'acl_a_manage_portal' => array('lang' => 'Can alter Portal settings', 'cat' => 'misc'), + 'acl_u_view_portal' => array('lang' => 'Can view the Portal', 'cat' => 'misc'), )); ?> \ No newline at end of file diff --git a/root/portal.php b/root/portal.php index c2b37bf6..667373ad 100644 --- a/root/portal.php +++ b/root/portal.php @@ -33,7 +33,7 @@ $user->setup('mods/portal'); * Make sure we do an isset first, * else we will get errors if someone uninstalls the portal and forgets to remove portal.php */ -if (!isset($config['board3_enable']) || !$config['board3_enable']) +if (!isset($config['board3_enable']) || !$config['board3_enable'] || !$auth->acl_get('u_view_portal')) { redirect(reapply_sid($phpbb_root_path . 'index.' . $phpEx)); }