diff --git a/event/listener.php b/event/listener.php
index 0e757959..e816f36f 100644
--- a/event/listener.php
+++ b/event/listener.php
@@ -72,6 +72,7 @@ class listener implements EventSubscriberInterface
'core.user_setup' => 'load_portal_language',
'core.viewonline_overwrite_location' => 'viewonline_page',
'core.page_header' => 'add_portal_link',
+ 'core.permissions' => 'load_permissions',
);
}
@@ -175,4 +176,17 @@ class listener implements EventSubscriberInterface
{
return $this->config['board_disable'] && !defined('SKIP_CHECK_DISABLED') && !$this->auth->acl_gets('a_', 'm_') && !$this->auth->acl_getf_global('m_');
}
+
+ /**
+ * Load permissions into permissions array
+ *
+ * @param array $event Event data
+ */
+ public function load_permissions($event)
+ {
+ $permissions = $event['permissions'];
+ $permissions['a_manage_portal'] = array('lang' => 'ACL_A_MANAGE_PORTAL', 'cat' => 'misc');
+ $permissions['u_view_portal'] = array('lang' => 'ACL_U_VIEW_PORTAL', 'cat' => 'misc');
+ $event['permissions'] = $permissions;
+ }
}
diff --git a/language/de/info_acp_portal.php b/language/de/info_acp_portal.php
index abc31f1e..1790fc83 100644
--- a/language/de/info_acp_portal.php
+++ b/language/de/info_acp_portal.php
@@ -47,8 +47,4 @@ $lang = array_merge($lang, array(
'LOG_PORTAL_EVENT_UPDATED' => 'Portal-Einstellungen geändert
» Termin geändert: %s ',
'LOG_PORTAL_EVENT_REMOVED' => 'Portal-Einstellungen geändert
» Termin gelöscht: %s ',
'LOG_PORTAL_CONFIG' => 'Portal-Einstellungen geändert
» %s',
-
- // Adding the permissions
- 'ACL_A_MANAGE_PORTAL' => 'Kann Portal-Einstellungen ändern',
- 'ACL_U_VIEW_PORTAL' => 'Kann das Portal sehen',
));
diff --git a/language/de/permissions_portal.php b/language/de/permissions_portal.php
new file mode 100644
index 00000000..59aeb3b4
--- /dev/null
+++ b/language/de/permissions_portal.php
@@ -0,0 +1,39 @@
+ 'Kann Portal-Einstellungen ändern',
+ 'ACL_U_VIEW_PORTAL' => 'Kann das Portal sehen',
+));
diff --git a/language/en/info_acp_portal.php b/language/en/info_acp_portal.php
index 68680bbd..52b14f8a 100644
--- a/language/en/info_acp_portal.php
+++ b/language/en/info_acp_portal.php
@@ -46,8 +46,4 @@ $lang = array_merge($lang, array(
'LOG_PORTAL_EVENT_UPDATED' => 'Altered Portal settings
» Event updated: %s ',
'LOG_PORTAL_EVENT_REMOVED' => 'Altered Portal settings
» Event removed: %s ',
'LOG_PORTAL_CONFIG' => 'Altered Portal settings
» %s',
-
- // Adding the permissions
- 'ACL_A_MANAGE_PORTAL' => 'Can alter Portal settings',
- 'ACL_U_VIEW_PORTAL' => 'Can view the Portal',
));
diff --git a/language/en/permissions_portal.php b/language/en/permissions_portal.php
new file mode 100644
index 00000000..a324406b
--- /dev/null
+++ b/language/en/permissions_portal.php
@@ -0,0 +1,39 @@
+ 'Can alter Portal settings',
+ 'ACL_U_VIEW_PORTAL' => 'Can view the Portal',
+));
diff --git a/language/es/info_acp_portal.php b/language/es/info_acp_portal.php
index 8be4dae8..c50643a5 100644
--- a/language/es/info_acp_portal.php
+++ b/language/es/info_acp_portal.php
@@ -46,8 +46,4 @@ $lang = array_merge($lang, array(
'LOG_PORTAL_EVENT_UPDATED' => 'Ajustes del Portal alterados
» Evento actualizado: %s ',
'LOG_PORTAL_EVENT_REMOVED' => 'Ajustes del Portal alterados
» Evento eliminado: %s ',
'LOG_PORTAL_CONFIG' => 'Ajustes del Portal alterados
» %s',
-
- // Adding the permissions
- 'ACL_A_MANAGE_PORTAL' => 'Puede alterar ajustes del Portal',
- 'ACL_U_VIEW_PORTAL' => 'Puede ver el Portal',
));
diff --git a/language/es/permissions_portal.php b/language/es/permissions_portal.php
new file mode 100644
index 00000000..c2c3bc1b
--- /dev/null
+++ b/language/es/permissions_portal.php
@@ -0,0 +1,39 @@
+ 'Puede alterar ajustes del Portal',
+ 'ACL_U_VIEW_PORTAL' => 'Puede ver el Portal',
+));
diff --git a/language/fr/info_acp_portal.php b/language/fr/info_acp_portal.php
index 7f31835d..a9803623 100644
--- a/language/fr/info_acp_portal.php
+++ b/language/fr/info_acp_portal.php
@@ -47,8 +47,4 @@ $lang = array_merge($lang, array(
'LOG_PORTAL_EVENT_UPDATED' => 'Paramètres du portail modifiés
» Évènement mis à jour : %s ',
'LOG_PORTAL_EVENT_REMOVED' => 'Paramètres du portail modifiés
» Évènement retiré : %s ',
'LOG_PORTAL_CONFIG' => 'Paramètres du portail modifiés
» %s',
-
- // Adding the permissions
- 'ACL_A_MANAGE_PORTAL' => 'Peut modifier les paramètres du portail',
- 'ACL_U_VIEW_PORTAL' => 'Peut afficher le portail',
));
diff --git a/language/fr/permissions_portal.php b/language/fr/permissions_portal.php
new file mode 100644
index 00000000..bff5d758
--- /dev/null
+++ b/language/fr/permissions_portal.php
@@ -0,0 +1,39 @@
+ 'Peut modifier les paramètres du portail',
+ 'ACL_U_VIEW_PORTAL' => 'Peut afficher le portail',
+));
diff --git a/language/it/info_acp_portal.php b/language/it/info_acp_portal.php
index 1f6b64e5..6b4aad66 100644
--- a/language/it/info_acp_portal.php
+++ b/language/it/info_acp_portal.php
@@ -46,8 +46,4 @@ $lang = array_merge($lang, array(
'LOG_PORTAL_EVENT_UPDATED' => 'Impostazioni portale modificate
» Evento aggiornato: %s ',
'LOG_PORTAL_EVENT_REMOVED' => 'Impostazioni portale modificate
» Evento rimosso: %s ',
'LOG_PORTAL_CONFIG' => 'Impostazioni portale modificate
» %s',
-
- // Adding the permissions
- 'ACL_A_MANAGE_PORTAL' => 'Può modificare le impostazioni del portale',
- 'ACL_U_VIEW_PORTAL' => 'Può visualizzare il portale',
));
diff --git a/language/it/permissions_portal.php b/language/it/permissions_portal.php
new file mode 100644
index 00000000..01015129
--- /dev/null
+++ b/language/it/permissions_portal.php
@@ -0,0 +1,39 @@
+ 'Può modificare le impostazioni del portale',
+ 'ACL_U_VIEW_PORTAL' => 'Può visualizzare il portale',
+));
diff --git a/language/nl/info_acp_portal.php b/language/nl/info_acp_portal.php
index 7389dd28..c8bbb803 100644
--- a/language/nl/info_acp_portal.php
+++ b/language/nl/info_acp_portal.php
@@ -42,7 +42,4 @@ $lang = array_merge($lang, array(
'LOG_PORTAL_EVENT_UPDATED' => 'Portaalinstellingen veranderd
» Evenement gewijzigd: %s ',
'LOG_PORTAL_EVENT_REMOVED' => 'Portaalinstellingen veranderd
» Evenement verwijderd: %s ',
'LOG_PORTAL_CONFIG' => 'Portaalinstellingen veranderd
» %s',
- // Adding the permissions
- 'ACL_A_MANAGE_PORTAL' => 'Kan portaalinstellingen wijzigen',
- 'ACL_U_VIEW_PORTAL' => 'Kan portaal bekijken',
));
diff --git a/language/nl/permissions_portal.php b/language/nl/permissions_portal.php
new file mode 100644
index 00000000..ca79d4dd
--- /dev/null
+++ b/language/nl/permissions_portal.php
@@ -0,0 +1,39 @@
+ 'Kan portaalinstellingen wijzigen',
+ 'ACL_U_VIEW_PORTAL' => 'Kan portaal bekijken',
+));
diff --git a/modules/random_member.php b/modules/random_member.php
index 9a34aba8..b3ce2f65 100644
--- a/modules/random_member.php
+++ b/modules/random_member.php
@@ -108,8 +108,7 @@ class random_member extends module_base
$avatar_img = phpbb_get_avatar(\phpbb\avatar\manager::clean_row($row, 'user'), 'USER_AVATAR');
- $rank_title = $rank_img = $rank_img_src = '';
- get_user_rank($row['user_rank'], $row['user_posts'], $rank_title, $rank_img, $rank_img_src);
+ $rank_data = phpbb_get_user_rank($row, $row['user_posts']);
$username = $row['username'];
$user_id = (int) $row['user_id'];
@@ -121,9 +120,9 @@ class random_member extends module_base
'USER_COLOR' => get_username_string('colour', $user_id, $username, $colour),
'U_VIEW_PROFILE' => get_username_string('profile', $user_id, $username, $colour),
- 'RANK_TITLE' => $rank_title,
- 'RANK_IMG' => $rank_img,
- 'RANK_IMG_SRC' => $rank_img_src,
+ 'RANK_TITLE' => $rank_data['title'],
+ 'RANK_IMG' => $rank_data['img'],
+ 'RANK_IMG_SRC' => $rank_data['img_src'],
'USER_POSTS' => (int) $row['user_posts'],
'AVATAR_IMG' => $avatar_img,
diff --git a/modules/user_menu.php b/modules/user_menu.php
index fa64b579..9c51eec8 100644
--- a/modules/user_menu.php
+++ b/modules/user_menu.php
@@ -99,7 +99,7 @@ class user_menu extends module_base
*/
public function get_template_side($module_id)
{
- if (!function_exists('get_user_rank'))
+ if (!function_exists('phpbb_get_user_rank'))
{
include($this->phpbb_root_path . 'includes/functions_display.' . $this->php_ext);
}
@@ -147,8 +147,7 @@ class user_menu extends module_base
$username = $this->user->data['username'];
$colour = $this->user->data['user_colour'];
$avatar_img = phpbb_get_avatar(\phpbb\avatar\manager::clean_row($this->user->data, 'user'), 'USER_AVATAR');
- $rank_title = $rank_img = $rank_img_src = '';
- \get_user_rank($this->user->data['user_rank'], $this->user->data['user_posts'], $rank_title, $rank_img, $rank_img_src);
+ $rank_data = phpbb_get_user_rank($this->user->data, $this->user->data['user_posts']);
// Assign specific vars
$this->template->assign_vars(array(
@@ -157,9 +156,9 @@ class user_menu extends module_base
'L_UNREAD_POSTS'=> $this->user->lang['SEARCH_UNREAD'] . ' (' . $unread_posts_count . ')',
'B3P_AVATAR_IMG' => $avatar_img,
- 'B3P_RANK_TITLE' => $rank_title,
- 'B3P_RANK_IMG' => $rank_img,
- 'RANK_IMG_SRC' => $rank_img_src,
+ 'B3P_RANK_TITLE' => $rank_data['title'],
+ 'B3P_RANK_IMG' => $rank_data['img'],
+ 'RANK_IMG_SRC' => $rank_data['img_src'],
'USERNAME_FULL' => get_username_string('full', $user_id, $username, $colour),
'U_VIEW_PROFILE' => get_username_string('profile', $user_id, $username, $colour),
diff --git a/styles/prosilver/template/portal/modules/donation_center.html b/styles/prosilver/template/portal/modules/donation_center.html
index 239f904d..b852951b 100644
--- a/styles/prosilver/template/portal/modules/donation_center.html
+++ b/styles/prosilver/template/portal/modules/donation_center.html
@@ -21,7 +21,7 @@
diff --git a/styles/prosilver/template/portal/modules/donation_side.html b/styles/prosilver/template/portal/modules/donation_side.html
index 4478276e..bf47baf0 100644
--- a/styles/prosilver/template/portal/modules/donation_side.html
+++ b/styles/prosilver/template/portal/modules/donation_side.html
@@ -15,7 +15,7 @@
diff --git a/styles/subsilver2/template/portal/modules/donation_center.html b/styles/subsilver2/template/portal/modules/donation_center.html
index d0ed7e7e..e717c632 100644
--- a/styles/subsilver2/template/portal/modules/donation_center.html
+++ b/styles/subsilver2/template/portal/modules/donation_center.html
@@ -22,7 +22,7 @@
diff --git a/styles/subsilver2/template/portal/modules/donation_side.html b/styles/subsilver2/template/portal/modules/donation_side.html
index 8bb5ed81..80399275 100644
--- a/styles/subsilver2/template/portal/modules/donation_side.html
+++ b/styles/subsilver2/template/portal/modules/donation_side.html
@@ -17,7 +17,7 @@
diff --git a/tests/functional/portal_acp_test.php b/tests/functional/portal_acp_test.php
index c85b6919..0fc89620 100644
--- a/tests/functional/portal_acp_test.php
+++ b/tests/functional/portal_acp_test.php
@@ -90,7 +90,7 @@ class phpbb_functional_portal_acp_test extends \board3\portal\tests\testframewor
public function test_portal_permissions()
{
- $this->add_lang_ext('board3/portal', 'info_acp_portal');
+ $this->add_lang_ext('board3/portal', 'permissions_portal');
$crawler = self::request('GET', 'adm/index.php?i=acp_permissions&mode=setting_group_global&sid=' . $this->sid);
$form = $crawler->selectButton('submit')->form();
$crawler = self::submit($form);
diff --git a/tests/unit/event/listener_test.php b/tests/unit/event/listener_test.php
index 396d479e..1dd2dc5c 100644
--- a/tests/unit/event/listener_test.php
+++ b/tests/unit/event/listener_test.php
@@ -127,6 +127,7 @@ class listener_test extends \phpbb_template_template_test_case
'core.user_setup',
'core.viewonline_overwrite_location',
'core.page_header',
+ 'core.permissions',
), array_keys(\board3\portal\event\listener::getSubscribedEvents()));
}