[ticket/12143] Replace group name output

So now we can use translated group names for non-special groups

PHPBB3-12143
This commit is contained in:
Oliver Schramm 2015-05-28 17:31:21 +02:00
parent 4b3343e756
commit 185fbe41c9
15 changed files with 121 additions and 68 deletions

View file

@ -54,6 +54,9 @@ class acp_groups
$start = $request->variable('start', 0); $start = $request->variable('start', 0);
$update = (isset($_POST['update'])) ? true : false; $update = (isset($_POST['update'])) ? true : false;
/** @var \phpbb\group\helper $group_helper */
$group_helper = $phpbb_container->get('group_helper');
// Clear some vars // Clear some vars
$group_row = array(); $group_row = array();
@ -98,7 +101,7 @@ class acp_groups
} }
// Approve, demote or promote // Approve, demote or promote
$group_name = ($group_row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $group_row['group_name']] : $group_row['group_name']; $group_name = $group_helper->get_name($group_row['group_name']);
$error = group_user_attributes($action, $group_id, $mark_ary, false, $group_name); $error = group_user_attributes($action, $group_id, $mark_ary, false, $group_name);
if (!$error) if (!$error)
@ -139,7 +142,7 @@ class acp_groups
if (confirm_box(true)) if (confirm_box(true))
{ {
$group_name = ($group_row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $group_row['group_name']] : $group_row['group_name']; $group_name = $group_helper->get_name($group_row['group_name']);
group_user_attributes('default', $group_id, $mark_ary, false, $group_name, $group_row); group_user_attributes('default', $group_id, $mark_ary, false, $group_name, $group_row);
trigger_error($user->lang['GROUP_DEFS_UPDATED'] . adm_back_link($this->u_action . '&action=list&g=' . $group_id)); trigger_error($user->lang['GROUP_DEFS_UPDATED'] . adm_back_link($this->u_action . '&action=list&g=' . $group_id));
} }
@ -158,7 +161,7 @@ class acp_groups
case 'set_default_on_all': case 'set_default_on_all':
if (confirm_box(true)) if (confirm_box(true))
{ {
$group_name = ($group_row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $group_row['group_name']] : $group_row['group_name']; $group_name = $group_helper->get_name($group_row['group_name']);
$start = 0; $start = 0;
@ -236,7 +239,7 @@ class acp_groups
break; break;
case 'deleteusers': case 'deleteusers':
$group_name = ($group_row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $group_row['group_name']] : $group_row['group_name']; $group_name = $group_helper->get_name($group_row['group_name']);
$error = group_user_del($group_id, $mark_ary, false, $group_name); $error = group_user_del($group_id, $mark_ary, false, $group_name);
break; break;
} }
@ -280,7 +283,7 @@ class acp_groups
} }
$name_ary = array_unique(explode("\n", $name_ary)); $name_ary = array_unique(explode("\n", $name_ary));
$group_name = ($group_row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $group_row['group_name']] : $group_row['group_name']; $group_name = $group_helper->get_name($group_row['group_name']);
// Add user/s to group // Add user/s to group
if ($error = group_user_add($group_id, false, $name_ary, $group_name, $default, $leader, 0, $group_row)) if ($error = group_user_add($group_id, false, $name_ary, $group_name, $default, $leader, 0, $group_row))
@ -720,7 +723,7 @@ class acp_groups
'S_AVATARS_ENABLED' => ($config['allow_avatar'] && $avatars_enabled), 'S_AVATARS_ENABLED' => ($config['allow_avatar'] && $avatars_enabled),
'ERROR_MSG' => (sizeof($error)) ? implode('<br />', $error) : '', 'ERROR_MSG' => (sizeof($error)) ? implode('<br />', $error) : '',
'GROUP_NAME' => ($group_type == GROUP_SPECIAL) ? $user->lang['G_' . $group_name] : $group_name, 'GROUP_NAME' => $group_helper->get_name($group_name),
'GROUP_INTERNAL_NAME' => $group_name, 'GROUP_INTERNAL_NAME' => $group_name,
'GROUP_DESC' => $group_desc_data['text'], 'GROUP_DESC' => $group_desc_data['text'],
'GROUP_RECEIVE_PM' => (isset($group_row['group_receive_pm']) && $group_row['group_receive_pm']) ? ' checked="checked"' : '', 'GROUP_RECEIVE_PM' => (isset($group_row['group_receive_pm']) && $group_row['group_receive_pm']) ? ' checked="checked"' : '',
@ -855,7 +858,7 @@ class acp_groups
'S_GROUP_SPECIAL' => ($group_row['group_type'] == GROUP_SPECIAL) ? true : false, 'S_GROUP_SPECIAL' => ($group_row['group_type'] == GROUP_SPECIAL) ? true : false,
'S_ACTION_OPTIONS' => $s_action_options, 'S_ACTION_OPTIONS' => $s_action_options,
'GROUP_NAME' => ($group_row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $group_row['group_name']] : $group_row['group_name'], 'GROUP_NAME' => $group_helper->get_name($group_row['group_name']),
'U_ACTION' => $this->u_action . "&amp;g=$group_id", 'U_ACTION' => $this->u_action . "&amp;g=$group_id",
'U_BACK' => $this->u_action, 'U_BACK' => $this->u_action,
@ -984,6 +987,9 @@ class acp_groups
$teampage_id = $request->variable('t', 0); $teampage_id = $request->variable('t', 0);
$category_id = $request->variable('c', 0); $category_id = $request->variable('c', 0);
/** @var \phpbb\group\helper $group_helper */
$group_helper = $phpbb_container->get('group_helper');
if ($field && !in_array($field, array('legend', 'teampage'))) if ($field && !in_array($field, array('legend', 'teampage')))
{ {
// Invalid mode // Invalid mode
@ -1086,7 +1092,7 @@ class acp_groups
$s_group_select_legend = ''; $s_group_select_legend = '';
while ($row = $db->sql_fetchrow($result)) while ($row = $db->sql_fetchrow($result))
{ {
$group_name = ($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name']; $group_name = $group_helper->get_name($row['group_name']);
if ($row['group_legend']) if ($row['group_legend'])
{ {
$template->assign_block_vars('legend', array( $template->assign_block_vars('legend', array(
@ -1134,7 +1140,7 @@ class acp_groups
if ($row['group_id']) if ($row['group_id'])
{ {
$group_name = ($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name']; $group_name = $group_helper->get_name($row['group_name']);
$group_type = $user->lang[\phpbb\groupposition\teampage::group_type_language($row['group_type'])]; $group_type = $user->lang[\phpbb\groupposition\teampage::group_type_language($row['group_type'])];
} }
else else
@ -1167,7 +1173,7 @@ class acp_groups
$s_group_select_teampage = ''; $s_group_select_teampage = '';
while ($row = $db->sql_fetchrow($result)) while ($row = $db->sql_fetchrow($result))
{ {
$group_name = ($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name']; $group_name = $group_helper->get_name($row['group_name']);
$template->assign_block_vars('add_teampage', array( $template->assign_block_vars('add_teampage', array(
'GROUP_ID' => (int) $row['group_id'], 'GROUP_ID' => (int) $row['group_id'],
'GROUP_NAME' => $group_name, 'GROUP_NAME' => $group_name,

View file

@ -909,7 +909,7 @@ class acp_permissions
*/ */
function log_action($mode, $action, $permission_type, $ug_type, $ug_id, $forum_id) function log_action($mode, $action, $permission_type, $ug_type, $ug_id, $forum_id)
{ {
global $db, $user, $phpbb_log; global $db, $user, $phpbb_log, $phpbb_container;
if (!is_array($ug_id)) if (!is_array($ug_id))
{ {
@ -926,10 +926,14 @@ class acp_permissions
$sql .= $db->sql_in_set(($ug_type == 'group') ? 'group_id' : 'user_id', array_map('intval', $ug_id)); $sql .= $db->sql_in_set(($ug_type == 'group') ? 'group_id' : 'user_id', array_map('intval', $ug_id));
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
/** @var \phpbb\group\helper $group_helper */
$group_helper = $phpbb_container->get('group_helper');
$l_ug_list = ''; $l_ug_list = '';
while ($row = $db->sql_fetchrow($result)) while ($row = $db->sql_fetchrow($result))
{ {
$l_ug_list .= (($l_ug_list != '') ? ', ' : '') . ((isset($row['group_type']) && $row['group_type'] == GROUP_SPECIAL) ? '<span class="sep">' . $user->lang['G_' . $row['name']] . '</span>' : $row['name']); $group_name = $group_helper->get_name($row['group_name']);
$l_ug_list .= (($l_ug_list != '') ? ', ' : '') . ((isset($row['group_type']) && $row['group_type'] == GROUP_SPECIAL) ? '<span class="sep">' . $group_name . '</span>' : $group_name);
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
@ -963,7 +967,7 @@ class acp_permissions
*/ */
function permission_trace($user_id, $forum_id, $permission) function permission_trace($user_id, $forum_id, $permission)
{ {
global $db, $template, $user, $auth, $request; global $db, $template, $user, $auth, $request, $phpbb_container;
if ($user_id != $user->data['user_id']) if ($user_id != $user->data['user_id'])
{ {
@ -979,6 +983,9 @@ class acp_permissions
trigger_error('NO_USERS', E_USER_ERROR); trigger_error('NO_USERS', E_USER_ERROR);
} }
/** @var \phpbb\group\helper $group_helper */
$group_helper = $phpbb_container->get('group_helper');
$forum_name = false; $forum_name = false;
if ($forum_id) if ($forum_id)
@ -1025,7 +1032,7 @@ class acp_permissions
{ {
$groups[$row['group_id']] = array( $groups[$row['group_id']] = array(
'auth_setting' => ACL_NO, 'auth_setting' => ACL_NO,
'group_name' => ($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name'] 'group_name' => $group_helper->get_name($row['group_name']),
); );
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
@ -1233,7 +1240,10 @@ class acp_permissions
*/ */
function retrieve_defined_user_groups($permission_scope, $forum_id, $permission_type) function retrieve_defined_user_groups($permission_scope, $forum_id, $permission_type)
{ {
global $db, $user; global $db, $phpbb_container;
/** @var \phpbb\group\helper $group_helper */
$group_helper = $phpbb_container->get('group_helper');
$sql_forum_id = ($permission_scope == 'global') ? 'AND a.forum_id = 0' : ((sizeof($forum_id)) ? 'AND ' . $db->sql_in_set('a.forum_id', $forum_id) : 'AND a.forum_id <> 0'); $sql_forum_id = ($permission_scope == 'global') ? 'AND a.forum_id = 0' : ((sizeof($forum_id)) ? 'AND ' . $db->sql_in_set('a.forum_id', $forum_id) : 'AND a.forum_id <> 0');
@ -1308,7 +1318,7 @@ class acp_permissions
$defined_group_ids = array(); $defined_group_ids = array();
while ($row = $db->sql_fetchrow($result)) while ($row = $db->sql_fetchrow($result))
{ {
$s_defined_group_options .= '<option' . (($row['group_type'] == GROUP_SPECIAL) ? ' class="sep"' : '') . ' value="' . $row['group_id'] . '">' . (($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name']) . '</option>'; $s_defined_group_options .= '<option' . (($row['group_type'] == GROUP_SPECIAL) ? ' class="sep"' : '') . ' value="' . $row['group_id'] . '">' . $group_helper->get_name($row['group_name']) . '</option>';
$defined_group_ids[] = $row['group_id']; $defined_group_ids[] = $row['group_id'];
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);

View file

@ -230,7 +230,10 @@ class acp_prune
function prune_users($id, $mode) function prune_users($id, $mode)
{ {
global $db, $user, $auth, $template, $cache, $phpbb_log, $request; global $db, $user, $auth, $template, $cache, $phpbb_log, $request;
global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx; global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx, $phpbb_container;
/** @var \phpbb\group\helper $group_helper */
$group_helper = $phpbb_container->get('group_helper');
$user->add_lang('memberlist'); $user->add_lang('memberlist');
@ -342,7 +345,7 @@ class acp_prune
$s_group_list = ''; $s_group_list = '';
while ($row = $db->sql_fetchrow($result)) while ($row = $db->sql_fetchrow($result))
{ {
$s_group_list .= '<option value="' . $row['group_id'] . '">' . $row['group_name'] . '</option>'; $s_group_list .= '<option value="' . $row['group_id'] . '">' . $group_helper->get_name($row['group_name']) . '</option>';
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);

View file

@ -2348,6 +2348,9 @@ class acp_users
$error = array(); $error = array();
} }
/** @var \phpbb\group\helper $group_helper */
$group_helper = $phpbb_container->get('group_helper');
$sql = 'SELECT ug.*, g.* $sql = 'SELECT ug.*, g.*
FROM ' . GROUPS_TABLE . ' g, ' . USER_GROUP_TABLE . " ug FROM ' . GROUPS_TABLE . ' g, ' . USER_GROUP_TABLE . " ug
WHERE ug.user_id = $user_id WHERE ug.user_id = $user_id
@ -2392,7 +2395,7 @@ class acp_users
continue; continue;
} }
$s_group_options .= '<option' . (($row['group_type'] == GROUP_SPECIAL) ? ' class="sep"' : '') . ' value="' . $row['group_id'] . '">' . (($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name']) . '</option>'; $s_group_options .= '<option' . (($row['group_type'] == GROUP_SPECIAL) ? ' class="sep"' : '') . ' value="' . $row['group_id'] . '">' . $group_helper->get_name($row['group_name']) . '</option>';
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);

View file

@ -271,6 +271,9 @@ class auth_admin extends \phpbb\auth\auth
/* @var $phpbb_permissions \phpbb\permissions */ /* @var $phpbb_permissions \phpbb\permissions */
$phpbb_permissions = $phpbb_container->get('acl.permissions'); $phpbb_permissions = $phpbb_container->get('acl.permissions');
/** @var \phpbb\group\helper $group_helper */
$group_helper = $phpbb_container->get('group_helper');
// Define names for template loops, might be able to be set // Define names for template loops, might be able to be set
$tpl_pmask = 'p_mask'; $tpl_pmask = 'p_mask';
$tpl_fmask = 'f_mask'; $tpl_fmask = 'f_mask';
@ -302,7 +305,7 @@ class auth_admin extends \phpbb\auth\auth
$ug_names_ary = array(); $ug_names_ary = array();
while ($row = $db->sql_fetchrow($result)) while ($row = $db->sql_fetchrow($result))
{ {
$ug_names_ary[$row['ug_id']] = ($user_mode == 'user') ? $row['ug_name'] : (($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['ug_name']] : $row['ug_name']); $ug_names_ary[$row['ug_id']] = ($user_mode == 'user') ? $row['ug_name'] : $group_helper->get_name($row['ug_name']);
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
@ -410,14 +413,7 @@ class auth_admin extends \phpbb\auth\auth
{ {
foreach ($memberships as $row) foreach ($memberships as $row)
{ {
if ($groups[$row['group_id']]['group_type'] == GROUP_SPECIAL) $user_groups_default[$row['user_id']][] = $group_helper->get_name($groups[$row['group_id']]['group_name']);
{
$user_groups_default[$row['user_id']][] = $user->lang['G_' . $groups[$row['group_id']]['group_name']];
}
else
{
$user_groups_custom[$row['user_id']][] = $groups[$row['group_id']]['group_name'];
}
} }
} }
unset($memberships, $groups); unset($memberships, $groups);
@ -612,12 +608,16 @@ class auth_admin extends \phpbb\auth\auth
function display_role_mask(&$hold_ary) function display_role_mask(&$hold_ary)
{ {
global $db, $template, $user, $phpbb_root_path, $phpbb_admin_path, $phpEx; global $db, $template, $user, $phpbb_root_path, $phpbb_admin_path, $phpEx;
global $phpbb_container;
if (!sizeof($hold_ary)) if (!sizeof($hold_ary))
{ {
return; return;
} }
/** @var \phpbb\group\helper $group_helper */
$group_helper = $phpbb_container->get('group_helper');
// Get forum names // Get forum names
$sql = 'SELECT forum_id, forum_name $sql = 'SELECT forum_id, forum_name
FROM ' . FORUMS_TABLE . ' FROM ' . FORUMS_TABLE . '
@ -673,7 +673,7 @@ class auth_admin extends \phpbb\auth\auth
{ {
$template->assign_block_vars('role_mask.groups', array( $template->assign_block_vars('role_mask.groups', array(
'GROUP_ID' => $row['group_id'], 'GROUP_ID' => $row['group_id'],
'GROUP_NAME' => ($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name'], 'GROUP_NAME' => $group_helper->get_name($row['group_name']),
'U_PROFILE' => append_sid("{$phpbb_root_path}memberlist.$phpEx", "mode=group&amp;g={$row['group_id']}")) 'U_PROFILE' => append_sid("{$phpbb_root_path}memberlist.$phpEx", "mode=group&amp;g={$row['group_id']}"))
); );
} }

View file

@ -171,7 +171,10 @@ function size_select_options($size_compare)
*/ */
function group_select_options($group_id, $exclude_ids = false, $manage_founder = false) function group_select_options($group_id, $exclude_ids = false, $manage_founder = false)
{ {
global $db, $user, $config; global $db, $config, $phpbb_container;
/** @var \phpbb\group\helper $group_helper */
$group_helper = $phpbb_container->get('group_helper');
$exclude_sql = ($exclude_ids !== false && sizeof($exclude_ids)) ? 'WHERE ' . $db->sql_in_set('group_id', array_map('intval', $exclude_ids), true) : ''; $exclude_sql = ($exclude_ids !== false && sizeof($exclude_ids)) ? 'WHERE ' . $db->sql_in_set('group_id', array_map('intval', $exclude_ids), true) : '';
$sql_and = (!$config['coppa_enable']) ? (($exclude_sql) ? ' AND ' : ' WHERE ') . "group_name <> 'REGISTERED_COPPA'" : ''; $sql_and = (!$config['coppa_enable']) ? (($exclude_sql) ? ' AND ' : ' WHERE ') . "group_name <> 'REGISTERED_COPPA'" : '';
@ -189,7 +192,7 @@ function group_select_options($group_id, $exclude_ids = false, $manage_founder =
while ($row = $db->sql_fetchrow($result)) while ($row = $db->sql_fetchrow($result))
{ {
$selected = ($row['group_id'] == $group_id) ? ' selected="selected"' : ''; $selected = ($row['group_id'] == $group_id) ? ' selected="selected"' : '';
$s_group_options .= '<option' . (($row['group_type'] == GROUP_SPECIAL) ? ' class="sep"' : '') . ' value="' . $row['group_id'] . '"' . $selected . '>' . (($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name']) . '</option>'; $s_group_options .= '<option' . (($row['group_type'] == GROUP_SPECIAL) ? ' class="sep"' : '') . ' value="' . $row['group_id'] . '"' . $selected . '>' . $group_helper->get_name($row['group_name']) . '</option>';
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);

View file

@ -886,6 +886,7 @@ function get_forum_parents(&$forum_data)
function get_moderators(&$forum_moderators, $forum_id = false) function get_moderators(&$forum_moderators, $forum_id = false)
{ {
global $config, $template, $db, $phpbb_root_path, $phpEx, $user, $auth; global $config, $template, $db, $phpbb_root_path, $phpEx, $user, $auth;
global $phpbb_container;
$forum_id_ary = array(); $forum_id_ary = array();
@ -921,6 +922,9 @@ function get_moderators(&$forum_moderators, $forum_id = false)
'WHERE' => 'm.display_on_index = 1', 'WHERE' => 'm.display_on_index = 1',
); );
/** @var \phpbb\group\helper $group_helper */
$group_helper = $phpbb_container->get('group_helper');
// We query every forum here because for caching we should not have any parameter. // We query every forum here because for caching we should not have any parameter.
$sql = $db->sql_build_query('SELECT', $sql_array); $sql = $db->sql_build_query('SELECT', $sql_array);
$result = $db->sql_query($sql, 3600); $result = $db->sql_query($sql, 3600);
@ -940,7 +944,7 @@ function get_moderators(&$forum_moderators, $forum_id = false)
} }
else else
{ {
$group_name = (($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name']); $group_name = $group_helper->get_name($row['group_name']);
if ($user->data['user_id'] != ANONYMOUS && !$auth->acl_get('u_viewprofile')) if ($user->data['user_id'] != ANONYMOUS && !$auth->acl_get('u_viewprofile'))
{ {

View file

@ -1436,7 +1436,10 @@ function rebuild_header($check_ary)
*/ */
function write_pm_addresses($check_ary, $author_id, $plaintext = false) function write_pm_addresses($check_ary, $author_id, $plaintext = false)
{ {
global $db, $user, $template, $phpbb_root_path, $phpEx; global $db, $user, $template, $phpbb_root_path, $phpEx, $phpbb_container;
/** @var \phpbb\group\helper $group_helper */
$group_helper = $phpbb_container->get('group_helper');
$addresses = array(); $addresses = array();
@ -1497,7 +1500,7 @@ function write_pm_addresses($check_ary, $author_id, $plaintext = false)
{ {
if ($check_type == 'to' || $author_id == $user->data['user_id'] || $row['user_id'] == $user->data['user_id']) if ($check_type == 'to' || $author_id == $user->data['user_id'] || $row['user_id'] == $user->data['user_id'])
{ {
$address[] = ($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name']; $address[] = $group_helper->get_name($row['group_name']);
} }
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
@ -1517,7 +1520,7 @@ function write_pm_addresses($check_ary, $author_id, $plaintext = false)
{ {
if ($check_type == 'to' || $author_id == $user->data['user_id'] || $row['user_id'] == $user->data['user_id']) if ($check_type == 'to' || $author_id == $user->data['user_id'] || $row['user_id'] == $user->data['user_id'])
{ {
$row['group_name'] = ($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name']; $row['group_name'] = $group_helper->get_name($row['group_name']);
$address['group'][$row['group_id']] = array('name' => $row['group_name'], 'colour' => $row['group_colour']); $address['group'][$row['group_id']] = array('name' => $row['group_name'], 'colour' => $row['group_colour']);
} }
} }
@ -2178,7 +2181,10 @@ function phpbb_get_max_setting_from_group(\phpbb\db\driver\driver_interface $db,
*/ */
function get_recipient_strings($pm_by_id) function get_recipient_strings($pm_by_id)
{ {
global $db, $phpbb_root_path, $phpEx, $user; global $db, $phpbb_root_path, $phpEx, $user, $phpbb_container;
/** @var \phpbb\group\helper $group_helper */
$group_helper = $phpbb_container->get('group_helper');
$address_list = $recipient_list = $address = array(); $address_list = $recipient_list = $address = array();
@ -2224,7 +2230,7 @@ function get_recipient_strings($pm_by_id)
{ {
if ($ug_type == 'g') if ($ug_type == 'g')
{ {
$row['name'] = ($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['name']] : $row['name']; $row['name'] = $group_helper->get_name($row['name']);
} }
$recipient_list[$ug_type][$row['id']] = array('name' => $row['name'], 'colour' => $row['colour']); $recipient_list[$ug_type][$row['id']] = array('name' => $row['name'], 'colour' => $row['colour']);

View file

@ -2215,6 +2215,9 @@ function group_create(&$group_id, $type, $name, $desc, $group_attributes, $allow
{ {
global $phpbb_root_path, $config, $db, $user, $file_upload, $phpbb_container, $phpbb_log; global $phpbb_root_path, $config, $db, $user, $file_upload, $phpbb_container, $phpbb_log;
/** @var \phpbb\group\helper $group_helper */
$group_helper = $phpbb_container->get('group_helper');
$error = array(); $error = array();
// Attributes which also affect the users table // Attributes which also affect the users table
@ -2466,7 +2469,7 @@ function group_create(&$group_id, $type, $name, $desc, $group_attributes, $allow
group_set_user_default($group_id, $user_ary, $sql_ary); group_set_user_default($group_id, $user_ary, $sql_ary);
} }
$name = ($type == GROUP_SPECIAL) ? $user->lang['G_' . $name] : $name; $name = $group_helper->get_name($name);
$phpbb_log->add('admin', $user->data['user_id'], $user->ip, $log, false, array($name)); $phpbb_log->add('admin', $user->data['user_id'], $user->ip, $log, false, array($name));
group_update_listings($group_id); group_update_listings($group_id);
@ -3320,7 +3323,7 @@ function group_set_user_default($group_id, $user_id_ary, $group_attributes = fal
*/ */
function get_group_name($group_id) function get_group_name($group_id)
{ {
global $db, $user; global $db, $user, $phpbb_container;
$sql = 'SELECT group_name, group_type $sql = 'SELECT group_name, group_type
FROM ' . GROUPS_TABLE . ' FROM ' . GROUPS_TABLE . '
@ -3329,12 +3332,15 @@ function get_group_name($group_id)
$row = $db->sql_fetchrow($result); $row = $db->sql_fetchrow($result);
$db->sql_freeresult($result); $db->sql_freeresult($result);
if (!$row || ($row['group_type'] == GROUP_SPECIAL && !$user->is_setup())) if (!$row || !$user->is_setup())
{ {
return ''; return '';
} }
return ($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name']; /** @var \phpbb\group\helper $group_helper */
$group_helper = $phpbb_container->get('group_helper');
return $group_helper->get_name($row['group_name']);
} }
/** /**

View file

@ -41,6 +41,9 @@ class ucp_groups
$delete = $request->variable('delete', false, false, \phpbb\request\request_interface::POST); $delete = $request->variable('delete', false, false, \phpbb\request\request_interface::POST);
$error = $data = array(); $error = $data = array();
/** @var \phpbb\group\helper $group_helper */
$group_helper = $phpbb_container->get('group_helper');
switch ($mode) switch ($mode)
{ {
case 'membership': case 'membership':
@ -65,7 +68,7 @@ class ucp_groups
$group_row = array(); $group_row = array();
while ($row = $db->sql_fetchrow($result)) while ($row = $db->sql_fetchrow($result))
{ {
$row['group_name'] = ($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name']; $row['group_name'] = $group_helper->get_name($row['group_name']);
$group_row[$row['group_id']] = $row; $group_row[$row['group_id']] = $row;
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
@ -307,7 +310,7 @@ class ucp_groups
$template->assign_block_vars($block, array( $template->assign_block_vars($block, array(
'GROUP_ID' => $row['group_id'], 'GROUP_ID' => $row['group_id'],
'GROUP_NAME' => ($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name'], 'GROUP_NAME' => $group_helper->get_name($row['group_name']),
'GROUP_DESC' => ($row['group_type'] <> GROUP_SPECIAL) ? generate_text_for_display($row['group_desc'], $row['group_desc_uid'], $row['group_desc_bitfield'], $row['group_desc_options']) : $user->lang['GROUP_IS_SPECIAL'], 'GROUP_DESC' => ($row['group_type'] <> GROUP_SPECIAL) ? generate_text_for_display($row['group_desc'], $row['group_desc_uid'], $row['group_desc_bitfield'], $row['group_desc_options']) : $user->lang['GROUP_IS_SPECIAL'],
'GROUP_SPECIAL' => ($row['group_type'] <> GROUP_SPECIAL) ? false : true, 'GROUP_SPECIAL' => ($row['group_type'] <> GROUP_SPECIAL) ? false : true,
'GROUP_STATUS' => $user->lang['GROUP_IS_' . $group_status], 'GROUP_STATUS' => $user->lang['GROUP_IS_' . $group_status],
@ -361,7 +364,7 @@ class ucp_groups
$template->assign_block_vars('nonmember', array( $template->assign_block_vars('nonmember', array(
'GROUP_ID' => $row['group_id'], 'GROUP_ID' => $row['group_id'],
'GROUP_NAME' => ($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name'], 'GROUP_NAME' => $group_helper->get_name($row['group_name']),
'GROUP_DESC' => ($row['group_type'] <> GROUP_SPECIAL) ? generate_text_for_display($row['group_desc'], $row['group_desc_uid'], $row['group_desc_bitfield'], $row['group_desc_options']) : $user->lang['GROUP_IS_SPECIAL'], 'GROUP_DESC' => ($row['group_type'] <> GROUP_SPECIAL) ? generate_text_for_display($row['group_desc'], $row['group_desc_uid'], $row['group_desc_bitfield'], $row['group_desc_options']) : $user->lang['GROUP_IS_SPECIAL'],
'GROUP_SPECIAL' => ($row['group_type'] <> GROUP_SPECIAL) ? false : true, 'GROUP_SPECIAL' => ($row['group_type'] <> GROUP_SPECIAL) ? false : true,
'GROUP_CLOSED' => ($row['group_type'] <> GROUP_CLOSED || $auth->acl_gets('a_group', 'a_groupadd', 'a_groupdel')) ? false : true, 'GROUP_CLOSED' => ($row['group_type'] <> GROUP_CLOSED || $auth->acl_gets('a_group', 'a_groupadd', 'a_groupdel')) ? false : true,
@ -426,7 +429,7 @@ class ucp_groups
$avatar = phpbb_get_group_avatar($group_row, 'GROUP_AVATAR', true); $avatar = phpbb_get_group_avatar($group_row, 'GROUP_AVATAR', true);
$template->assign_vars(array( $template->assign_vars(array(
'GROUP_NAME' => ($group_type == GROUP_SPECIAL) ? $user->lang['G_' . $group_name] : $group_name, 'GROUP_NAME' => $group_helper->get_name($group_name),
'GROUP_INTERNAL_NAME' => $group_name, 'GROUP_INTERNAL_NAME' => $group_name,
'GROUP_COLOUR' => (isset($group_row['group_colour'])) ? $group_row['group_colour'] : '', 'GROUP_COLOUR' => (isset($group_row['group_colour'])) ? $group_row['group_colour'] : '',
'GROUP_DESC_DISP' => generate_text_for_display($group_row['group_desc'], $group_row['group_desc_uid'], $group_row['group_desc_bitfield'], $group_row['group_desc_options']), 'GROUP_DESC_DISP' => generate_text_for_display($group_row['group_desc'], $group_row['group_desc_uid'], $group_row['group_desc_bitfield'], $group_row['group_desc_options']),
@ -901,7 +904,7 @@ class ucp_groups
trigger_error($user->lang['NOT_LEADER_OF_GROUP'] . $return_page); trigger_error($user->lang['NOT_LEADER_OF_GROUP'] . $return_page);
} }
$group_row['group_name'] = ($group_row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $group_row['group_name']] : $group_row['group_name']; $group_row['group_name'] = $group_helper->get_name($group_row['group_name']);
if (confirm_box(true)) if (confirm_box(true))
{ {
@ -980,7 +983,7 @@ class ucp_groups
trigger_error($user->lang['NOT_LEADER_OF_GROUP'] . $return_page); trigger_error($user->lang['NOT_LEADER_OF_GROUP'] . $return_page);
} }
$group_row['group_name'] = ($group_row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $group_row['group_name']] : $group_row['group_name']; $group_row['group_name'] = $group_helper->get_name($group_row['group_name']);
if (confirm_box(true)) if (confirm_box(true))
{ {
@ -1042,7 +1045,7 @@ class ucp_groups
} }
$name_ary = array_unique(explode("\n", $names)); $name_ary = array_unique(explode("\n", $names));
$group_name = ($group_row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $group_row['group_name']] : $group_row['group_name']; $group_name = $group_helper->get_name($group_row['group_name']);
$default = $request->variable('default', 0); $default = $request->variable('default', 0);
@ -1088,7 +1091,7 @@ class ucp_groups
while ($value = $db->sql_fetchrow($result)) while ($value = $db->sql_fetchrow($result))
{ {
$template->assign_block_vars('leader', array( $template->assign_block_vars('leader', array(
'GROUP_NAME' => ($value['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $value['group_name']] : $value['group_name'], 'GROUP_NAME' => $group_helper->get_name($value['group_name']),
'GROUP_DESC' => generate_text_for_display($value['group_desc'], $value['group_desc_uid'], $value['group_desc_bitfield'], $value['group_desc_options']), 'GROUP_DESC' => generate_text_for_display($value['group_desc'], $value['group_desc_uid'], $value['group_desc_bitfield'], $value['group_desc_options']),
'GROUP_TYPE' => $value['group_type'], 'GROUP_TYPE' => $value['group_type'],
'GROUP_ID' => $value['group_id'], 'GROUP_ID' => $value['group_id'],

View file

@ -76,6 +76,9 @@ function compose_pm($id, $mode, $action, $user_folders = array())
$error = array(); $error = array();
$current_time = time(); $current_time = time();
/** @var \phpbb\group\helper $group_helper */
$group_helper = $phpbb_container->get('group_helper');
// Was cancel pressed? If so then redirect to the appropriate page // Was cancel pressed? If so then redirect to the appropriate page
if ($cancel || ($current_time - $lastclick < 2 && $submit)) if ($cancel || ($current_time - $lastclick < 2 && $submit))
{ {
@ -145,7 +148,7 @@ function compose_pm($id, $mode, $action, $user_folders = array())
$group_options = ''; $group_options = '';
while ($row = $db->sql_fetchrow($result)) while ($row = $db->sql_fetchrow($result))
{ {
$group_options .= '<option' . (($row['group_type'] == GROUP_SPECIAL) ? ' class="sep"' : '') . ' value="' . $row['group_id'] . '">' . (($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name']) . '</option>'; $group_options .= '<option' . (($row['group_type'] == GROUP_SPECIAL) ? ' class="sep"' : '') . ' value="' . $row['group_id'] . '">' . $group_helper->get_name($row['group_name']) . '</option>';
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
} }
@ -1059,7 +1062,7 @@ function compose_pm($id, $mode, $action, $user_folders = array())
{ {
if ($type == 'g') if ($type == 'g')
{ {
$row['name'] = ($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['name']] : $row['name']; $row['name'] = $group_helper->get_name($row['name']);
} }
${$type}[$row['id']] = array('name' => $row['name'], 'colour' => $row['colour']); ${$type}[$row['id']] = array('name' => $row['name'], 'colour' => $row['colour']);

View file

@ -700,7 +700,10 @@ function define_rule_option($hardcoded, $rule_option, $rule_lang, $check_ary)
*/ */
function define_cond_option($hardcoded, $cond_option, $rule_option, $global_rule_conditions) function define_cond_option($hardcoded, $cond_option, $rule_option, $global_rule_conditions)
{ {
global $db, $template, $auth, $user, $request; global $db, $template, $auth, $user, $request, $phpbb_container;
/** @var \phpbb\group\helper $group_helper */
$group_helper = $phpbb_container->get('group_helper');
$template->assign_vars(array( $template->assign_vars(array(
'S_COND_DEFINED' => true, 'S_COND_DEFINED' => true,
@ -812,13 +815,13 @@ function define_cond_option($hardcoded, $cond_option, $rule_option, $global_rule
{ {
if ($rule_group_id && ($row['group_id'] == $rule_group_id)) if ($rule_group_id && ($row['group_id'] == $rule_group_id))
{ {
$rule_string = (($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name']); $rule_string = $group_helper->get_name($row['group_name']);
} }
$s_class = ($row['group_type'] == GROUP_SPECIAL) ? ' class="sep"' : ''; $s_class = ($row['group_type'] == GROUP_SPECIAL) ? ' class="sep"' : '';
$s_selected = ($row['group_id'] == $rule_group_id) ? ' selected="selected"' : ''; $s_selected = ($row['group_id'] == $rule_group_id) ? ' selected="selected"' : '';
$s_group_options .= '<option value="' . $row['group_id'] . '"' . $s_class . $s_selected . '>' . (($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name']) . '</option>'; $s_group_options .= '<option value="' . $row['group_id'] . '"' . $s_class . $s_selected . '>' . $group_helper->get_name($row['group_name']) . '</option>';
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);

View file

@ -100,11 +100,14 @@ else
} }
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
/** @var \phpbb\group\helper $group_helper */
$group_helper = $phpbb_container->get('group_helper');
$legend = array(); $legend = array();
while ($row = $db->sql_fetchrow($result)) while ($row = $db->sql_fetchrow($result))
{ {
$colour_text = ($row['group_colour']) ? ' style="color:#' . $row['group_colour'] . '"' : ''; $colour_text = ($row['group_colour']) ? ' style="color:#' . $row['group_colour'] . '"' : '';
$group_name = ($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name']; $group_name = $group_helper->get_name($row['group_name']);
if ($row['group_name'] == 'BOTS' || ($user->data['user_id'] != ANONYMOUS && !$auth->acl_get('u_viewprofile'))) if ($row['group_name'] == 'BOTS' || ($user->data['user_id'] != ANONYMOUS && !$auth->acl_get('u_viewprofile')))
{ {

View file

@ -83,6 +83,9 @@ switch ($mode)
break; break;
} }
/** @var \phpbb\group\helper $group_helper */
$group_helper = $phpbb_container->get('group_helper');
$start = $request->variable('start', 0); $start = $request->variable('start', 0);
$submit = (isset($_POST['submit'])) ? true : false; $submit = (isset($_POST['submit'])) ? true : false;
@ -136,7 +139,7 @@ switch ($mode)
} }
else else
{ {
$row['group_name'] = ($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name']; $row['group_name'] = $group_helper->get_name($row['group_name']);
$row['u_group'] = append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=group&amp;g=' . $row['group_id']); $row['u_group'] = append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=group&amp;g=' . $row['group_id']);
} }
@ -536,20 +539,14 @@ switch ($mode)
$group_data = $group_sort = array(); $group_data = $group_sort = array();
foreach ($profile_groups as $row) foreach ($profile_groups as $row)
{ {
if ($row['group_type'] == GROUP_SPECIAL) if (!$auth_hidden_groups && $row['group_type'] == GROUP_HIDDEN && !isset($user_groups[$row['group_id']]))
{
// Lookup group name in language dictionary
if (isset($user->lang['G_' . $row['group_name']]))
{
$row['group_name'] = $user->lang['G_' . $row['group_name']];
}
}
else if (!$auth_hidden_groups && $row['group_type'] == GROUP_HIDDEN && !isset($user_groups[$row['group_id']]))
{ {
// Skip over hidden groups the user cannot see // Skip over hidden groups the user cannot see
continue; continue;
} }
$row['group_name'] = $group_helper->get_name($row['group_name']);
$group_sort[$row['group_id']] = utf8_clean_string($row['group_name']); $group_sort[$row['group_id']] = utf8_clean_string($row['group_name']);
$group_data[$row['group_id']] = $row; $group_data[$row['group_id']] = $row;
} }
@ -1136,7 +1133,7 @@ switch ($mode)
$template->assign_vars(array( $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']), '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']),
'GROUP_NAME' => ($group_row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $group_row['group_name']] : $group_row['group_name'], 'GROUP_NAME' => $group_helper->get_name($row['group_name']),
'GROUP_COLOR' => $group_row['group_colour'], 'GROUP_COLOR' => $group_row['group_colour'],
'GROUP_TYPE' => $user->lang['GROUP_IS_' . $group_row['l_group_type']], 'GROUP_TYPE' => $user->lang['GROUP_IS_' . $group_row['l_group_type']],
'GROUP_RANK' => $user_rank_data['title'], 'GROUP_RANK' => $user_rank_data['title'],
@ -1315,7 +1312,7 @@ switch ($mode)
while ($row = $db->sql_fetchrow($result)) while ($row = $db->sql_fetchrow($result))
{ {
$group_ids[] = $row['group_id']; $group_ids[] = $row['group_id'];
$s_group_select .= '<option value="' . $row['group_id'] . '"' . (($group_selected == $row['group_id']) ? ' selected="selected"' : '') . '>' . (($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name']) . '</option>'; $s_group_select .= '<option value="' . $row['group_id'] . '"' . (($group_selected == $row['group_id']) ? ' selected="selected"' : '') . '>' . $group_helper->get_name($row['group_name']) . '</option>';
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);

View file

@ -182,6 +182,9 @@ $logged_visible_online = $logged_hidden_online = $counter = 0;
/** @var \phpbb\controller\helper $controller_helper */ /** @var \phpbb\controller\helper $controller_helper */
$controller_helper = $phpbb_container->get('controller.helper'); $controller_helper = $phpbb_container->get('controller.helper');
/** @var \phpbb\group\helper $group_helper */
$group_helper = $phpbb_container->get('group_helper');
while ($row = $db->sql_fetchrow($result)) while ($row = $db->sql_fetchrow($result))
{ {
if ($row['user_id'] != ANONYMOUS && !isset($prev_id[$row['user_id']])) if ($row['user_id'] != ANONYMOUS && !isset($prev_id[$row['user_id']]))
@ -467,7 +470,7 @@ while ($row = $db->sql_fetchrow($result))
} }
else else
{ {
$legend .= (($legend != '') ? ', ' : '') . '<a style="color:#' . $row['group_colour'] . '" href="' . append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=group&amp;g=' . $row['group_id']) . '">' . (($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name']) . '</a>'; $legend .= (($legend != '') ? ', ' : '') . '<a style="color:#' . $row['group_colour'] . '" href="' . append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=group&amp;g=' . $row['group_id']) . '">' . $group_helper->get_name($row['group_name']) . '</a>';
} }
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);