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. 4
      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,16 +137,18 @@ if (isset($_POST['formSent']) && $_POST['formSent']) {
$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)) {
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']);
}
}

@ -27,7 +27,10 @@ class CourseDescription
/**
* 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)
@ -66,7 +69,8 @@ class CourseDescription
* first you must set session_id property with the object CourseDescription
* @return array
*/
public function get_description_data() {
public function get_description_data()
{
$tbl_course_description = Database::get_course_table(TABLE_COURSE_DESCRIPTION);
$condition_session = api_get_session_condition($this->session_id, true, true);
$course_id = api_get_course_int_id();
@ -141,7 +145,6 @@ class CourseDescription
return $data;
}
public function get_data_by_id($id, $course_code = '', $session_id = null) {
$tbl_course_description = Database::get_course_table(TABLE_COURSE_DESCRIPTION);
$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
* @return int affected rows
*/
public function insert() {
public function insert()
{
if (empty($this->course_id)) {
$course_id = api_get_course_int_id();
} else {
@ -222,7 +226,8 @@ class CourseDescription
* @param int description type
* @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);
$description_id = $this->get_id_by_description_type($description_type);
$course_id = api_get_real_course_id();
@ -248,7 +253,8 @@ class CourseDescription
* and session_id properties with the object CourseDescription
* @return int affected rows
*/
public function update() {
public function update()
{
$tbl_course_description = Database::get_course_table(TABLE_COURSE_DESCRIPTION);
$sql = "UPDATE $tbl_course_description SET
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
* @return int affected rows
*/
public function delete() {
public function delete()
{
$tbl_course_description = Database::get_course_table(TABLE_COURSE_DESCRIPTION);
$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)."'";
@ -290,7 +297,8 @@ class CourseDescription
* @param int description type
* @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);
$course_id = api_get_course_int_id();
@ -335,7 +343,8 @@ class CourseDescription
* Get description titles by default
* @return array
*/
public function get_default_description_title() {
public function get_default_description_title()
{
$default_description_titles = array();
$default_description_titles[1]= get_lang('GeneralDescription');
$default_description_titles[2]= get_lang('Objectives');

@ -2810,4 +2810,91 @@ class SessionManager
}
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