Adding auto insertion of course introduction see BT#7068 only works in page add_courses_to_session.php.

1.9.x
Julio Montoya 11 years ago
parent ce6c5bb18f
commit ec6cd87e94
  1. 2
      main/admin/add_courses_to_session.php
  2. 27
      main/inc/lib/course_description.lib.php
  3. 87
      main/inc/lib/sessionmanager.lib.php

@ -137,6 +137,7 @@ if (isset($_POST['formSent']) && $_POST['formSent']) {
$nbr_users++; $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'"); Database::query("UPDATE $tbl_session_rel_course SET nbr_users=$nbr_users WHERE id_session='$id_session' AND course_code='$enreg_course'");
} }
} }
@ -147,6 +148,7 @@ if (isset($_POST['formSent']) && $_POST['formSent']) {
CourseManager::remove_course_ranking($course_info['real_id'], $id_session); 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 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"); 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']);
} }
} }

@ -27,7 +27,10 @@ class CourseDescription
/** /**
* Constructor * Constructor
*/ */
public function __construct() {} public function __construct()
{
}
/** /**
* Returns an array of objects of type CourseDescription corresponding to a specific course, without session ids (session id = 0) * Returns an array of objects of type CourseDescription corresponding to a specific course, without session ids (session id = 0)
@ -66,7 +69,8 @@ class CourseDescription
* first you must set session_id property with the object CourseDescription * first you must set session_id property with the object CourseDescription
* @return array * @return array
*/ */
public function get_description_data() { public function get_description_data()
{
$tbl_course_description = Database::get_course_table(TABLE_COURSE_DESCRIPTION); $tbl_course_description = Database::get_course_table(TABLE_COURSE_DESCRIPTION);
$condition_session = api_get_session_condition($this->session_id, true, true); $condition_session = api_get_session_condition($this->session_id, true, true);
$course_id = api_get_course_int_id(); $course_id = api_get_course_int_id();
@ -141,7 +145,6 @@ class CourseDescription
return $data; return $data;
} }
public function get_data_by_id($id, $course_code = '', $session_id = null) { public function get_data_by_id($id, $course_code = '', $session_id = null) {
$tbl_course_description = Database::get_course_table(TABLE_COURSE_DESCRIPTION); $tbl_course_description = Database::get_course_table(TABLE_COURSE_DESCRIPTION);
$course_id = api_get_course_int_id(); $course_id = api_get_course_int_id();
@ -191,7 +194,8 @@ class CourseDescription
* first you must set description_type, title, content, progress and session_id properties with the object CourseDescription * first you must set description_type, title, content, progress and session_id properties with the object CourseDescription
* @return int affected rows * @return int affected rows
*/ */
public function insert() { public function insert()
{
if (empty($this->course_id)) { if (empty($this->course_id)) {
$course_id = api_get_course_int_id(); $course_id = api_get_course_int_id();
} else { } else {
@ -222,7 +226,8 @@ class CourseDescription
* @param int description type * @param int description type
* @return int affected rows * @return int affected rows
*/ */
public function insert_stats($description_type) { public function insert_stats($description_type)
{
$tbl_stats_item_property = Database::get_statistic_table(TABLE_STATISTIC_TRACK_E_ITEM_PROPERTY); $tbl_stats_item_property = Database::get_statistic_table(TABLE_STATISTIC_TRACK_E_ITEM_PROPERTY);
$description_id = $this->get_id_by_description_type($description_type); $description_id = $this->get_id_by_description_type($description_type);
$course_id = api_get_real_course_id(); $course_id = api_get_real_course_id();
@ -248,7 +253,8 @@ class CourseDescription
* and session_id properties with the object CourseDescription * and session_id properties with the object CourseDescription
* @return int affected rows * @return int affected rows
*/ */
public function update() { public function update()
{
$tbl_course_description = Database::get_course_table(TABLE_COURSE_DESCRIPTION); $tbl_course_description = Database::get_course_table(TABLE_COURSE_DESCRIPTION);
$sql = "UPDATE $tbl_course_description SET $sql = "UPDATE $tbl_course_description SET
title = '".Database::escape_string($this->title)."', title = '".Database::escape_string($this->title)."',
@ -272,7 +278,8 @@ class CourseDescription
* Delete a description, first you must set description_type and session_id properties with the object CourseDescription * Delete a description, first you must set description_type and session_id properties with the object CourseDescription
* @return int affected rows * @return int affected rows
*/ */
public function delete() { public function delete()
{
$tbl_course_description = Database::get_course_table(TABLE_COURSE_DESCRIPTION); $tbl_course_description = Database::get_course_table(TABLE_COURSE_DESCRIPTION);
$course_id = api_get_course_int_id(); $course_id = api_get_course_int_id();
$sql = "DELETE FROM $tbl_course_description WHERE c_id = $course_id AND id = '".intval($this->id)."' AND session_id = '".intval($this->session_id)."'"; $sql = "DELETE FROM $tbl_course_description WHERE c_id = $course_id AND id = '".intval($this->id)."' AND session_id = '".intval($this->session_id)."'";
@ -290,7 +297,8 @@ class CourseDescription
* @param int description type * @param int description type
* @return int description id * @return int description id
*/ */
public function get_id_by_description_type($description_type) { public function get_id_by_description_type($description_type)
{
$tbl_course_description = Database::get_course_table(TABLE_COURSE_DESCRIPTION); $tbl_course_description = Database::get_course_table(TABLE_COURSE_DESCRIPTION);
$course_id = api_get_course_int_id(); $course_id = api_get_course_int_id();
@ -335,7 +343,8 @@ class CourseDescription
* Get description titles by default * Get description titles by default
* @return array * @return array
*/ */
public function get_default_description_title() { public function get_default_description_title()
{
$default_description_titles = array(); $default_description_titles = array();
$default_description_titles[1]= get_lang('GeneralDescription'); $default_description_titles[1]= get_lang('GeneralDescription');
$default_description_titles[2]= get_lang('Objectives'); $default_description_titles[2]= get_lang('Objectives');

@ -2810,4 +2810,91 @@ class SessionManager
} }
return $htmlResult; return $htmlResult;
} }
public static function getCourseToolToByManaged()
{
return array(
'courseDescription',
'courseIntroduction'
);
}
/**
* @param $sessionId
* @param $courseId
*/
public static function installCourse($sessionId, $courseId)
{
$toolList = self::getCourseToolToByManaged();
foreach($toolList as $tool) {
$method = 'add'.$tool;
if (method_exists(get_class(), $method)) {
self::$method($sessionId, $courseId);
}
}
}
/**
* @param $sessionId
* @param $courseId
*/
public static function unInstallCourse($sessionId, $courseId)
{
$toolList = self::getCourseToolToByManaged();
foreach($toolList as $tool) {
$method = 'remove'.$tool;
if (method_exists(get_class(), $method)) {
self::$method($sessionId, $courseId);
}
}
}
public static function addCourseIntroduction($sessionId, $courseId)
{
// @todo create a tool intro lib
$sessionId = intval($sessionId);
$courseId = intval($courseId);
$TBL_INTRODUCTION = Database::get_course_table(TABLE_TOOL_INTRO);
$sql = "SELECT * FROM $TBL_INTRODUCTION WHERE c_id = $courseId";
$result = Database::query($sql);
$result = Database::store_result($result, 'ASSOC');
if (!empty($result)) {
foreach ($result as $result) {
// @todo check if relation exits.
$result['session_id'] = $sessionId;
Database::insert($TBL_INTRODUCTION, $result);
}
}
}
public static function removeCourseIntroduction($sessionId, $courseId)
{
$sessionId = intval($sessionId);
$courseId = intval($courseId);
$TBL_INTRODUCTION = Database::get_course_table(TABLE_TOOL_INTRO);
$sql = "DELETE FROM $TBL_INTRODUCTION WHERE c_id = $courseId AND session_id = $sessionId";
Database::query($sql);
}
public static function addCourseDescription($sessionId, $courseId)
{
/*$description = new CourseDescription();
$descriptions = $description->get_descriptions($courseId);
foreach ($descriptions as $description) {
}*/
}
public static function removeCourseDescription($sessionId, $courseId)
{
}
} }

Loading…
Cancel
Save