Added course_db parameter to get_course_table() calls, based on the parameter given to learnpath::__construct()

skala
ywarnier 14 years ago
parent 88f917a5dd
commit 52460cb438
  1. 11
      main/newscorm/learnpath.class.php

@ -91,6 +91,7 @@ class learnpath {
$this->encoding = api_get_system_encoding(); // Chamilo 1.8.8: We intend always to use the system encoding. $this->encoding = api_get_system_encoding(); // Chamilo 1.8.8: We intend always to use the system encoding.
// Check params. // Check params.
// Check course code. // Check course code.
$course_db = '';
if ($this->debug > 0) {error_log('New LP - In learnpath::__construct('.$course.','.$lp_id.','.$user_id.')', 0); } if ($this->debug > 0) {error_log('New LP - In learnpath::__construct('.$course.','.$lp_id.','.$user_id.')', 0); }
if (empty($course)) { if (empty($course)) {
$this->error = 'Course code is empty'; $this->error = 'Course code is empty';
@ -104,6 +105,8 @@ class learnpath {
$res = Database::query($sql); $res = Database::query($sql);
if (Database::num_rows($res) > 0) { if (Database::num_rows($res) > 0) {
$this->cc = $course; $this->cc = $course;
$row_course = Database::fetch_array($res);
$course_db = $row_course['db_name'];
} else { } else {
$this->error = 'Course code does not exist in database ('.$sql.')'; $this->error = 'Course code does not exist in database ('.$sql.')';
return false; return false;
@ -115,7 +118,7 @@ class learnpath {
return false; return false;
} else { } else {
// TODO: Make it flexible to use any course_code (still using env course code here). // TODO: Make it flexible to use any course_code (still using env course code here).
$lp_table = Database::get_course_table(TABLE_LP_MAIN); $lp_table = Database::get_course_table(TABLE_LP_MAIN, $course_db);
//$id = Database::escape_integer($id); //$id = Database::escape_integer($id);
$lp_id = $this->escape_string($lp_id); $lp_id = $this->escape_string($lp_id);
@ -186,7 +189,7 @@ class learnpath {
// Get the session condition for learning paths of the base + session. // Get the session condition for learning paths of the base + session.
$session = api_get_session_condition($session_id); $session = api_get_session_condition($session_id);
// Now get the latest attempt from this user on this LP, if available, otherwise create a new one. // Now get the latest attempt from this user on this LP, if available, otherwise create a new one.
$lp_table = Database::get_course_table(TABLE_LP_VIEW); $lp_table = Database::get_course_table(TABLE_LP_VIEW, $course_db);
// Selecting by view_count descending allows to get the highest view_count first. // Selecting by view_count descending allows to get the highest view_count first.
$sql = "SELECT * FROM $lp_table WHERE lp_id = '$lp_id' AND user_id = '$user_id' $session ORDER BY view_count DESC"; $sql = "SELECT * FROM $lp_table WHERE lp_id = '$lp_id' AND user_id = '$user_id' $session ORDER BY view_count DESC";
if ($this->debug > 2) { error_log('New LP - learnpath::__construct() ' . __LINE__ . ' - querying lp_view: ' . $sql, 0); } if ($this->debug > 2) { error_log('New LP - learnpath::__construct() ' . __LINE__ . ' - querying lp_view: ' . $sql, 0); }
@ -216,7 +219,7 @@ class learnpath {
} }
// Initialise items. // Initialise items.
$lp_item_table = Database::get_course_table(TABLE_LP_ITEM); $lp_item_table = Database::get_course_table(TABLE_LP_ITEM,$course_db);
$sql = "SELECT * FROM $lp_item_table WHERE lp_id = '".$this->lp_id."' ORDER BY parent_item_id, display_order"; $sql = "SELECT * FROM $lp_item_table WHERE lp_id = '".$this->lp_id."' ORDER BY parent_item_id, display_order";
$res = Database::query($sql); $res = Database::query($sql);
@ -293,7 +296,7 @@ class learnpath {
} }
// Get last viewing vars. // Get last viewing vars.
$lp_item_view_table = Database :: get_course_table(TABLE_LP_ITEM_VIEW); $lp_item_view_table = Database :: get_course_table(TABLE_LP_ITEM_VIEW,$course_db);
// This query should only return one or zero result. // This query should only return one or zero result.
$sql = "SELECT * " . $sql = "SELECT * " .
"FROM $lp_item_view_table " . "FROM $lp_item_view_table " .

Loading…
Cancel
Save