Skip to content

Commit

Permalink
merge r27836 from branch 2.6 to trunk
Browse files Browse the repository at this point in the history
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
  • Loading branch information
plegall committed Mar 18, 2014
1 parent 7defc05 commit 6aa62e8
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 2 deletions.
2 changes: 2 additions & 0 deletions admin/themes/default/template/user_list.tpl
Expand Up @@ -880,6 +880,8 @@ span.infos, span.errors {background-image:none; padding:2px 5px; margin:0;border
<th>{'Username'|@translate}</th>
<th>{'Status'|@translate}</th>
<th>{'Email address'|@translate}</th>
<th>{'Groups'|@translate}</th>
<th>{'Privacy level'|@translate}</th>
<th>{'registration date'|@translate}</th>
</tr>
</thead>
Expand Down
42 changes: 40 additions & 2 deletions admin/user_list_backend.php
Expand Up @@ -35,7 +35,7 @@
/* 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) */
Expand Down Expand Up @@ -157,16 +157,24 @@
"iTotalDisplayRecords" => $iFilteredTotal,
"aaData" => array()
);


$user_ids = array();

while ( $aRow = pwg_db_fetch_array( $rResult ) )
{
$user_ids[] = $aRow['id'];

$row = array();
for ( $i=0 ; $i<count($aColumns) ; $i++ )
{
if ( $aColumns[$i] == "status" )
{
$row[] = l10n('user_status_'.$aRow[ $aColumns[$i] ]);
}
else if ( $aColumns[$i] == "level" )
{
$row[] = $aRow[ $aColumns[$i] ] == 0 ? '' : l10n(sprintf('Level %d', $aRow[ $aColumns[$i] ]));
}
else if ( $aColumns[$i] != ' ' )
{
/* General output */
Expand All @@ -176,6 +184,36 @@
$output['aaData'][] = $row;
}

// replace "recent_period" by the list of groups
if (count($user_ids) > 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 );
Expand Down

0 comments on commit 6aa62e8

Please sign in to comment.