|
@@ -2131,25 +2131,15 @@ class learnpath {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
-
|
|
|
* Gets the progress value from the progress_db attribute
|
|
|
-
|
|
|
* @return integer Current progress value
|
|
|
-
|
|
|
*/
|
|
|
-
|
|
|
function get_progress(){
|
|
|
-
|
|
|
if($this->debug>0){error_log('New LP - In learnpath::get_progress()',0);}
|
|
|
-
|
|
|
if(!empty($this->progress_db)){
|
|
|
-
|
|
|
return $this->progress_db;
|
|
|
-
|
|
|
}
|
|
|
-
|
|
|
return 0;
|
|
|
-
|
|
|
}
|
|
|
/**
|
|
|
* Gets the progress value from the progress field in the database (allows use as abstract method)
|
|
@@ -2201,299 +2191,160 @@ class learnpath {
|
|
|
}
|
|
|
return $progress;
|
|
|
}
|
|
|
-
|
|
|
/**
|
|
|
-
|
|
|
* Gets a progress bar for the learnpath by counting the number of items in it and the number of items
|
|
|
-
|
|
|
* completed so far.
|
|
|
-
|
|
|
* @param string Mode in which we want the values
|
|
|
-
|
|
|
* @param integer Progress value to display (optional but mandatory if used in abstract context)
|
|
|
-
|
|
|
* @param string Text to display near the progress value (optional but mandatory in abstract context)
|
|
|
-
|
|
|
* @return string HTML string containing the progress bar
|
|
|
-
|
|
|
*/
|
|
|
-
|
|
|
function get_progress_bar($mode='',$percentage=-1,$text_add='')
|
|
|
-
|
|
|
{
|
|
|
-
|
|
|
if($this->debug>0){error_log('New LP - In learnpath::get_progress_bar()',0);}
|
|
|
-
|
|
|
if($percentage=='-1' OR $text_add==''){
|
|
|
-
|
|
|
list ($percentage, $text_add) = $this->get_progress_bar_text($mode);
|
|
|
-
|
|
|
}
|
|
|
-
|
|
|
$text = $percentage.$text_add;
|
|
|
-
|
|
|
$output = ''
|
|
|
-
|
|
|
//.htmlentities(get_lang('ScormCompstatus'),ENT_QUOTES,'ISO-8859-1')."<br />"
|
|
|
-
|
|
|
.'<table border="0" cellpadding="0" cellspacing="0"><tr><td>'
|
|
|
-
|
|
|
.'<img id="progress_img_limit_left" src="../img/bar_1.gif" width="1" height="12">'
|
|
|
-
|
|
|
.'<img id="progress_img_full" src="../img/bar_1u.gif" width="'.$percentage.'" height="12" id="full_portion">'
|
|
|
-
|
|
|
.'<img id="progress_img_limit_middle" src="../img/bar_1m.gif" width="1" height="12">';
|
|
|
-
|
|
|
if($percentage <= 98){
|
|
|
-
|
|
|
$output .= '<img id="progress_img_empty" src="../img/bar_1r.gif" width="'.(100-$percentage).'" height="12" id="empty_portion">';
|
|
|
-
|
|
|
}else{
|
|
|
-
|
|
|
$output .= '<img id="progress_img_empty" src="../img/bar_1r.gif" width="0" height="12" id="empty_portion">';
|
|
|
-
|
|
|
}
|
|
|
-
|
|
|
$output .= '<img id="progress_bar_img_limit_right" src="../img/bar_1.gif" width="1" height="12"></td></tr></table>'
|
|
|
-
|
|
|
.'<div class="progresstext" id="progress_text">'.$text.'</div>';
|
|
|
-
|
|
|
return $output;
|
|
|
-
|
|
|
}
|
|
|
-
|
|
|
/**
|
|
|
-
|
|
|
* Gets the progress bar info to display inside the progress bar. Also used by scorm_api.php
|
|
|
-
|
|
|
* @param string Mode of display (can be '%' or 'abs').abs means we display a number of completed elements per total elements
|
|
|
-
|
|
|
* //@param integer Additional steps to fake as completed
|
|
|
-
|
|
|
* @return list Percentage or number and symbol (% or /xx)
|
|
|
-
|
|
|
*/
|
|
|
-
|
|
|
function get_progress_bar_text($mode='',$add=0)
|
|
|
-
|
|
|
{
|
|
|
-
|
|
|
if($this->debug>0){error_log('New LP - In learnpath::get_progress_bar_text()',0);}
|
|
|
-
|
|
|
if(empty($mode)){$mode = $this->progress_bar_mode;}
|
|
|
-
|
|
|
$total_items = $this->get_total_items_count();
|
|
|
-
|
|
|
if($this->debug>2){error_log('New LP - Total items available in this learnpath: '.$total_items,0);}
|
|
|
-
|
|
|
$i = $this->get_complete_items_count();
|
|
|
-
|
|
|
if($this->debug>2){error_log('New LP - Items completed so far: '.$i,0);}
|
|
|
-
|
|
|
if($add != 0){
|
|
|
-
|
|
|
$i += $add;
|
|
|
-
|
|
|
if($this->debug>2){error_log('New LP - Items completed so far (+modifier): '.$i,0);}
|
|
|
-
|
|
|
}
|
|
|
-
|
|
|
$text = '';
|
|
|
-
|
|
|
if($i>$total_items){
|
|
|
-
|
|
|
$i = $total_items;
|
|
|
-
|
|
|
}
|
|
|
-
|
|
|
if($mode == '%'){
|
|
|
-
|
|
|
$percentage = ((float)$i/(float)$total_items)*100;
|
|
|
-
|
|
|
$percentage = number_format($percentage,0);
|
|
|
-
|
|
|
$text = '%';
|
|
|
-
|
|
|
}elseif($mode == 'abs'){
|
|
|
-
|
|
|
$percentage = $i;
|
|
|
-
|
|
|
$text = '/'.$total_items;
|
|
|
-
|
|
|
}
|
|
|
-
|
|
|
return array($percentage,$text);
|
|
|
-
|
|
|
}
|
|
|
-
|
|
|
/**
|
|
|
-
|
|
|
* Gets the progress bar mode
|
|
|
-
|
|
|
* @return string The progress bar mode attribute
|
|
|
-
|
|
|
*/
|
|
|
-
|
|
|
function get_progress_bar_mode()
|
|
|
-
|
|
|
{
|
|
|
-
|
|
|
if($this->debug>0){error_log('New LP - In learnpath::get_progress_bar_mode()',0);}
|
|
|
-
|
|
|
if(!empty($this->progress_bar_mode))
|
|
|
-
|
|
|
{
|
|
|
-
|
|
|
return $this->progress_bar_mode;
|
|
|
-
|
|
|
}else{
|
|
|
-
|
|
|
return '%';
|
|
|
-
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
/**
|
|
|
-
|
|
|
+ * Gets the learnpath proximity (remote or local)
|
|
|
+ * @return string Learnpath proximity
|
|
|
+ */
|
|
|
+ function get_proximity()
|
|
|
+ {
|
|
|
+ if($this->debug>0){error_log('New LP - In learnpath::get_proximity()',0);}
|
|
|
+ if(!empty($this->proximity)){return $this->proximity;}else{return '';}
|
|
|
+ }
|
|
|
+ /**
|
|
|
* Returns a usable array of stats related to the current learnpath and user
|
|
|
-
|
|
|
* @return array Well-formatted array containing status for the current learnpath
|
|
|
-
|
|
|
*/
|
|
|
-
|
|
|
function get_stats()
|
|
|
-
|
|
|
{
|
|
|
-
|
|
|
if($this->debug>0){error_log('New LP - In learnpath::get_stats()',0);}
|
|
|
-
|
|
|
//TODO
|
|
|
-
|
|
|
}
|
|
|
-
|
|
|
/**
|
|
|
-
|
|
|
* Static method. Can be re-implemented by children. Gives an array of statistics for
|
|
|
-
|
|
|
* the given course (for all learnpaths and all users)
|
|
|
-
|
|
|
* @param string Course code
|
|
|
-
|
|
|
* @return array Well-formatted array containing status for the course's learnpaths
|
|
|
-
|
|
|
*/
|
|
|
-
|
|
|
function get_stats_course($course)
|
|
|
-
|
|
|
{
|
|
|
-
|
|
|
//if($this->debug>0){error_log('New LP - In learnpath::get_stats_course()',0);}
|
|
|
-
|
|
|
//TODO
|
|
|
-
|
|
|
}
|
|
|
-
|
|
|
/**
|
|
|
-
|
|
|
* Static method. Can be re-implemented by children. Gives an array of statistics for
|
|
|
-
|
|
|
* the given course and learnpath (for all users)
|
|
|
-
|
|
|
* @param string Course code
|
|
|
-
|
|
|
* @param integer Learnpath ID
|
|
|
-
|
|
|
* @return array Well-formatted array containing status for the specified learnpath
|
|
|
-
|
|
|
*/
|
|
|
-
|
|
|
function get_stats_lp($course,$lp)
|
|
|
-
|
|
|
{
|
|
|
-
|
|
|
//if($this->debug>0){error_log('New LP - In learnpath::get_stats_lp()',0);}
|
|
|
-
|
|
|
//TODO
|
|
|
-
|
|
|
}
|
|
|
-
|
|
|
/**
|
|
|
-
|
|
|
* Static method. Can be re-implemented by children. Gives an array of statistics for
|
|
|
-
|
|
|
* the given course, learnpath and user.
|
|
|
-
|
|
|
* @param string Course code
|
|
|
-
|
|
|
* @param integer Learnpath ID
|
|
|
-
|
|
|
* @param integer User ID
|
|
|
-
|
|
|
* @return array Well-formatted array containing status for the specified learnpath and user
|
|
|
-
|
|
|
*/
|
|
|
-
|
|
|
function get_stats_lp_user($course,$lp,$user)
|
|
|
-
|
|
|
{
|
|
|
-
|
|
|
//if($this->debug>0){error_log('New LP - In learnpath::get_stats_lp_user()',0);}
|
|
|
-
|
|
|
//TODO
|
|
|
-
|
|
|
}
|
|
|
-
|
|
|
/**
|
|
|
-
|
|
|
* Static method. Can be re-implemented by children. Gives an array of statistics for
|
|
|
-
|
|
|
* the given course and learnpath (for all users)
|
|
|
-
|
|
|
* @param string Course code
|
|
|
-
|
|
|
* @param integer User ID
|
|
|
-
|
|
|
* @return array Well-formatted array containing status for the user's learnpaths
|
|
|
-
|
|
|
*/
|
|
|
-
|
|
|
function get_stats_user($course,$user)
|
|
|
-
|
|
|
{
|
|
|
-
|
|
|
//if($this->debug>0){error_log('New LP - In learnpath::get_stats_user()',0);}
|
|
|
-
|
|
|
//TODO
|
|
|
-
|
|
|
}
|
|
|
-
|
|
|
/**
|
|
|
-
|
|
|
* Gets the status list for all LP's items
|
|
|
-
|
|
|
* @return array Array of [index] => [item ID => current status]
|
|
|
-
|
|
|
*/
|
|
|
-
|
|
|
function get_items_status_list(){
|
|
|
-
|
|
|
if($this->debug>0){error_log('New LP - In learnpath::get_items_status_list()',0);}
|
|
|
-
|
|
|
$list = array();
|
|
|
-
|
|
|
foreach($this->ordered_items as $item_id)
|
|
|
-
|
|
|
{
|
|
|
-
|
|
|
$list[]= array($item_id => $this->items[$item_id]->get_status());
|
|
|
-
|
|
|
}
|
|
|
-
|
|
|
return $list;
|
|
|
-
|
|
|
}
|
|
|
/**
|
|
|
* Generate and return the table of contents for this learnpath. The (flat) table returned can be
|
|
@@ -2721,8 +2572,15 @@ class learnpath {
|
|
|
$html .= "</div>\n";
|
|
|
return $html;
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
+ /**
|
|
|
+ * Gets the learnpath maker name - generally the editor's name
|
|
|
+ * @return string Learnpath maker name
|
|
|
+ */
|
|
|
+ function get_maker()
|
|
|
+ {
|
|
|
+ if($this->debug>0){error_log('New LP - In learnpath::get_maker()',0);}
|
|
|
+ if(!empty($this->maker)){return $this->maker;}else{return '';}
|
|
|
+ }
|
|
|
/**
|
|
|
* Gets the user-friendly message stored in $this->message
|
|
|
* @return string Message
|