Add SessionId in export + accept SessionId in DRH session import

Accepts username with comma separated in

main/session/session_import_drh.php
pull/3859/head
Julio Montoya 5 years ago
parent 2c97379de1
commit 79347171a5
  1. 49
      main/inc/lib/sessionmanager.lib.php
  2. 10
      main/session/session_export.php
  3. 19
      main/session/session_import_drh.php

@ -2091,7 +2091,7 @@ class SessionManager
FROM $tbl_session_rel_course_rel_user
WHERE session_id = $sessionId AND c_id = $courseId AND status<>2";
$rs = Database::query($sql);
list($nbr_users) = Database::fetch_array($rs);
[$nbr_users] = Database::fetch_array($rs);
// update the session-course relation to add the users total
$sql = "UPDATE $tbl_session_rel_course SET nbr_users = $nbr_users
WHERE session_id = $sessionId AND c_id = $courseId";
@ -2315,7 +2315,7 @@ class SessionManager
c_id = $courseId AND
status <> 2";
$result = Database::query($sql);
list($userCount) = Database::fetch_array($result);
[$userCount] = Database::fetch_array($result);
// update the session-course relation to add the users total
$sql = "UPDATE $tableSessionCourse
@ -2450,7 +2450,7 @@ class SessionManager
FROM $tbl_session_rel_course_rel_user
WHERE session_id = $session_id AND c_id = $courseId AND status <> 2";
$rs = Database::query($sql);
list($nbr_users) = Database::fetch_array($rs);
[$nbr_users] = Database::fetch_array($rs);
// update the session-course relation to add the users total
$sql = "UPDATE $tbl_session_rel_course
SET nbr_users = $nbr_users
@ -6786,23 +6786,42 @@ class SessionManager
if (!empty($list)) {
$userSessionList = [];
foreach ($list as $data) {
$userInfo = api_get_user_info_from_username($data['Username']);
$sessionInfo = self::get_session_by_name($data['SessionName']);
$sessionInfo = [];
if (isset($data['SessionId'])) {
$sessionInfo = api_get_session_info($data['SessionId']);
}
if (empty($sessionInfo)) {
Display::addFlash(Display::return_message(get_lang('NoSessionId').' - '.$data['SessionName'], 'warning'));
if (isset($data['SessionName']) && empty($sessionInfo)) {
$sessionInfo = self::get_session_by_name($data['SessionName']);
}
if (empty($userInfo)) {
Display::addFlash(Display::return_message(get_lang('UserDoesNotExist').' - '.$data['Username'], 'warning'));
if (empty($sessionInfo)) {
$sessionData = isset($data['SessionName']) ? $data['SessionName'] : $data['SessionId'];
Display::addFlash(
Display::return_message(get_lang('SessionNotFound').' - '.$sessionData, 'warning')
);
continue;
}
if (!empty($userInfo) && !empty($sessionInfo)) {
$userSessionList[$userInfo['user_id']]['session_list'][] = [
'session_id' => $sessionInfo['id'],
'session_info' => $sessionInfo,
];
$userSessionList[$userInfo['user_id']]['user_info'] = $userInfo;
$userList = explode(',', $data['Username']);
foreach ($userList as $username) {
$userInfo = api_get_user_info_from_username($username);
if (empty($userInfo)) {
Display::addFlash(
Display::return_message(get_lang('UserDoesNotExist').' - '.$username, 'warning')
);
continue;
}
if (!empty($userInfo) && !empty($sessionInfo)) {
$userSessionList[$userInfo['user_id']]['session_list'][] = [
'session_id' => $sessionInfo['id'],
'session_info' => $sessionInfo,
];
$userSessionList[$userInfo['user_id']]['user_info'] = $userInfo;
}
}
}

@ -1,9 +1,7 @@
<?php
/* For licensing terms, see /license.txt */
/**
* @package chamilo.admin
*/
$cidReset = true;
require_once __DIR__.'/../inc/global.inc.php';
@ -13,7 +11,7 @@ $this_section = SECTION_PLATFORM_ADMIN;
api_protect_admin_script(true);
$session_id = isset($_GET['session_id']) ? intval($_GET['session_id']) : 0;
$session_id = isset($_GET['session_id']) ? (int) $_GET['session_id'] : 0;
$formSent = 0;
$errorMsg = '';
@ -82,6 +80,7 @@ if (isset($_POST['formSent'])) {
$archiveFile = 'export_sessions_'.$session_id.'_'.api_get_local_time();
$cvs = true;
$sessionListToExport[] = [
'SessionId',
'SessionName',
'Coach',
'DateStart',
@ -225,6 +224,7 @@ if (isset($_POST['formSent'])) {
if (in_array($file_type, ['csv', 'xls'])) {
$sessionListToExport[] = [
$row['id'],
$row['name'],
$row['username'],
$row['access_start_date'],
@ -236,6 +236,7 @@ if (isset($_POST['formSent'])) {
];
} else {
$add = "\t<Session>\n"
."\t\t<SessionId>$row[id]</SessionId>\n"
."\t\t<SessionName>$row[name]</SessionName>\n"
."\t\t<Coach>$row[username]</Coach>\n"
."\t\t<DateStart>$row[access_start_date]</DateStart>\n"
@ -268,7 +269,6 @@ if (isset($_POST['formSent'])) {
}
}
// display the header
Display::display_header($tool_name);
//select of sessions

@ -1,9 +1,7 @@
<?php
/* For licensing terms, see /license.txt */
/**
* @package chamilo.admin
*/
$cidReset = true;
require_once __DIR__.'/../inc/global.inc.php';
@ -14,14 +12,12 @@ api_protect_limit_for_session_admin();
$form_sent = 0;
$tool_name = get_lang('ImportSessionDrhList');
$interbreadcrumb[] = ['url' => 'session_list.php', 'name' => get_lang('SessionList')];
set_time_limit(0);
$inserted_in_course = [];
// Display the header.
Display::display_header($tool_name);
echo '<div class="actions">';
@ -43,7 +39,6 @@ $form = new FormValidator(
$form->addElement('file', 'import_file', get_lang('ImportFileLocation'));
$form->addElement('checkbox', 'remove_old_relationships', null, get_lang('RemoveOldRelationships'));
//$form->addElement('checkbox', 'send_email', null, get_lang('SendMailToUsers'));
$form->addButtonImport(get_lang('ImportSession'));
if ($form->validate()) {
@ -77,7 +72,17 @@ drh1;Session 1;
drh2;Session 2;
</pre>
</blockquote>
<p><?php echo get_lang('Or'); ?> </p>
<blockquote>
<pre>
Username;SessionId;
drh1,drh2;100;
drh3;102;
</pre>
</blockquote>
<?php
/* FOOTER */
Display::display_footer();

Loading…
Cancel
Save