diff --git a/admin/group_list.php b/admin/group_list.php
index 7e7a3bd9f..cf2385067 100644
--- a/admin/group_list.php
+++ b/admin/group_list.php
@@ -402,6 +402,7 @@ $result = pwg_query($query);
$admin_url = get_root_url().'admin.php?page=';
$perm_url = $admin_url.'group_perm&group_id=';
+$users_url = $admin_url.'user_list&group=';
$del_url = $admin_url.'group_list&delete=';
$toggle_is_default_url = $admin_url.'group_list&toggle_is_default=';
@@ -431,6 +432,7 @@ SELECT u.'. $conf['user_fields']['username'].' AS username
'MEMBERS' => l10n_dec('%d member', '%d members', count($members)),
'U_DELETE' => $del_url.$row['id'].'&pwg_token='.get_pwg_token(),
'U_PERM' => $perm_url.$row['id'],
+ 'U_USERS' => $users_url.$row['id'],
'U_ISDEFAULT' => $toggle_is_default_url.$row['id'].'&pwg_token='.get_pwg_token(),
)
);
diff --git a/admin/themes/default/template/group_list.tpl b/admin/themes/default/template/group_list.tpl
index 6f0291f3c..22d85a0d6 100644
--- a/admin/themes/default/template/group_list.tpl
+++ b/admin/themes/default/template/group_list.tpl
@@ -97,7 +97,8 @@ $(document).ready(function() {
{if $group.MEMBERS>0}{$group.MEMBERS}
{$group.L_MEMBERS}{else}{$group.MEMBERS}{/if}
- {'Permissions'|translate}
+ {'Users'|translate}
+ {'Permissions'|translate}
{/foreach}
{/if}
diff --git a/admin/themes/default/template/user_list.tpl b/admin/themes/default/template/user_list.tpl
index 79abbe985..cd4aa1d42 100644
--- a/admin/themes/default/template/user_list.tpl
+++ b/admin/themes/default/template/user_list.tpl
@@ -617,6 +617,9 @@ jQuery(document).on('click', '.close-user-details', function(e) {
serverMethod: "POST",
ajaxSource: "admin/user_list_backend.php",
pagingType: "simple",
+{/literal}{if (isset($filter_group))}{literal}
+ "oSearch": {"sSearch": "group:{/literal}{$filter_group}{literal}"},
+{/literal}{/if}{literal}
language: {
processing: "{/literal}{'Loading...'|translate|escape:'javascript'}{literal}",
lengthMenu: sprintf("{/literal}{'Show %s users'|translate|escape:'javascript'}{literal}", '_MENU_'),
diff --git a/admin/themes/default/theme.css b/admin/themes/default/theme.css
index 2974f97ba..5fb923716 100644
--- a/admin/themes/default/theme.css
+++ b/admin/themes/default/theme.css
@@ -1492,8 +1492,13 @@ p.list_user {
}
a.group_perm {
position: absolute;
- bottom: 5px;
- right: 5px;
+ bottom: 10px;
+ right: 15px;
+}
+a.group_users {
+ position: absolute;
+ bottom: 10px;
+ left: 15px;
}
#userList .openUserDetails {visibility:hidden;}
diff --git a/admin/user_list.php b/admin/user_list.php
index 1de17cabe..c9ac4fae1 100644
--- a/admin/user_list.php
+++ b/admin/user_list.php
@@ -10,6 +10,8 @@
* Add users and manage users list
*/
+check_input_parameter('group', $_GET, false, PATTERN_ID);
+
// +-----------------------------------------------------------------------+
// | tabs |
// +-----------------------------------------------------------------------+
@@ -117,6 +119,7 @@ $template->assign(
'protected_users' => implode(',', array_unique($protected_users)),
'password_protected_users' => implode(',', array_unique($password_protected_users)),
'guest_user' => $conf['guest_id'],
+ 'filter_group' => (isset($_GET['group']) ? $_GET['group'] : null),
)
);
diff --git a/admin/user_list_backend.php b/admin/user_list_backend.php
index 27c7fbb3f..6a7ef4442 100644
--- a/admin/user_list_backend.php
+++ b/admin/user_list_backend.php
@@ -16,6 +16,8 @@ check_status(ACCESS_ADMINISTRATOR);
check_input_parameter('iDisplayStart', $_REQUEST, false, PATTERN_ID);
check_input_parameter('iDisplayLength', $_REQUEST, false, PATTERN_ID);
+
+
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Easy set variables
*/
@@ -91,11 +93,39 @@ if ( isset( $_REQUEST['iSortCol_0'] ) )
$sWhere = "";
if ( $_REQUEST['sSearch'] != "" )
{
- $sWhere = "WHERE (";
- for ( $i=0 ; $i