diff --git a/phpBB/admin/admin_permissions.php b/phpBB/admin/admin_permissions.php index f83a203abc..504c5e560c 100644 --- a/phpBB/admin/admin_permissions.php +++ b/phpBB/admin/admin_permissions.php @@ -149,7 +149,8 @@ if ( !empty($forum_id) || $mode == 'administrators' ) } $sql = "SELECT group_id, group_name - FROM " . GROUPS_TABLE; + FROM " . GROUPS_TABLE . " + ORDER BY group_name"; $result = $db->sql_query($sql); $group_list = ''; @@ -241,10 +242,10 @@ if ( !empty($forum_id) || $mode == 'administrators' ) - + -     &mode=searchuser&form=2&field=newuser', '_phpbbsearch', 'HEIGHT=500,resizable=yes,scrollbars=yes,WIDTH=650');return false;" /> +     &mode=searchuser&form=2&field=entries', '_phpbbsearch', 'HEIGHT=500,resizable=yes,scrollbars=yes,WIDTH=650');return false;" /> @@ -253,10 +254,10 @@ if ( !empty($forum_id) || $mode == 'administrators' ) - + -   +   @@ -281,10 +282,15 @@ if ( !empty($forum_id) || $mode == 'administrators' ) } $db->sql_freeresult($result); - $where_sql = ''; - foreach ( $HTTP_POST_VARS['entries'] as $id ) + if ( $HTTP_POST_VARS['type'] == 'user' && !empty($HTTP_POST_VARS['new']) ) { - $where_sql .= ( ( $where_sql != '' ) ? ', ' : '' ) . intval($id); + $HTTP_POST_VARS['entries'] = explode("\n", $HTTP_POST_VARS['entries']); + } + + $where_sql = ''; + foreach ( $HTTP_POST_VARS['entries'] as $value ) + { + $where_sql .= ( ( $where_sql != '' ) ? ', ' : '' ) . ( ( $HTTP_POST_VARS['type'] == 'user' && !empty($HTTP_POST_VARS['new']) ) ? '\'' . $value . '\'' : intval($value) ); } switch ( $HTTP_POST_VARS['type'] ) @@ -292,38 +298,27 @@ if ( !empty($forum_id) || $mode == 'administrators' ) case 'group': $l_type = 'Group'; - $sql = "SELECT g.group_id, g.group_name, o.auth_option, a.auth_allow_deny - FROM " . GROUPS_TABLE . " g, " . ACL_GROUPS_TABLE . " a, " . ACL_OPTIONS_TABLE . " o - WHERE o.auth_type LIKE '$type_sql' - AND a.auth_option_id = o.auth_option_id - $forum_sql - AND g.group_id = a.group_id - AND g.group_id IN ($where_sql) - ORDER BY g.group_name ASC"; + $sql = ( empty($HTTP_POST_VARS['new']) ) ? "SELECT g.group_id AS id, g.group_name AS name, o.auth_option, a.auth_allow_deny FROM " . GROUPS_TABLE . " g, " . ACL_GROUPS_TABLE . " a, " . ACL_OPTIONS_TABLE . " o WHERE o.auth_type LIKE '$type_sql' AND a.auth_option_id = o.auth_option_id $forum_sql AND g.group_id = a.group_id AND g.group_id IN ($where_sql) ORDER BY g.group_name ASC" : "SELECT group_id AS id, group_name AS name FROM " . GROUPS_TABLE . " WHERE group_id IN ($where_sql) ORDER BY group_name ASC"; break; case 'user': $l_type = 'User'; - $sql = "SELECT u.user_id, u.username, o.auth_option, a.auth_allow_deny - FROM " . USERS_TABLE . " u, " . ACL_USERS_TABLE . " a, " . ACL_OPTIONS_TABLE . " o - WHERE o.auth_type LIKE '$type_sql' - AND a.auth_option_id = o.auth_option_id - $forum_sql - AND u.user_id = a.user_id - AND u.user_id IN ($where_sql) - ORDER BY u.username, u.user_regdate ASC"; + $sql = ( empty($HTTP_POST_VARS['new']) ) ? "SELECT u.user_id AS id, u.username AS name, o.auth_option, a.auth_allow_deny FROM " . USERS_TABLE . " u, " . ACL_USERS_TABLE . " a, " . ACL_OPTIONS_TABLE . " o WHERE o.auth_type LIKE '$type_sql' AND a.auth_option_id = o.auth_option_id $forum_sql AND u.user_id = a.user_id AND u.user_id IN ($where_sql) ORDER BY u.username, u.user_regdate ASC" : "SELECT user_id AS id, username AS name FROM " . USERS_TABLE . " WHERE username IN ($where_sql) ORDER BY username, user_regdate ASC"; break; } $result = $db->sql_query($sql); $ug = '';; + $ug_hidden = ''; $auth = array(); while ( $row = $db->sql_fetchrow($result) ) { - $ug_name = ( ( $row['group_name'] == 'ADMINISTRATORS' ) ? $lang['Admin_group'] : ( ( $HTTP_POST_VARS['type'] == 'user' ) ? $row['username'] : $row['group_name'] ) ); - $ug .= ( !strstr($ug, $ug_name) ) ? $ug_name . "\n" : ''; + $ug_test = ( $row['name'] == 'ADMINISTRATORS' ) ? $lang['Admin_group'] : $row['name']; + $ug .= ( !strstr($ug, $ug_test) ) ? $ug_test . "\n" : ''; + $ug_test = ''; + $ug_hidden = ( !strstr($ug_hidden, $ug_test) ) ? $ug_test : ''; $auth[$row['auth_option']] = ( isset($auth_group[$row['auth_option']]) ) ? min($auth_group[$row['auth_option']], $row['auth_allow_deny']) : $row['auth_allow_deny']; } @@ -343,7 +338,7 @@ if ( !empty($forum_id) || $mode == 'administrators' ) { $row_class = ( $row_class == 'row1' ) ? 'row2' : 'row1'; - $l_can_cell = ( !empty($lang['acl_admin_' . $auth_options[$i]['auth_option']]) ) ? $lang['acl_admin_' . $auth_options[$i]['auth_option']] : $auth_options[$i]['auth_option']; + $l_can_cell = ( !empty($lang['acl_' . $type_sql . '_' . $auth_options[$i]['auth_option']]) ) ? $lang['acl_' . $type_sql . '_' . $auth_options[$i]['auth_option']] : $auth_options[$i]['auth_option']; $can_type = ( !empty($auth[$auth_options[$i]['auth_option']]) ) ? ' checked="checked"' : ''; $cannot_type = ( empty($auth[$auth_options[$i]['auth_option']]) ) ? ' checked="checked"' : ''; @@ -363,10 +358,10 @@ if ( !empty($forum_id) || $mode == 'administrators' ) - + -    +