Improving foreach and error reporting see BT#3211

skala
Julio Montoya 14 years ago
parent 5e44c266cc
commit f8389db6e8
  1. 46
      main/user/user_import.php

@ -2,15 +2,17 @@
/* For licensing terms, see /license.txt */ /* For licensing terms, see /license.txt */
$language_file = array('registration', 'admin', 'userInfo'); $language_file = array('registration', 'admin', 'userInfo');
require_once '../inc/global.inc.php';
require_once '../inc/global.inc.php';
require_once api_get_path(LIBRARY_PATH).'import.lib.php'; require_once api_get_path(LIBRARY_PATH).'import.lib.php';
$this_section = SECTION_COURSES; $this_section = SECTION_COURSES;
// notice for unauthorized people. // notice for unauthorized people.
api_protect_course_script(true); api_protect_course_script(true);
$tool_name = get_lang('ImportUsersToACourse'); $tool_name = get_lang('ImportUsersToACourse');
$interbreadcrumb[] = array ("url" => "user.php", "name" => get_lang("Users")); $interbreadcrumb[] = array ("url" => "user.php", "name" => get_lang("Users"));
$interbreadcrumb[] = array ("url" => "#", "name" => get_lang("ImportUsersToACourse")); $interbreadcrumb[] = array ("url" => "#", "name" => get_lang("ImportUsersToACourse"));
@ -35,39 +37,40 @@ $type = '';
if ($form->validate()) { if ($form->validate()) {
if (isset($_FILES['import_file']['size']) && $_FILES['import_file']['size'] !== 0) { if (isset($_FILES['import_file']['size']) && $_FILES['import_file']['size'] !== 0) {
$users = Import::csv_to_array($_FILES['import_file']['tmp_name']); $users = Import::csv_to_array($_FILES['import_file']['tmp_name']);
$invalid_users = array();
$clean_users = array(); $invalid_users = array();
$users_in_file = array(); $clean_users = array();
$users_in_file = array();
if (!empty($users)) { if (!empty($users)) {
foreach($users as $user) { var_dump($users);
foreach ($users as $user) {
$user_info = api_get_user_info($user['id']); $user_info = api_get_user_info($user['id']);
$clean_users[$user['id']] = $user_info; if (!empty($user_info)) {
$users_in_file[$user['id']] = $user; $clean_users[$user['id']] = $user_info;
} $users_in_file[$user['id']] = $user;
} else {
foreach($users as $user) {
if (!UserManager::is_user_id_valid($user['id'])) {
$invalid_users[] = $user['id']; $invalid_users[] = $user['id'];
} }
} }
//var_dump($clean_users);
if (empty($invalid_users)) { if (empty($invalid_users)) {
$type = 'confirmation'; $type = 'confirmation';
$message = get_lang('ListOfUsersSubscribedToCourse'); $message = get_lang('ListOfUsersSubscribedToCourse');
foreach($users as $user) { foreach ($users as $user) {
$result = CourseManager :: subscribe_user($user['id'], $course_code, STUDENT); $result = CourseManager :: subscribe_user($user['id'], $course_code, STUDENT);
//just to make sure //just to make sure
if (CourseManager :: is_user_subscribed_in_course($user['id'], $course_code)) { if (CourseManager :: is_user_subscribed_in_course($user['id'], $course_code)) {
$user_to_show []= $clean_users[$user['id']]['complete_name']; $user_to_show[]= $clean_users[$user['id']]['complete_name'];
} }
} }
} else { } else {
$message = get_lang('CheckUsersWithId'); $message = get_lang('CheckUsersWithId');
$type = 'warning'; $type = 'warning';
foreach($invalid_users as $invalid_user) { foreach ($invalid_users as $invalid_user) {
$user_to_show []= $invalid_user; $user_to_show[]= $invalid_user;
} }
} }
} }
@ -75,11 +78,16 @@ if ($form->validate()) {
} }
Display::display_header(); Display::display_header();
if (!empty($message)) { if (!empty($message)) {
if ($type == 'confirmation') { if (!empty($user_to_show)) {
Display::display_confirmation_message($message.': '.implode(', ', $user_to_show)); if ($type == 'confirmation') {
Display::display_confirmation_message($message.': <br />'.implode(', ', $user_to_show), false);
} else {
Display::display_warning_message($message.': '.implode(', ', $user_to_show));
}
} else { } else {
Display::display_warning_message($message.': '.implode(', ', $user_to_show)); Display::display_error_message(get_lang('ErrorsWhenImportingFile'));
} }
} }

Loading…
Cancel
Save