public/main/session/session_user_import.php
<?php
/* For licensing terms, see /license.txt */
use Chamilo\CoreBundle\Component\Utils\ActionIcon;
$cidReset = true;
require_once __DIR__.'/../inc/global.inc.php';
set_time_limit(0);
$this_section = SECTION_PLATFORM_ADMIN;
$session_id = isset($_GET['id_session']) ? intval($_GET['id_session']) : null;
$session = api_get_session_entity($session_id);
SessionManager::protectSession($session);
$form_sent = 0;
$tool_name = get_lang('Import users');
//$interbreadcrumb[] = array('url' => 'index.php', 'name' => get_lang('Administration'));
$interbreadcrumb[] = ['url' => "session_list.php", "name" => get_lang('Session list')];
$interbreadcrumb[] = [
'url' => "resume_session.php?id_session=".$session_id,
"name" => get_lang('Session overview'),
];
if (isset($_POST['formSent']) && $_POST['formSent']) {
if (isset($_FILES['import_file']['tmp_name']) &&
!empty($_FILES['import_file']['tmp_name'])
) {
$form_sent = $_POST['formSent'];
// CSV
$users = Import::csvToArray($_FILES['import_file']['tmp_name']);
$user_list = [];
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)) {
SessionManager::subscribeUsersToSession(
$session_id,
$user_list,
null,
false
);
foreach ($user_list as &$user_id) {
$user_info = api_get_user_info($user_id);
$user_id = $user_info['complete_name'];
}
$error_message = get_lang('Users added').' : '.implode(', ', $user_list);
}
} else {
$error_message = get_lang('No file was sent');
}
}
// Display the header.
Display::display_header($tool_name);
echo '<div class="actions">';
echo '<a href="resume_session.php?id_session='.$session_id.'">'.
Display::getMdiIcon(ActionIcon::BACK, 'ch-tool-icon', null, ICON_SIZE_MEDIUM, get_lang('Back to').' '.get_lang('Administration')).
'</a>';
echo '</div>';
if (!empty($error_message)) {
echo Display::return_message($error_message, 'normal', false);
}
$form = new FormValidator(
'import_sessions',
'post',
api_get_self().'?id_session='.$session_id,
null,
['enctype' => 'multipart/form-data']
);
$form->addElement('hidden', 'formSent', 1);
$form->addElement('file', 'import_file', get_lang('CSV file import location'));
$form->addButtonImport(get_lang('Import'));
$form->display();
$content = '<p>'.get_lang('The CSV file must look like this').':</p>
<blockquote>
<pre>
username;
admin;
teacher;
jmontoya;
</pre>
</blockquote>';
echo Display::prose($content);
Display::display_footer();