diff --git a/phpBB/language/en/memberlist.php b/phpBB/language/en/memberlist.php index 5605f8f4b5..c7b2bf55d1 100644 --- a/phpBB/language/en/memberlist.php +++ b/phpBB/language/en/memberlist.php @@ -101,6 +101,7 @@ $lang = array_merge($lang, array( 'LOGIN_EXPLAIN_SEARCHUSER' => 'The board requires you to be registered and logged in to search users.', 'LOGIN_EXPLAIN_VIEWPROFILE' => 'The board requires you to be registered and logged in to view profiles.', + 'MANAGE_GROUP' => 'Manage Group', 'MORE_THAN' => 'More than', 'NO_CONTACT_FORM' => 'The board administrator contact form has been disabled.', diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php index 9604a5a21f..ad28b2d0b5 100644 --- a/phpBB/memberlist.php +++ b/phpBB/memberlist.php @@ -1088,7 +1088,7 @@ switch ($mode) if ($mode == 'group') { // We JOIN here to save a query for determining membership for hidden groups. ;) - $sql = 'SELECT g.*, ug.user_id + $sql = 'SELECT g.*, ug.user_id, ug.group_leader FROM ' . GROUPS_TABLE . ' g LEFT JOIN ' . USER_GROUP_TABLE . ' ug ON (ug.user_pending = 0 AND ug.user_id = ' . $user->data['user_id'] . " AND ug.group_id = $group_id) WHERE g.group_id = $group_id"; @@ -1147,6 +1147,20 @@ switch ($mode) $user_rank_data['img'] .= '
'; } } + // include modules for manage groups link display or not + // need to ensure the modulr is active + if (!class_exists('p_master')) + { + include($phpbb_root_path . 'includes/functions_module.' . $phpEx); + } + $module = new p_master; + $module->list_modules('ucp'); + + $can_manage_group = false; + if ($module->is_active('ucp_groups', 'manage') && ($group_row['group_leader'] || ($group_row['group_founder_manage'] && $user->data['user_type'] == USER_FOUNDER))) + { + $can_manage_group = true; + } $template->assign_vars(array( 'GROUP_DESC' => generate_text_for_display($group_row['group_desc'], $group_row['group_desc_uid'], $group_row['group_desc_bitfield'], $group_row['group_desc_options']), @@ -1159,7 +1173,8 @@ switch ($mode) 'RANK_IMG' => $user_rank_data['img'], 'RANK_IMG_SRC' => $user_rank_data['img_src'], - 'U_PM' => ($auth->acl_get('u_sendpm') && $auth->acl_get('u_masspm_group') && $group_row['group_receive_pm'] && $config['allow_privmsg'] && $config['allow_mass_pm']) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=pm&mode=compose&g=' . $group_id) : '',) + 'U_PM' => ($auth->acl_get('u_sendpm') && $auth->acl_get('u_masspm_group') && $group_row['group_receive_pm'] && $config['allow_privmsg'] && $config['allow_mass_pm']) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=pm&mode=compose&g=' . $group_id) : '', + 'U_MANAGE' => ($can_manage_group) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=ucp_groups&mode=manage') : false,) ); $sql_select = ', ug.group_leader'; diff --git a/phpBB/styles/prosilver/template/memberlist_body.html b/phpBB/styles/prosilver/template/memberlist_body.html index e0215848d0..5fba59159c 100644 --- a/phpBB/styles/prosilver/template/memberlist_body.html +++ b/phpBB/styles/prosilver/template/memberlist_body.html @@ -14,7 +14,11 @@

style="color:#{GROUP_COLOR};">{GROUP_NAME}

+ +

{L_MANAGE_GROUP}

+

{GROUP_DESC} {GROUP_TYPE}

+

{AVATAR_IMG} {RANK_IMG} diff --git a/phpBB/styles/subsilver2/template/memberlist_group.html b/phpBB/styles/subsilver2/template/memberlist_group.html index 4140c8cdbf..ff8c96c120 100644 --- a/phpBB/styles/subsilver2/template/memberlist_group.html +++ b/phpBB/styles/subsilver2/template/memberlist_group.html @@ -5,7 +5,7 @@ {L_GROUP_NAME}{L_COLON} - style="color:#{GROUP_COLOR}">{GROUP_NAME} + style="color:#{GROUP_COLOR}">{GROUP_NAME} {L_MANAGE_GROUP} {AVATAR_IMG}
{RANK_IMG}{GROUP_RANK}

{PM_IMG}