Bug #3646 and Issue #306 - Groups tool: Fixing person name order and sorting to be dependable on the internationalization settings. Other corrections about sortable tables with person names: Assigning the default (initial) field for sorting to be dependable on the internationalization settings.

skala
Ivan Tcholakov 17 years ago
parent 3185aba8b4
commit 27e71d5b8b
  1. 2
      main/admin/ldap_users_list.php
  2. 2
      main/admin/user_list.php
  3. 2
      main/gradebook/lib/fe/flatviewtable.class.php
  4. 2
      main/gradebook/lib/fe/resulttable.class.php
  5. 6
      main/group/group.php
  6. 2
      main/group/group_category.php
  7. 2
      main/group/group_creation.php
  8. 30
      main/group/group_edit.php
  9. 2
      main/group/group_overview.php
  10. 44
      main/group/group_space.php

@ -237,7 +237,7 @@ if (isset($_GET['id_session']))
// Create a sortable table with user-data
$parameters['sec_token'] = Security::get_token();
$table = new SortableTable('users', 'ldap_get_number_of_users', 'ldap_get_user_data',2);
$table = new SortableTable('users', 'ldap_get_number_of_users', 'ldap_get_user_data', (api_is_western_name_order() xor api_sort_by_first_name()) ? 3 : 2);
$table->set_additional_parameters($parameters);
$table->set_header(0, '', false);
$table->set_header(1, get_lang('LoginName'));

@ -724,7 +724,7 @@ else
}
// Create a sortable table with user-data
$parameters['sec_token'] = Security::get_token();
$table = new SortableTable('users', 'get_number_of_users', 'get_user_data',2);
$table = new SortableTable('users', 'get_number_of_users', 'get_user_data', (api_is_western_name_order() xor api_sort_by_first_name()) ? 3 : 2);
$table->set_additional_parameters($parameters);
$table->set_header(0, '', false);
$table->set_header(1, get_lang('OfficialCode'));

@ -44,7 +44,7 @@ class FlatViewTable extends SortableTable
* Constructor
*/
function FlatViewTable ($selectcat, $users= array (), $evals= array (), $links= array (), $limit_enabled = false, $offset = 0, $addparams = null) {
parent :: __construct ('flatviewlist', null, null, 0);
parent :: __construct ('flatviewlist', null, null, (api_is_western_name_order() xor api_sort_by_first_name()) ? 1 : 0);
$this->datagen = new FlatViewDataGenerator($users, $evals, $links);
$this->selectcat = $selectcat;
$this->limit_enabled = $limit_enabled;

@ -43,7 +43,7 @@ class ResultTable extends SortableTable
* Constructor
*/
function ResultTable ($evaluation, $results = array(), $iscourse, $addparams = null,$forprint = false) {
parent :: __construct ('resultlist', null, null, 1);
parent :: __construct ('resultlist', null, null, (api_is_western_name_order() xor api_sort_by_first_name()) ? 2 : 1);
$this->datagen = new ResultsDataGenerator($evaluation, $results, true);

@ -345,17 +345,17 @@ foreach ($group_cats as $index => $category)
$tutor = api_get_user_info($tutor_id);
if (api_get_setting("show_email_addresses") == "true")
{
$tutor_info .= Display::encrypted_mailto_link($tutor['mail'],$tutor['firstName'].' '.$tutor['lastName']).', ';
$tutor_info .= Display::encrypted_mailto_link($tutor['mail'], api_get_person_name($tutor['firstName'], $tutor['lastName'])).', ';
}
else
{
if (api_is_allowed_to_edit()=='true')
{
$tutor_info .= Display::encrypted_mailto_link($tutor['mail'],$tutor['firstName'].' '.$tutor['lastName']).', ';
$tutor_info .= Display::encrypted_mailto_link($tutor['mail'], api_get_person_name($tutor['firstName'], $tutor['lastName'])).', ';
}
else
{
$tutor_info .= $tutor['firstName'].' '.$tutor['lastName'].', ';
$tutor_info .= api_get_person_name($tutor['firstName'], $tutor['lastName']).', ';
}
}
}

@ -224,7 +224,7 @@ Display :: display_header($nameTools, "Group");
// actions bar
echo '<div class="actions">';
echo '<a href="group.php">'.Display::return_icon('back.png',get_lang('BackTo').' '.strtolower(get_lang('GroupOverview'))).' '.get_lang('BackTo').' '.strtolower(get_lang('GroupOverview')).'</a>';
echo '<a href="group.php">'.Display::return_icon('back.png',get_lang('BackTo').' '.api_strtolower(get_lang('GroupOverview'))).' '.get_lang('BackTo').' '.api_strtolower(get_lang('GroupOverview')).'</a>';
echo '</div>';
$defaults = $category;

@ -185,7 +185,7 @@ elseif (isset ($_POST['number_of_groups']))
$tutor_options[0] = get_lang('GroupNoTutor');
foreach ($tutors as $index => $tutor)
{
$tutor_options[$tutor['user_id']] = $tutor['firstname'].' '.$tutor['lastname'];
$tutor_options[$tutor['user_id']] = api_get_person_name($tutor['firstname'], $tutor['lastname']);
}
$cat_options = array ();
*/

@ -79,15 +79,29 @@ if (!api_is_allowed_to_edit(false,true)) {
*/
function sort_users($user_a, $user_b) {
$cmp = api_strcmp($user_a['firstname'], $user_b['firstname']);
if ($cmp !== 0) {
return $cmp;
if (api_sort_by_first_name()) {
$cmp = api_strcmp($user_a['firstname'], $user_b['firstname']);
if ($cmp !== 0) {
return $cmp;
} else {
$cmp = api_strcmp($user_a['lastname'], $user_b['lastname']);
if ($cmp !== 0) {
return $cmp;
} else {
return api_strcmp($user_a['username'], $user_b['username']);
}
}
} else {
$cmp = api_strcmp($user_a['lastname'], $user_b['lastname']);
if ($cmp !== 0) {
return $cmp;
} else {
return api_strcmp($user_a['username'], $user_b['username']);
$cmp = api_strcmp($user_a['firstname'], $user_b['firstname']);
if ($cmp !== 0) {
return $cmp;
} else {
return api_strcmp($user_a['username'], $user_b['username']);
}
}
}
}
@ -137,7 +151,7 @@ $form->addElement('textarea', 'description', get_lang('GroupDescription'), array
//$possible_tutors[0] = get_lang('GroupNoTutor');
//foreach ($tutors as $index => $tutor)
//{
// $possible_tutors[$tutor['user_id']] = $tutor['lastname'].' '.$tutor['firstname'];
// $possible_tutors[$tutor['user_id']] = api_get_person_name($tutor['lastname'], $tutor['firstname']);
//}
//$group = array ();
//$group[] = & $form->createElement('select', 'tutor_id', null, $possible_tutors);
@ -201,7 +215,7 @@ usort($complete_user_list, 'sort_users');
$possible_users = array ();
foreach ($complete_user_list as $index => $user) {
$possible_users[$user['user_id']] = $user['lastname'].' '.$user['firstname'].' ('.$user['username'].')';
$possible_users[$user['user_id']] = api_get_person_name($user['firstname'], $user['lastname']).' ('.$user['username'].')';
}
//print_r($complete_user_list2);
@ -210,7 +224,7 @@ $group_tutor_list = GroupManager :: get_subscribed_tutors($current_group['id']);
$selected_users = array ();
$selected_tutors = array();
foreach ($group_tutor_list as $index => $user) {
//$possible_users[$user['user_id']] = $user['lastname'].' '.$user['firstname'];
//$possible_users[$user['user_id']] = api_get_person_name($user['firstname'], .$user['lastname']);
$selected_tutors[] = $user['user_id'];
}
@ -232,7 +246,7 @@ $group_tutors_element->setElementTemplate('
$group_member_list = GroupManager :: get_subscribed_users($current_group['id']);
$selected_users = array ();
foreach ($group_member_list as $index => $user) {
//$possible_users[$user['user_id']] = $user['lastname'].' '.$user['firstname'];
//$possible_users[$user['user_id']] = api_get_person_name($user['firstname'], $user['lastname']);
$selected_users[] = $user['user_id'];
}
$group_members_element = $form->addElement('advmultiselect', 'group_members', get_lang('GroupMembers'), $possible_users, 'style="width: 225px;"');

@ -140,7 +140,7 @@ foreach($categories as $index => $category)
foreach($users as $index => $user)
{
$user_info = api_get_user_info($user);
echo '<li>'.$user_info['firstName'].' '.$user_info['lastName'].'</li>';
echo '<li>'.api_get_person_name($user_info['firstName'], $user_info['lastName']).'</li>';
}
echo '</ul>';
echo '</li>';

@ -288,8 +288,8 @@ else
$image_path = UserManager::get_user_picture_path_by_id($tutor['user_id'],'web',false, true);
$image_repository = $image_path['dir'];
$existing_image = $image_path['file'];
$photo= '<img src="'.$image_repository.$existing_image.'" align="absbottom" alt="'.$tutor['firstname'].' '.$tutor['lastname'].'" width="32" height="32" title="'.$tutor['firstname'].' '.$tutor['lastname'].'" />';
$tutor_info .= "<div style='margin-bottom: 5px;'><a href='../user/userInfo.php?origin=".$my_origin."&amp;uInfo=".$tutor['user_id']."'>".$photo."&nbsp;".$tutor['firstname']." ".$tutor['lastname']."</a></div>";
$photo= '<img src="'.$image_repository.$existing_image.'" align="absbottom" alt="'.api_get_person_name($tutor['firstname'], $tutor['lastname']).'" width="32" height="32" title="'.api_get_person_name($tutor['firstname'], $tutor['lastname']).'" />';
$tutor_info .= "<div style='margin-bottom: 5px;'><a href='../user/userInfo.php?origin=".$my_origin."&amp;uInfo=".$tutor['user_id']."'>".$photo."&nbsp;".api_get_person_name($tutor['firstname'], $tutor['lastname'])."</a></div>";
}
}
@ -304,15 +304,20 @@ echo '<br/>';
*/
echo '<b>'.get_lang("GroupMembers").':</b>';
$table = new SortableTable('group_users', 'get_number_of_group_users', 'get_group_user_data',2);
$table = new SortableTable('group_users', 'get_number_of_group_users', 'get_group_user_data', (api_is_western_name_order() xor api_sort_by_first_name()) ? 2 : 1);
$my_cidreq=isset($_GET['cidReq']) ? Security::remove_XSS($_GET['cidReq']) : '';
$my_origin=isset($_GET['origin']) ? Security::remove_XSS($_GET['origin']) : '';
$my_gidreq=isset($_GET['gidReq']) ? Security::remove_XSS($_GET['gidReq']) : '';
$parameters = array('cidReq' => $my_cidreq, 'origin'=> $my_origin, 'gidReq' => $my_gidreq);
$table->set_additional_parameters($parameters);
$table->set_header(0, '');
$table->set_header(1, get_lang('LastName'));
$table->set_header(2, get_lang('FirstName'));
if (api_is_western_name_order()) {
$table->set_header(1, get_lang('FirstName'));
$table->set_header(2, get_lang('LastName'));
} else {
$table->set_header(1, get_lang('LastName'));
$table->set_header(2, get_lang('FirstName'));
}
if (api_get_setting("show_email_addresses") == "true")
{
@ -380,8 +385,13 @@ function get_group_user_data($from, $number_of_items, $column, $direction)
$sql = "SELECT
user.user_id AS col0,
user.lastname AS col1,
user.firstname AS col2,
".(api_is_western_name_order() ?
"user.firstname AS col1,
user.lastname AS col2,"
:
"user.lastname AS col1,
user.firstname AS col2,"
)."
user.email AS col3
FROM ".$table_user." user, ".$table_group_user." group_rel_user
WHERE group_rel_user.user_id = user.user_id
@ -395,8 +405,13 @@ function get_group_user_data($from, $number_of_items, $column, $direction)
{
$sql = "SELECT
user.user_id AS col0,
user.lastname AS col1,
user.firstname AS col2,
".(api_is_western_name_order() ?
"user.firstname AS col1,
user.lastname AS col2,"
:
"user.lastname AS col1,
user.firstname AS col2,"
)."
user.email AS col3
FROM ".$table_user." user, ".$table_group_user." group_rel_user
WHERE group_rel_user.user_id = user.user_id
@ -408,8 +423,13 @@ function get_group_user_data($from, $number_of_items, $column, $direction)
{
$sql = "SELECT
user.user_id AS col0,
user.lastname AS col1,
user.firstname AS col2
". (api_is_western_name_order() ?
"user.firstname AS col1,
user.lastname AS col2,"
:
"user.lastname AS col1,
user.firstname AS col2,"
)."
FROM ".$table_user." user, ".$table_group_user." group_rel_user
WHERE group_rel_user.user_id = user.user_id
AND group_rel_user.group_id = '".Database::escape_string($current_group['id'])."'";
@ -454,7 +474,7 @@ function user_icon_filter($user_id)
$image_path = UserManager::get_user_picture_path_by_id($user_id,'web',false, true);
$image_repository = $image_path['dir'];
$existing_image = $image_path['file'];
$photo= '<center><img src="'.$image_repository.$existing_image.'" alt="'.$userinfo['lastname'].' '.$userinfo['firstname'].'" width="22" height="22" title="'.$userinfo['lastname'].' '.$userinfo['firstname'].'" /></center>';
$photo= '<center><img src="'.$image_repository.$existing_image.'" alt="'.api_get_person_name($userinfo['firstname'], $userinfo['lastname']).'" width="22" height="22" title="'.api_get_person_name($userinfo['firstname'], $userinfo['lastname']).'" /></center>';
return "<a href='../user/userInfo.php?origin=".$origin."&amp;uInfo=".$user_id."'>".$photo;
}

Loading…
Cancel
Save