Using username instead of user id see BT#4747

skala
Julio Montoya 13 years ago
parent 17ec930cbf
commit 3f6998f09f
  1. 14
      main/admin/session_user_import.php
  2. 14
      main/user/user.php
  3. 51
      main/user/user_import.php

@ -43,8 +43,12 @@ if ($_POST['formSent']) {
// CSV
$users = Import::csv_to_array($_FILES['import_file']['tmp_name']);
$user_list = array();
foreach ($users as $user) {
$user_list[] = $user['id'];
foreach ($users as $user_data) {
$username = $user_data['username'];
$user_id = UserManager::get_user_id_from_username($username);
if ($user_id) {
$user_list[] = $user_id;
}
}
if (!empty($user_list)) {
@ -98,9 +102,9 @@ $form->display();
<blockquote>
<pre>
id;
06;
30;
username;
jdoe;
jmontoya;
</pre>
</blockquote>

@ -101,15 +101,15 @@ if (api_is_allowed_to_edit(null, true)) {
if (api_get_setting('show_email_addresses') == 'true') {
$select_email_condition = ' user.email, ';
if ($sort_by_first_name) {
$a_users[0] = array('id', get_lang('FirstName'), get_lang('LastName'), get_lang('Email'), get_lang('Phone'), get_lang('OfficialCode'), get_lang('Active'));
$a_users[0] = array('id', get_lang('FirstName'), get_lang('LastName'), get_lang('Username'), get_lang('Email'), get_lang('Phone'), get_lang('OfficialCode'), get_lang('Active'));
} else {
$a_users[0] = array('id', get_lang('LastName'), get_lang('FirstName'), get_lang('Email'), get_lang('Phone'), get_lang('OfficialCode'), get_lang('Active'));
$a_users[0] = array('id', get_lang('LastName'), get_lang('FirstName'), get_lang('Username'), get_lang('Email'), get_lang('Phone'), get_lang('OfficialCode'), get_lang('Active'));
}
} else {
if ($sort_by_first_name) {
$a_users[0] = array('id', get_lang('FirstName'), get_lang('LastName'), get_lang('Phone'), get_lang('OfficialCode'), get_lang('Active'));
$a_users[0] = array('id', get_lang('FirstName'), get_lang('LastName'), get_lang('Username'), get_lang('Phone'), get_lang('OfficialCode'), get_lang('Active'));
} else {
$a_users[0] = array('id', get_lang('LastName'), get_lang('FirstName'), get_lang('Phone'), get_lang('OfficialCode'), get_lang('Active'));
$a_users[0] = array('id', get_lang('LastName'), get_lang('FirstName'), get_lang('Username'), get_lang('Phone'), get_lang('OfficialCode'), get_lang('Active'));
}
}
@ -134,7 +134,7 @@ if (api_is_allowed_to_edit(null, true)) {
if (api_get_session_id()) {
$table_session_course_user = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
$sql_query = "SELECT DISTINCT user.user_id, ".($is_western_name_order ? "user.firstname, user.lastname" : "user.lastname, user.firstname").", $select_email_condition phone, user.official_code, active $legal
$sql_query = "SELECT DISTINCT user.user_id, ".($is_western_name_order ? "user.firstname, user.lastname" : "user.lastname, user.firstname").", user.username, $select_email_condition phone, user.official_code, active $legal
FROM $table_session_course_user as session_course_user, $table_users as user ";
if ($_configuration['multiple_access_urls']) {
$sql_query .= ' , '.Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER).' au ';
@ -189,7 +189,7 @@ if (api_is_allowed_to_edit(null, true)) {
// users directly subscribed to the course
$table_course_user = Database :: get_main_table(TABLE_MAIN_COURSE_USER);
$sql_query = "SELECT DISTINCT user.user_id, ".($is_western_name_order ? "user.firstname, user.lastname" : "user.lastname, user.firstname").", $select_email_condition phone, user.official_code, active $legal
$sql_query = "SELECT DISTINCT user.user_id, user.username, ".($is_western_name_order ? "user.firstname, user.lastname" : "user.lastname, user.firstname").", user.username, $select_email_condition phone, user.official_code, active $legal
FROM $table_course_user as course_user, $table_users as user ";
if ($_configuration['multiple_access_urls']) {
$sql_query .= ' , '.Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_USER).' au ';
@ -719,4 +719,4 @@ if (api_get_setting('allow_user_headings') == 'true' && $is_courseAdmin && api_i
}
if ($origin != 'learnpath') {
Display::display_footer();
}
}

@ -46,18 +46,20 @@ if ($form->validate()) {
$invalid_users = array();
$clean_users = array();
$users_in_file = array();
if (!empty($users)) {
foreach ($users as $user) {
$user_info = api_get_user_info($user['id']);
if (!empty($user_info)) {
$clean_users[$user['id']] = $user_info;
$users_in_file[$user['id']] = $user;
if (!empty($users)) {
foreach ($users as $user_data) {
$username = $user_data['username'];
$user_id = UserManager::get_user_id_from_username($username);
$user_info = api_get_user_info($user_id);
if ($user_id && !empty($user_info)) {
$clean_users[$user_id] = $user_info;
} else {
$invalid_users[] = $user['id'];
$invalid_users[] = $user_id;
}
}
if (empty($invalid_users)) {
$type = 'confirmation';
$message = get_lang('ListOfUsersSubscribedToCourse');
@ -71,19 +73,19 @@ if ($form->validate()) {
}
CourseManager::unsubscribe_user($user_ids, $course_code, $session_id);
}
}
foreach ($users as $user) {
CourseManager :: subscribe_user($user['id'], $course_code, STUDENT, $session_id);
}
foreach ($clean_users as $user_info) {
$user_id = $user_info['user_id'];
CourseManager :: subscribe_user($user_id, $course_code, STUDENT, $session_id);
if (empty($session_id)) {
//just to make sure
if (CourseManager :: is_user_subscribed_in_course($user['id'], $course_code)) {
$user_to_show[]= $clean_users[$user['id']]['complete_name'];
if (CourseManager :: is_user_subscribed_in_course($user_id, $course_code)) {
$user_to_show[]= $user_info['complete_name'];
}
} else {
//just to make sure
if (CourseManager :: is_user_subscribed_in_course($user['id'], $course_code, true, $session_id)) {
$user_to_show[]= $clean_users[$user['id']]['complete_name'];
if (CourseManager :: is_user_subscribed_in_course($user_id, $course_code, true, $session_id)) {
$user_to_show[]= $user_info['complete_name'];
}
}
}
@ -115,12 +117,11 @@ if (!empty($message)) {
$form->display();
echo get_lang('CSVMustLookLike');
echo '<blockquote>';
echo '<pre>
"id";
"x";
"y";
</pre>
';
echo '</blockquote>';
echo '<blockquote><pre>
username;
jdoe;
jmontoya;
</pre>
</blockquote>';
Display::display_footer();
Loading…
Cancel
Save