session_user_import.php 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. <?php
  2. /* For licensing terms, see /license.txt */
  3. /**
  4. * @package chamilo.admin
  5. */
  6. $cidReset = true;
  7. require_once '../inc/global.inc.php';
  8. set_time_limit(0);
  9. $this_section = SECTION_PLATFORM_ADMIN;
  10. api_protect_admin_script(true);
  11. $form_sent = 0;
  12. $error_message = ''; // Avoid conflict with the global variable $error_msg (array type) in add_course.conf.php.
  13. if (isset($_GET['action']) && $_GET['action'] == 'show_message') {
  14. $error_message = Security::remove_XSS($_GET['message']);
  15. }
  16. $tool_name = get_lang('ImportUsers');
  17. $session_id = isset($_GET['id_session']) ? intval($_GET['id_session']) : null;
  18. if (empty($session_id)) {
  19. api_not_allowed(true);
  20. }
  21. $interbreadcrumb[] = array('url' => 'index.php', 'name' => get_lang('PlatformAdmin'));
  22. $interbreadcrumb[] = array('url' => "session_list.php", "name" => get_lang('SessionList'));
  23. $interbreadcrumb[] = array('url' => "resume_session.php?id_session=".$session_id,
  24. "name" => get_lang('SessionOverview')
  25. );
  26. if (isset($_POST['formSent']) && $_POST['formSent']) {
  27. if (isset($_FILES['import_file']['tmp_name']) && !empty($_FILES['import_file']['tmp_name'])) {
  28. $form_sent = $_POST['formSent'];
  29. $send_mail = $_POST['sendMail'] ? 1 : 0;
  30. // CSV
  31. $users = Import::csv_to_array($_FILES['import_file']['tmp_name']);
  32. $user_list = array();
  33. foreach ($users as $user_data) {
  34. $username = $user_data['username'];
  35. $user_id = UserManager::get_user_id_from_username($username);
  36. if ($user_id) {
  37. $user_list[] = $user_id;
  38. }
  39. }
  40. if (!empty($user_list)) {
  41. SessionManager::suscribe_users_to_session($session_id, $user_list, null, false, $send_mail);
  42. foreach ($user_list as & $user_id) {
  43. $user_info = api_get_user_info($user_id);
  44. $user_id = $user_info['complete_name'];
  45. }
  46. $error_message = get_lang('UsersAdded').' : '.implode(', ', $user_list);
  47. }
  48. } else {
  49. $error_message = get_lang('NoInputFile');
  50. }
  51. }
  52. // Display the header.
  53. Display::display_header($tool_name);
  54. /*if (count($inserted_in_course) > 1) {
  55. $msg = get_lang('SeveralCoursesSubscribedToSessionBecauseOfSameVisualCode').': ';
  56. foreach ($inserted_in_course as $code => $title) {
  57. $msg .= ' '.$title.' ('.$title.'),';
  58. }
  59. $msg = substr($msg, 0, -1);
  60. Display::display_warning_message($msg);
  61. }*/
  62. echo '<div class="actions">';
  63. echo '<a href="resume_session.php?id_session='.$session_id.'">'.
  64. Display::return_icon('back.png', get_lang('BackTo').' '.get_lang('PlatformAdmin'), '', ICON_SIZE_MEDIUM).
  65. '</a>';
  66. echo '</div>';
  67. if (!empty($error_message)) {
  68. Display::display_normal_message($error_message, false);
  69. }
  70. $form = new FormValidator('import_sessions', 'post', api_get_self().'?id_session='.$session_id, null, array('enctype' => 'multipart/form-data'));
  71. $form->addElement('hidden', 'formSent', 1);
  72. $form->addElement('file', 'import_file', get_lang('ImportCSVFileLocation'));
  73. $form->addElement('checkbox', 'sendMail', null, get_lang('SendMailToUsers'));
  74. $form->addElement('button', 'submit', get_lang('Import'));
  75. $form->display();
  76. ?>
  77. <p><?php echo get_lang('CSVMustLookLike'); ?> :</p>
  78. <blockquote>
  79. <pre>
  80. username;
  81. admin;
  82. teacher;
  83. jmontoya;
  84. </pre>
  85. </blockquote>
  86. <?php
  87. Display::display_footer();