From 6aa62e86134211462f74d7f3c13a851e519c9307 Mon Sep 17 00:00:00 2001 From: plegall Date: Tue, 18 Mar 2014 22:23:38 +0000 Subject: merge r27836 from branch 2.6 to trunk bug 3053 fixed: columns "groups" and "privacy level" come back in Piwigo 2.6 user manager (which still needs improvement on filtering options...) git-svn-id: http://piwigo.org/svn/trunk@27837 68402e56-0260-453c-a942-63ccdbb3a9ee --- admin/user_list_backend.php | 42 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) (limited to 'admin/user_list_backend.php') diff --git a/admin/user_list_backend.php b/admin/user_list_backend.php index 9d18f270b..b390ed1ec 100644 --- a/admin/user_list_backend.php +++ b/admin/user_list_backend.php @@ -35,7 +35,7 @@ check_status(ACCESS_ADMINISTRATOR); /* Array of database columns which should be read and sent back to DataTables. Use a space where * you want to insert a non-database field (for example a counter or static image) */ -$aColumns = array('id', 'username', 'status', 'mail_address', 'registration_date'); +$aColumns = array('id', 'username', 'status', 'mail_address', 'recent_period', 'level', 'registration_date'); $aColumns = trigger_change('user_list_columns', $aColumns); /* Indexed column (used for fast and accurate table cardinality) */ @@ -157,9 +157,13 @@ $output = array( "iTotalDisplayRecords" => $iFilteredTotal, "aaData" => array() ); - + +$user_ids = array(); + while ( $aRow = pwg_db_fetch_array( $rResult ) ) { + $user_ids[] = $aRow['id']; + $row = array(); for ( $i=0 ; $i 0) +{ + $groups_of_user = array(); + + $query = ' +SELECT + user_id, + GROUP_CONCAT(name ORDER BY name SEPARATOR ", ") AS groups + FROM '.USER_GROUP_TABLE.' + JOIN '.GROUPS_TABLE.' ON id = group_id + WHERE user_id IN ('.implode(',', $user_ids).') + GROUP BY user_id +;'; + $result = pwg_query($query); + while ($row = pwg_db_fetch_assoc($result)) + { + $groups_of_user[ $row['user_id'] ] = $row['groups']; + } + + $key_replace = array_search('recent_period', $aColumns); + + // replacement + foreach (array_keys($output['aaData']) as $idx) + { + $user_id = $output['aaData'][$idx][0]; + $output['aaData'][$idx][$key_replace] = isset($groups_of_user[$user_id]) ? $groups_of_user[$user_id] : ''; + } +} + $output = trigger_change('after_render_user_list', $output); echo json_encode( $output ); -- cgit v1.2.3