session_user_import.php 3.5 KB

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