[svn r19487] Logic changes - improve remove frames when you display items into learning path - partial FS#3909

skala
Cristian Fasanando 17 years ago
parent a01116af0e
commit 914d49bfb4
  1. 16
      main/newscorm/learnpath.class.php
  2. 15
      main/newscorm/lp_nav.php
  3. 156
      main/newscorm/lp_view.php
  4. 157
      main/newscorm/scorm_api.php

@ -2731,21 +2731,7 @@ class learnpath {
//$html .= '<a href="" onclick="top.load_item('.$item['id'].',\''.$url.'\');return false;">'.$title.'</a>' ;
//<img align="absbottom" width="13" height="13" src="../img/lp_document.png">&nbsp;background:#aaa;
$html .= '<a href="" onclick="';
$count_items = 0;
foreach($list as $item2)
{
//$html .= 'alert('.$count_items.');';
if ($count_items%2==0) {
$html .= 'document.getElementById(\'toc_'.$item2['id'].'\').style.backgroundColor=\'#ddd\';';
} else {
$html .= 'document.getElementById(\'toc_'.$item2['id'].'\').style.backgroundColor=\'#eee\';';
}
$count_items++;
}
$html .= 'document.getElementById(\'toc_'.$item['id'].'\').style.backgroundColor=\'#aaa\';';
$html .='dokeos_xajax_handler.switch_item(' .
$html .= '<a href="" onclick="dokeos_xajax_handler.switch_item(' .
$mycurrentitemid.',' .
$item['id'].');' .
'return false;" >'.stripslashes($title).'</a>' ;

@ -54,17 +54,4 @@ if(isset($_SESSION['lpobject'])) {
}
session_write_close();
?>
<body>
<div class="lp_navigation_elem">
<table>
<tr>
<td colspan="2"><?php echo $mediaplayer; ?></td>
</tr>
<tr valign="middle">
<td><?php echo $progress_bar; ?></td>
<td><?php echo $navigation_bar; ?></td>
</tr>
</table>
</div>
</body>
</html>
<span><?php echo (!empty($mediaplayer))?$mediaplayer:'&nbsp;' ?></span>

@ -161,11 +161,7 @@ $save_setting = get_setting("show_navigation_menu");
global $_setting;
$_setting['show_navigation_menu'] = 'false';
$interbreadcrumb[]= array ("url"=>"lp_controller.php?action=list", "name"=> get_lang("_learning_path"));
$interbreadcrumb[]= array ("url"=>api_get_self()."?action=view&lp_id=$learnpath_id", "name" => stripslashes($_SESSION['_course']['name']));
$scorm_css_header=true;
$scorm_css_header=true;
$lp_theme_css=$_SESSION['oLP']->get_theme(); //sets the css theme of the LP this call is also use at the frames (toc, nav, message)
if($_SESSION['oLP']->mode == 'fullscreen')
@ -193,9 +189,8 @@ if($_SESSION['oLP']->mode == 'fullscreen')
<?php
}
else
{
Display::display_header(null,'Path');
{
include_once('../inc/reduced_header.inc.php');
$displayAudioRecorder = (api_get_setting('service_visio','active')=='true') ? true : false;
//check if audio recorder needs to be in studentview
$course_id=$_SESSION["_course"]["id"];
@ -234,73 +229,106 @@ else
<style type="text/css" media="screen, projection">
/*<![CDATA[*/
@import "<?php echo api_get_path(WEB_CODE_PATH); ?>css/<?php echo $my_style;?>/scorm.css";
@import "<?php echo api_get_path(WEB_CODE_PATH); ?>css/<?php echo $my_style;?>/scormfs.css";
/*]]>*/
</style>
<table border="0">
<table>
<tr><td valign="top">
<div id="learningPathLeftZone" style="float: left; width: 300px;">
<div id="learningPathHeader" style="font-size:14px; padding-left: 17px;">
<table>
<tr>
<td>
<a href="lp_controller.php?action=return_to_course_homepage" target="_top" onclick="window.parent.API.save_asset();"><img src="../img/lp_arrow.gif" /></a>
</td>
<td>
<a class="link" href="lp_controller.php?action=return_to_course_homepage" target="_top" onclick="window.parent.API.save_asset();"><?php echo get_lang('CourseHomepageLink'); ?></a>
</td>
</tr>
</table>
<div id="header">
<div id="learningPathHeader" style="font-size:14px; padding-left: 17px;">
<table>
<tr>
<td>
<a href="lp_controller.php?action=return_to_course_homepage" target="_top" onclick="window.parent.API.save_asset();"><img src="../img/lp_arrow.gif" /></a>
</td>
<td>
<a class="link" href="lp_controller.php?action=return_to_course_homepage" target="_top" onclick="window.parent.API.save_asset();"><?php echo get_lang('CourseHomepageLink'); ?></a>
</td>
</tr>
</table>
</div>
</div>
<?php $image = '../img/lp_author_background.gif'; ?>
<div id="image_preview">
<table style="width: 285px; height:110px; background-image: url('../img/lp_author_background.gif');background-repeat:no-repeat">
<tr>
<td>
<?php if ($_SESSION['oLP']->get_preview_image()!=''): ?>
<img alt="" src="<?php echo api_get_path(WEB_COURSE_PATH).api_get_course_path().'/upload/learning_path/images/'.$_SESSION['oLP']->get_preview_image(); ?>">
<?php else:
echo Display::display_icon('unknown_250_100.jpg',' ');
endif; ?>
</td>
</tr>
</table>
<div id="author_name" class="lp_author_image">
<?php echo $_SESSION['oLP']->get_author(); ?>
</div>
<div id="author_image" name="author_image" class="lp_author_image">
<?php $image = '../img/lp_author_background.gif'; ?>
<div id="image_preview">
<table style="width: 285px; height:110px; background-image: url('../img/lp_author_background.gif');background-repeat:no-repeat">
<tr>
<td>
<?php if ($_SESSION['oLP']->get_preview_image()!=''): ?>
<img alt="" src="<?php echo api_get_path(WEB_COURSE_PATH).api_get_course_path().'/upload/learning_path/images/'.$_SESSION['oLP']->get_preview_image(); ?>">
<?php else:
echo Display::display_icon('unknown_250_100.jpg',' ');
endif; ?>
</td>
</tr>
</table>
<div id="author_name">
<?php echo $_SESSION['oLP']->get_author(); ?>
</div>
</div>
</div>
<div class="lp_navigation_elem" >
<table>
<tr>
<td colspan="2"><?php
<div id="nav_id" name="nav_name" class="lp_nav">
<?php
$display_mode = $_SESSION['oLP']->mode;
$scorm_css_header=true;
$lp_theme_css=$_SESSION['oLP']->get_theme();
echo $_SESSION['oLP']->get_mediaplayer(); ?></td>
</tr>
<tr><td>&nbsp;</td></tr>
<tr valign="middle">
<td id="progress_text" >
<?php echo $_SESSION['oLP']->get_progress_bar('',-1,'',true); ?>
</td>
<td>
<?php echo $_SESSION['oLP']->get_navigation_bar(); ?>
</td>
</tr>
<tr><td>&nbsp;</td></tr>
</table>
$lp_theme_css=$_SESSION['oLP']->get_theme();
//Setting up the CSS theme if exists
if (!empty($lp_theme_css) && !empty($mycourselptheme) && $mycourselptheme!=-1 && $mycourselptheme== 1 ) {
global $lp_theme_css;
} else {
$lp_theme_css=$my_style;
}
$progress_bar = $_SESSION['oLP']->get_progress_bar('',-1,'',true);
$navigation_bar = $_SESSION['oLP']->get_navigation_bar();
$mediaplayer = $_SESSION['oLP']->get_mediaplayer();
?>
<div id="lp_navigation_elem" class="lp_navigation_elem">
<table border="0" width="100%">
<tr>
<td colspan="2" style="font-size:11.5pt">
<div id="media" ><span><?php echo (!empty($mediaplayer))?$mediaplayer:'&nbsp;' ?></span></div>
</td>
</tr>
<tr valign="middle">
<td><?php echo $progress_bar; ?></td>
<td><?php echo $navigation_bar; ?></td>
</tr>
</table>
</div>
</div>
<div id="msg_div_id" class="message">
<?php echo $error = $_SESSION['oLP']->error; ?>
<div id="message_id" name="message_name" class="message">
<div id="msg_div_id" class="message">
<?php echo $error = $_SESSION['oLP']->error; ?>
</div>
</div>
<div id="learningPathToc" class="lp_toc" style="height: 400px;width:285px;overflow-y:auto;overflow-x:hidden;font-size:8pt;"><?php echo $_SESSION['oLP']->get_html_toc(); ?></div>
<div id="log_content">
<div id="toc_id" name="toc_name" class="lp_toc" style="padding:0;margin:0">
<div id="learningPathToc" style="width:300px;overflow-y:auto;overflow-x:hidden;font-size:8pt;"><?php echo $_SESSION['oLP']->get_html_toc(); ?></div>
</div>
<div style="color: white;" onClick="cleanlog();">.</div>
<div id="lp_log_id" name="lp_log_name" class="lp_log">
<div id="log_content">
</div>
<div style="color: white;" onClick="cleanlog();">.</div>
</div>
</div>
</td><td align="left" width="100%">
<div id="learningPathRightZone" style="height: 700px;">
<iframe id="content_id" name="content_name" src="<?php echo $src; ?>" border="0" frameborder="0" style="overflow: 100%; width: 100%"></iframe>
</td><td align="left" width="100%" valign="top">
<div id="learningPathRightZone">
<iframe id="content_id" name="content_name" src="<?php echo $src; ?>" border="0" frameborder="0" style="height:600px;width: 100%"></iframe>
</div>
</td></tr>
</table>
@ -357,7 +385,7 @@ else
FOOTER
==============================================================================
*/
Display::display_footer();
//Display::display_footer();
}
//restore global setting
$_setting['show_navigation_menu'] = $save_setting;

@ -1,4 +1,4 @@
<?php // $Id: scorm_api.php 19463 2009-03-31 17:33:09Z cfasanando $
<?php // $Id: scorm_api.php 19487 2009-04-01 22:07:02Z cfasanando $
/*
==============================================================================
Dokeos - elearning and course management software
@ -836,10 +836,13 @@ function logit_lms(message,priority){
function update_toc(update_action,update_id)
{
<?php //if($oLP->mode != 'fullscreen'){ ?>
var myframe = frames["toc_name"];
var myelem = myframe.document.getElementById("toc_"+update_id);
var myelemimg = myframe.document.getElementById("toc_img_"+update_id);
logit_lms('update_toc("'+update_action+'",'+update_id+')',2);
//var myframe = frames["toc_name"];
//var myelem = myframe.document.getElementById("toc_"+update_id);
//var myelemimg = myframe.document.getElementById("toc_img_"+update_id);
var myelem = $("#toc_"+update_id);
var myelemimg = $("#toc_img_"+update_id);
logit_lms('update_toc("'+update_action+'",'+update_id+')',2);
if(update_id != 0)
{
@ -847,51 +850,51 @@ function update_toc(update_action,update_id)
{
case 'unhighlight':
if (update_id%2==0)
{
myelem.className = "scorm_item_2";
{
myelem.attr('class',"scorm_item_2");
}
else
{
myelem.className = "scorm_item_1";
{
myelem.attr('class',"scorm_item_1");
}
break;
case 'highlight':
myelem.className = "scorm_item_highlight";
case 'highlight':
myelem.attr('class',"scorm_item_highlight");
break;
case 'not attempted':
if(myelemimg.src != '../img/notattempted.gif'){
myelemimg.src = "../img/notattempted.gif";
myelemimg.alt = "n";
case 'not attempted':
if( myelemimg.attr('src') != '../img/notattempted.gif') {
myelemimg.attr('src','../img/notattempted.gif');
myelemimg.attr('alt','n');
}
break;
case 'incomplete':
if(myelemimg.src != '../img/incomplete.gif'){
myelemimg.src = "../img/incomplete.gif";
myelemimg.alt = "i";
case 'incomplete':
if( myelemimg.attr('src') != '../img/incomplete.gif') {
myelemimg.attr('src','../img/incomplete.gif');
myelemimg.attr('alt','i');
}
break;
case 'completed':
if(myelemimg.src != '../img/completed.gif'){
myelemimg.src = "../img/completed.gif";
myelemimg.alt = "c";
case 'completed':
if( myelemimg.attr('src') != '../img/completed.gif') {
myelemimg.attr('src','../img/completed.gif');
myelemimg.attr('alt','c');
}
break;
case 'failed':
if(myelemimg.src != '../img/failed.gif'){
myelemimg.src = "../img/failed.gif";
myelemimg.alt = "f";
case 'failed':
if( myelemimg.attr('src') != '../img/failed.gif') {
myelemimg.attr('src','../img/failed.gif');
myelemimg.attr('alt','f');
}
break;
case 'passed':
if(myelemimg.src != '../img/completed.gif' && myelemimg.alt != 'passed'){
myelemimg.src = "../img/completed.gif";
myelemimg.alt = "p";
case 'passed':
if( myelemimg.attr('src') != '../img/completed.gif' && myelemimg.attr('alt') != 'passed') {
myelemimg.attr('src','../img/completed.gif');
myelemimg.attr('alt','p');
}
break;
case 'browsed':
if(myelemimg.src != '../img/completed.gif' && myelemimg.alt != 'browsed'){
myelemimg.src = "../img/completed.gif";
myelemimg.alt = "b";
case 'browsed':
if( myelemimg.attr('src') != '../img/completed.gif' && myelemimg.attr('alt') != 'browsed') {
myelemimg.attr('src','../img/completed.gif');
myelemimg.attr('alt','b');
}
break;
default:
@ -913,32 +916,34 @@ function update_progress_bar(nbr_complete, nbr_total, mode)
{
logit_lms('update_progress_bar('+nbr_complete+','+nbr_total+','+mode+')',2);
logit_lms('could update with data: '+lms_lp_id+','+lms_view_id+','+lms_user_id,2);
var myframe = frames["nav_name"];
if(myframe){
if(mode == ''){mode='%';}
if(nbr_total == 0){nbr_total=1;}
var percentage = (nbr_complete/nbr_total)*100;
percentage = Math.round(percentage);
var pr_text = myframe.document.getElementById('progress_text');
var pr_full = myframe.document.getElementById('progress_img_full');
if(mode == ''){mode='%';}
if(nbr_total == 0){nbr_total=1;}
var percentage = (nbr_complete/nbr_total)*100;
percentage = Math.round(percentage);
var pr_text = $("#progress_text");
var pr_full = $("#progress_img_full");
var pr_empty = $("#progress_img_empty");
var pr_empty = myframe.document.getElementById('progress_img_empty');
pr_full.width = percentage*1.2;
pr_empty.width = (100-percentage)*1.2;
var mytext = '';
switch(mode){
case 'abs':
mytext = nbr_complete + '/' + nbr_total;
break;
case '%':
default:
mytext = percentage + '%';
break;
}
pr_text.innerHTML = mytext;
}
pr_full.attr('width',percentage*1.2);
pr_empty.attr('width',(100-percentage)*1.2);
var mytext = '';
switch(mode){
case 'abs':
mytext = nbr_complete + '/' + nbr_total;
break;
case '%':
default:
mytext = percentage + '%';
break;
}
pr_text.html(mytext);
return true;
}
function update_stats_page()
{
var myframe = document.getElementById('content_id');
@ -957,13 +962,12 @@ function update_stats_page()
*/
function update_message_frame(msg_msg)
{
if(msg_msg==null){msg_msg='';}
var msg_f = frames["message_name"];
if(!msg_f.document || !msg_f.document.getElementById('msg_div_id')){
if(msg_msg==null){msg_msg='';}
if(!($("#msg_div_id"))){
logit_lms('In update_message_frame() - message frame has no document property',0);
}else{
logit_lms('In update_message_frame() - updating frame',0);
msg_f.document.getElementById('msg_div_id').innerHTML= msg_msg;
$("#msg_div_id").html(msg_msg);
}
}
/**
@ -1001,9 +1005,9 @@ function switch_item(current_item, next_item){
break;
default:
break;
}
var mysrc = 'lp_controller.php?action=content&lp_id='+lms_lp_id+'&item_id='+next_item;
var cont_f = document.getElementById('content_id');
}
var mysrc = 'lp_controller.php?action=content&lp_id='+lms_lp_id+'&item_id='+next_item+'#anchor_'+lms_lp_id;
var cont_f = $("#content_id");
if(!cont_f){
logit_lms('In switch - content frame not found',0);
<?php if($oLP->mode == 'fullscreen'){ ?>
@ -1011,20 +1015,23 @@ function switch_item(current_item, next_item){
<?php } else { ?>
return false;
<?php } ?>
} else {
cont_f.attr("src",mysrc);
}
else
{
//cont_f.src = mysrc;
location.href='lp_controller.php?cidReq=<?php echo api_get_course_id() ?>&action=view&lp_id='+lms_lp_id;
}
if(lms_lp_type==1 || lms_item_type=='asset'){
xajax_start_timer();
}
//(4) refresh the audio player if needed
if(frames['nav_name']){
frames['nav_name'].location.reload();
}
//(4) refresh the audio player if needed
$.ajax({
type: "GET",
url: "lp_nav.php",
data: "",
success: function(datos) {
$("#media").html(datos);
}
});
return true;
}

Loading…
Cancel
Save