|
|
|
@ -1,5 +1,6 @@ |
|
|
|
|
<?php |
|
|
|
|
/* For licensing terms, see /license.txt */ |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @package chamilo.admin |
|
|
|
|
* @todo use formvalidator |
|
|
|
@ -14,10 +15,10 @@ $cidReset = true; |
|
|
|
|
require_once '../inc/global.inc.php'; |
|
|
|
|
require_once api_get_path(LIBRARY_PATH).'add_courses_to_session_functions.lib.php'; |
|
|
|
|
|
|
|
|
|
$id_session = isset($_GET['id_session']) ? intval($_GET['id_session']) : null; |
|
|
|
|
$sessionId = isset($_GET['id_session']) ? intval($_GET['id_session']) : null; |
|
|
|
|
$add = isset($_GET['add']) ? Security::remove_XSS($_GET['add']) : null; |
|
|
|
|
|
|
|
|
|
SessionManager::protect_session_edit($id_session); |
|
|
|
|
SessionManager::protect_session_edit($sessionId); |
|
|
|
|
|
|
|
|
|
$xajax = new xajax(); |
|
|
|
|
$xajax->registerFunction(array('search_courses', 'AddCourseToSession', 'search_courses')); |
|
|
|
@ -28,7 +29,7 @@ $this_section = SECTION_PLATFORM_ADMIN; |
|
|
|
|
// setting breadcrumbs |
|
|
|
|
$interbreadcrumb[] = array('url' => 'index.php', 'name' => get_lang('PlatformAdmin')); |
|
|
|
|
$interbreadcrumb[] = array('url' => 'session_list.php','name' => get_lang('SessionList')); |
|
|
|
|
$interbreadcrumb[] = array('url' => "resume_session.php?id_session=".$id_session, "name" => get_lang('SessionOverview')); |
|
|
|
|
$interbreadcrumb[] = array('url' => "resume_session.php?id_session=".$sessionId, "name" => get_lang('SessionOverview')); |
|
|
|
|
|
|
|
|
|
// Database Table Definitions |
|
|
|
|
$tbl_session_rel_course_rel_user = Database::get_main_table(TABLE_MAIN_SESSION_COURSE_USER); |
|
|
|
@ -77,87 +78,22 @@ function remove_item(origin) |
|
|
|
|
} |
|
|
|
|
</script>'; |
|
|
|
|
|
|
|
|
|
$formSent = 0; |
|
|
|
|
$errorMsg = $firstLetterCourse = $firstLetterSession = ''; |
|
|
|
|
$errorMsg = ''; |
|
|
|
|
$CourseList = $SessionList = array(); |
|
|
|
|
$courses = $sessions = array(); |
|
|
|
|
$noPHP_SELF = true; |
|
|
|
|
|
|
|
|
|
if (isset($_POST['formSent']) && $_POST['formSent']) { |
|
|
|
|
$formSent = $_POST['formSent']; |
|
|
|
|
$firstLetterCourse = $_POST['firstLetterCourse']; |
|
|
|
|
$firstLetterSession = $_POST['firstLetterSession']; |
|
|
|
|
$CourseList = $_POST['SessionCoursesList']; |
|
|
|
|
if (!is_array($CourseList)) { |
|
|
|
|
$CourseList = array(); |
|
|
|
|
} |
|
|
|
|
$nbr_courses=0; |
|
|
|
|
|
|
|
|
|
$id_coach = Database::query("SELECT id_coach FROM $tbl_session WHERE id=$id_session"); |
|
|
|
|
$id_coach = Database::fetch_array($id_coach); |
|
|
|
|
$id_coach = $id_coach[0]; |
|
|
|
|
|
|
|
|
|
$rs = Database::query("SELECT course_code FROM $tbl_session_rel_course WHERE id_session=$id_session"); |
|
|
|
|
$existingCourses = Database::store_result($rs); |
|
|
|
|
|
|
|
|
|
// Updating only the RRHH users?? why? |
|
|
|
|
$sql = "SELECT id_user FROM $tbl_session_rel_user WHERE id_session = $id_session "; |
|
|
|
|
$result = Database::query($sql); |
|
|
|
|
$UserList = Database::store_result($result); |
|
|
|
|
|
|
|
|
|
foreach ($CourseList as $enreg_course) { |
|
|
|
|
$enreg_course = Database::escape_string($enreg_course); |
|
|
|
|
$exists = false; |
|
|
|
|
foreach ($existingCourses as $existingCourse) { |
|
|
|
|
if ($enreg_course == $existingCourse['course_code']) { |
|
|
|
|
$exists = true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
$courseInfo = api_get_course_info($enreg_course); |
|
|
|
|
$courseId = $courseInfo['real_id']; |
|
|
|
|
|
|
|
|
|
if (!$exists) { |
|
|
|
|
$sql_insert_rel_course= "INSERT INTO $tbl_session_rel_course(id_session,course_code) VALUES('$id_session','$enreg_course')"; |
|
|
|
|
Database::query($sql_insert_rel_course); |
|
|
|
|
|
|
|
|
|
$course_info = api_get_course_info($enreg_course); |
|
|
|
|
CourseManager::update_course_ranking($course_info['real_id'], $id_session); |
|
|
|
|
|
|
|
|
|
//We add in the existing courses table the current course, to not try to add another time the current course |
|
|
|
|
$existingCourses[]=array('course_code'=>$enreg_course); |
|
|
|
|
$nbr_users=0; |
|
|
|
|
foreach ($UserList as $enreg_user) { |
|
|
|
|
$enreg_user = Database::escape_string($enreg_user['id_user']); |
|
|
|
|
$sql_insert = "INSERT IGNORE INTO $tbl_session_rel_course_rel_user(id_session,course_code,id_user) |
|
|
|
|
VALUES('$id_session','$enreg_course','$enreg_user')"; |
|
|
|
|
Database::query($sql_insert); |
|
|
|
|
if(Database::affected_rows()) { |
|
|
|
|
$nbr_users++; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
SessionManager::installCourse($id_session, $course_info['real_id']); |
|
|
|
|
Database::query("UPDATE $tbl_session_rel_course SET nbr_users=$nbr_users WHERE id_session='$id_session' AND course_code='$enreg_course'"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
foreach ($existingCourses as $existingCourse) { |
|
|
|
|
if (!in_array($existingCourse['course_code'], $CourseList)) { |
|
|
|
|
$course_info = api_get_course_info($existingCourse['course_code']); |
|
|
|
|
CourseManager::remove_course_ranking($course_info['real_id'], $id_session); |
|
|
|
|
Database::query("DELETE FROM $tbl_session_rel_course WHERE course_code='".$existingCourse['course_code']."' AND id_session=$id_session"); |
|
|
|
|
Database::query("DELETE FROM $tbl_session_rel_course_rel_user WHERE course_code='".$existingCourse['course_code']."' AND id_session=$id_session"); |
|
|
|
|
SessionManager::unInstallCourse($id_session, $course_info['real_id']); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
$nbr_courses=count($CourseList); |
|
|
|
|
Database::query("UPDATE $tbl_session SET nbr_courses=$nbr_courses WHERE id='$id_session'"); |
|
|
|
|
$courseList = $_POST['SessionCoursesList']; |
|
|
|
|
SessionManager::add_courses_to_session($sessionId, $courseList, true); |
|
|
|
|
Display::addFlash(Display::return_message(get_lang('Updated'))); |
|
|
|
|
|
|
|
|
|
if (isset($add)) { |
|
|
|
|
header('Location: add_users_to_session.php?id_session='.$id_session.'&add=true'); |
|
|
|
|
header('Location: add_users_to_session.php?id_session='.$sessionId.'&add=true'); |
|
|
|
|
} else { |
|
|
|
|
header('Location: resume_session.php?id_session='.$id_session); |
|
|
|
|
header('Location: resume_session.php?id_session='.$sessionId); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
exit; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -165,17 +101,17 @@ if (isset($_POST['formSent']) && $_POST['formSent']) { |
|
|
|
|
Display::display_header($tool_name); |
|
|
|
|
|
|
|
|
|
if ($add_type == 'multiple') { |
|
|
|
|
$link_add_type_unique = '<a href="'.api_get_self().'?id_session='.$id_session.'&add='.$add.'&add_type=unique">'. |
|
|
|
|
$link_add_type_unique = '<a href="'.api_get_self().'?id_session='.$sessionId.'&add='.$add.'&add_type=unique">'. |
|
|
|
|
Display::return_icon('single.gif').get_lang('SessionAddTypeUnique').'</a>'; |
|
|
|
|
$link_add_type_multiple = Display::return_icon('multiple.gif').get_lang('SessionAddTypeMultiple').' '; |
|
|
|
|
} else { |
|
|
|
|
$link_add_type_unique = Display::return_icon('single.gif').get_lang('SessionAddTypeUnique').' '; |
|
|
|
|
$link_add_type_multiple = '<a href="'.api_get_self().'?id_session='.$id_session.'&add='.$add.'&add_type=multiple">'. |
|
|
|
|
$link_add_type_multiple = '<a href="'.api_get_self().'?id_session='.$sessionId.'&add='.$add.'&add_type=multiple">'. |
|
|
|
|
Display::return_icon('multiple.gif').get_lang('SessionAddTypeMultiple').'</a>'; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// the form header |
|
|
|
|
$session_info = SessionManager::fetch($id_session); |
|
|
|
|
$session_info = SessionManager::fetch($sessionId); |
|
|
|
|
echo '<div class="actions">'; |
|
|
|
|
echo $link_add_type_unique.$link_add_type_multiple; |
|
|
|
|
echo '</div>'; |
|
|
|
@ -188,7 +124,7 @@ if ($ajax_search) { |
|
|
|
|
FROM $tbl_course course |
|
|
|
|
INNER JOIN $tbl_session_rel_course session_rel_course |
|
|
|
|
ON course.code = session_rel_course.course_code |
|
|
|
|
AND session_rel_course.id_session = ".intval($id_session)." |
|
|
|
|
AND session_rel_course.id_session = ".intval($sessionId)." |
|
|
|
|
ORDER BY ".(sizeof($courses)?"(code IN(".implode(',',$courses).")) DESC,":"")." title"; |
|
|
|
|
|
|
|
|
|
if (api_is_multiple_url_enabled()) { |
|
|
|
@ -199,7 +135,7 @@ if ($ajax_search) { |
|
|
|
|
FROM $tbl_course course |
|
|
|
|
INNER JOIN $tbl_session_rel_course session_rel_course |
|
|
|
|
ON course.code = session_rel_course.course_code |
|
|
|
|
AND session_rel_course.id_session = ".intval($id_session)." |
|
|
|
|
AND session_rel_course.id_session = ".intval($sessionId)." |
|
|
|
|
INNER JOIN $tbl_course_rel_access_url url_course ON (url_course.course_code=course.code) |
|
|
|
|
WHERE access_url_id = $access_url_id |
|
|
|
|
ORDER BY ".(sizeof($courses)?"(code IN(".implode(',',$courses).")) DESC,":"")." title"; |
|
|
|
@ -217,7 +153,7 @@ if ($ajax_search) { |
|
|
|
|
FROM $tbl_course course |
|
|
|
|
LEFT JOIN $tbl_session_rel_course session_rel_course |
|
|
|
|
ON course.code = session_rel_course.course_code |
|
|
|
|
AND session_rel_course.id_session = ".intval($id_session)." |
|
|
|
|
AND session_rel_course.id_session = ".intval($sessionId)." |
|
|
|
|
ORDER BY ".(sizeof($courses)?"(code IN(".implode(',',$courses).")) DESC,":"")." title"; |
|
|
|
|
|
|
|
|
|
if (api_is_multiple_url_enabled()) { |
|
|
|
@ -228,7 +164,7 @@ if ($ajax_search) { |
|
|
|
|
FROM $tbl_course course |
|
|
|
|
LEFT JOIN $tbl_session_rel_course session_rel_course |
|
|
|
|
ON course.code = session_rel_course.course_code |
|
|
|
|
AND session_rel_course.id_session = ".intval($id_session)." |
|
|
|
|
AND session_rel_course.id_session = ".intval($sessionId)." |
|
|
|
|
INNER JOIN $tbl_course_rel_access_url url_course ON (url_course.course_code=course.code) |
|
|
|
|
WHERE access_url_id = $access_url_id |
|
|
|
|
ORDER BY ".(sizeof($courses)?"(code IN(".implode(',',$courses).")) DESC,":"")." title"; |
|
|
|
@ -237,7 +173,7 @@ if ($ajax_search) { |
|
|
|
|
$result = Database::query($sql); |
|
|
|
|
$Courses = Database::store_result($result); |
|
|
|
|
foreach ($Courses as $course) { |
|
|
|
|
if ($course['id_session'] == $id_session) { |
|
|
|
|
if ($course['id_session'] == $sessionId) { |
|
|
|
|
$sessionCourses[$course['code']] = $course ; |
|
|
|
|
} else { |
|
|
|
|
$nosessionCourses[$course['code']] = $course ; |
|
|
|
@ -246,7 +182,7 @@ if ($ajax_search) { |
|
|
|
|
} |
|
|
|
|
unset($Courses); |
|
|
|
|
?> |
|
|
|
|
<form name="formulaire" method="post" action="<?php echo api_get_self(); ?>?page=<?php echo $page; ?>&id_session=<?php echo $id_session; ?><?php if(!empty($_GET['add'])) echo '&add=true' ; ?>" style="margin:0px;" <?php if($ajax_search){echo ' onsubmit="valide();"';}?>>
|
|
|
|
|
<form name="formulaire" method="post" action="<?php echo api_get_self(); ?>?page=<?php echo $page; ?>&id_session=<?php echo $sessionId; ?><?php if(!empty($_GET['add'])) echo '&add=true' ; ?>" style="margin:0px;" <?php if($ajax_search){echo ' onsubmit="valide();"';}?>>
|
|
|
|
|
<legend><?php echo $tool_name.' ('.$session_info['name'].')'; ?></legend>
|
|
|
|
|
<input type="hidden" name="formSent" value="1" /> |
|
|
|
|
|
|
|
|
|