mirror of
https://github.com/Piwigo/Piwigo.git
synced 2026-03-28 17:42:57 +01:00
fixes #1162 filter users on a specific group
This commit is contained in:
@@ -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(),
|
||||
)
|
||||
);
|
||||
|
||||
@@ -97,7 +97,8 @@ $(document).ready(function() {
|
||||
<li>
|
||||
<label><p>{$group.NAME}<i><small>{$group.IS_DEFAULT}</small></i><input class="group_selection" name="group_selection[]" type="checkbox" value="{$group.ID}"></p></label>
|
||||
<p class="list_user">{if $group.MEMBERS>0}{$group.MEMBERS}<br>{$group.L_MEMBERS}{else}{$group.MEMBERS}{/if}</p>
|
||||
<a class="icon-lock group_perm" href="{$group.U_PERM}" title="{'Permissions'|@translate}">{'Permissions'|translate}</a>
|
||||
<a class="icon-group group_users" href="{$group.U_USERS}">{'Users'|translate}</a>
|
||||
<a class="icon-lock group_perm" href="{$group.U_PERM}">{'Permissions'|translate}</a>
|
||||
</li>
|
||||
{/foreach}
|
||||
{/if}
|
||||
|
||||
@@ -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_'),
|
||||
|
||||
@@ -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;}
|
||||
|
||||
@@ -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),
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
@@ -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<count($aColumns) ; $i++ )
|
||||
$user_ids = null;
|
||||
|
||||
if (preg_match('/group:(\d+)/', $_REQUEST['sSearch'], $matches))
|
||||
{
|
||||
$sWhere .= $aColumns[$i]." LIKE '%".pwg_db_real_escape_string( $_REQUEST['sSearch'] )."%' OR ";
|
||||
$group_id = $matches[1];
|
||||
|
||||
$query = '
|
||||
SELECT
|
||||
`user_id`
|
||||
FROM '.USER_GROUP_TABLE.'
|
||||
WHERE `group_id` = '.$group_id.'
|
||||
';
|
||||
$user_ids = query2array($query, null, 'user_id');
|
||||
$user_ids[] = -1;
|
||||
|
||||
$_REQUEST['sSearch'] = preg_replace('/group:(\d+)/', '', $_REQUEST['sSearch']);
|
||||
}
|
||||
|
||||
$sWhere = "WHERE (";
|
||||
|
||||
if (is_array($user_ids))
|
||||
{
|
||||
$sWhere.= '`user_id` IN ('.implode(',', $user_ids).') OR ';
|
||||
}
|
||||
|
||||
if ($_REQUEST['sSearch'] != "")
|
||||
{
|
||||
for ( $i=0 ; $i<count($aColumns) ; $i++ )
|
||||
{
|
||||
$sWhere .= $aColumns[$i]." LIKE '%".pwg_db_real_escape_string( $_REQUEST['sSearch'] )."%' OR ";
|
||||
}
|
||||
}
|
||||
|
||||
$sWhere = substr_replace( $sWhere, "", -3 );
|
||||
$sWhere .= ')';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user