|
@@ -3788,16 +3788,17 @@ class learnpath {
|
|
|
}
|
|
|
// TODO: Do a better check on the index pointing to the right item (it is supposed to be working
|
|
|
// on $ordered_items[] but not sure it's always safe to use with $items[]).
|
|
|
- if (empty ($item_id)) {
|
|
|
+ if (empty($item_id)) {
|
|
|
$item_id = Database::escape_string($_REQUEST['id']);
|
|
|
}
|
|
|
- if (empty ($item_id)) {
|
|
|
+ if (empty($item_id)) {
|
|
|
$item_id = $this->get_current_item_id();
|
|
|
}
|
|
|
if ($this->debug > 2) {
|
|
|
error_log('New LP - save_current() saving item ' . $item_id, 0);
|
|
|
}
|
|
|
if (is_object($this->items[$item_id])) {
|
|
|
+ if ($this->debug) { error_log('object exists'); }
|
|
|
$res = $this->items[$item_id]->save($from_outside, $this->prerequisites_match($item_id));
|
|
|
//$res = $this->items[$item_id]->save($from_outside);
|
|
|
$this->autocomplete_parents($item_id);
|
|
@@ -3819,12 +3820,14 @@ class learnpath {
|
|
|
}
|
|
|
$session_condition = api_get_session_condition(api_get_session_id(), true, false);
|
|
|
$table = Database :: get_course_table(TABLE_LP_VIEW);
|
|
|
- if (isset ($this->current)) {
|
|
|
+ if (isset($this->current)) {
|
|
|
if ($this->debug > 2) {
|
|
|
error_log('New LP - Saving current item (' . $this->current . ') for later review', 0);
|
|
|
}
|
|
|
- $sql = "UPDATE $table SET last_item = " . Database::escape_string($this->get_current_item_id()). " " .
|
|
|
- "WHERE c_id = ".$course_id." AND lp_id = " . $this->get_id() . " AND user_id = " . $this->get_user_id().' '.$session_condition;
|
|
|
+ $sql = "UPDATE $table SET last_item = " . Database::escape_string($this->get_current_item_id()). "
|
|
|
+ WHERE c_id = $course_id AND
|
|
|
+ lp_id = " . $this->get_id() . " AND
|
|
|
+ user_id = " . $this->get_user_id()." ".$session_condition;
|
|
|
|
|
|
if ($this->debug > 2) {
|
|
|
error_log('New LP - Saving last item seen : ' . $sql, 0);
|
|
@@ -3836,9 +3839,10 @@ class learnpath {
|
|
|
list($progress, $text) = $this->get_progress_bar_text('%');
|
|
|
if ($progress >= 0 && $progress <= 100) {
|
|
|
$progress = (int) $progress;
|
|
|
- $sql = "UPDATE $table SET progress = $progress " .
|
|
|
- "WHERE c_id = ".$course_id." AND lp_id = " . $this->get_id() . " AND " .
|
|
|
- "user_id = " . $this->get_user_id().' '.$session_condition;
|
|
|
+ $sql = "UPDATE $table SET progress = $progress
|
|
|
+ WHERE c_id = ".$course_id." AND
|
|
|
+ lp_id = " . $this->get_id() . " AND
|
|
|
+ user_id = " . $this->get_user_id()." ".$session_condition;
|
|
|
$res = Database::query($sql); // Ignore errors as some tables might not have the progress field just yet.
|
|
|
$this->progress_db = $progress;
|
|
|
}
|