group overview: sorting of users

skala
Patrick Cool 15 years ago
parent f70da88810
commit 60eadf9196
  1. 4
      main/group/group_overview.php
  2. 19
      main/inc/lib/groupmanager.lib.php

@ -68,7 +68,7 @@ if( isset($_GET['action']))
$data = array();
foreach($groups as $index => $group)
{
$users = GroupManager::get_users($group['id']);
$users = GroupManager::get_users($group['id'],api_get_setting('user_order_by'));
foreach($users as $index => $user)
{
$row = array();
@ -136,7 +136,7 @@ foreach($categories as $index => $category)
echo '<li>';
echo stripslashes($group['name']);
echo '<ul>';
$users = GroupManager::get_users($group['id']);
$users = GroupManager::get_users($group['id'],api_get_setting('user_order_by'));
foreach($users as $index => $user)
{
$user_info = api_get_user_info($user);

@ -768,11 +768,22 @@ class GroupManager {
* Get all users from a given group
* @param int $group_id The group
*/
public static function get_users ($group_id) {
public static function get_users ($group_id, $order_by='', $direction='ASC') {
// Database table definition
$group_user_table = Database :: get_course_table(TABLE_GROUP_USER);
$group_id = Database::escape_string($group_id);
$sql = "SELECT user_id FROM $group_user_table WHERE group_id = $group_id";
$res = Database::query($sql,__FILE__,__LINE__);
$table_user = Database::get_main_table(TABLE_MAIN_USER);
if (!empty($order_by) AND in_array($order_by, array('lastname', 'firstname', 'username', 'email', 'official_code'))){
$order_by_sql = 'ORDER BY user.'.$order_by.' '.$direction;
} else {
$order_by_sql = '';
}
$sql = "SELECT user.user_id FROM $group_user_table group_rel_user, $table_user user
WHERE group_rel_user.group_id = '".Database::escape_string($group_id)."'
AND group_rel_user.user_id = user.user_id
$order_by_sql";
$res = api_sql_query($sql,__FILE__,__LINE__);
$users = array ();
while ($obj = Database::fetch_object($res)) {
$users[] = $obj->user_id;

Loading…
Cancel
Save