Преглед изворни кода

[svn r12823] Fix a bug with hidden test tool : http://projects.dokeos.com/?do=details&id=1791

Julian Prud'homme пре 17 година
родитељ
комит
e814e09202
3 измењених фајлова са 201 додато и 144 уклоњено
  1. 76 60
      main/auth/my_progress.php
  2. 96 77
      main/mySpace/myStudents.php
  3. 29 7
      main/newscorm/lp_stats.php

+ 76 - 60
main/auth/my_progress.php

@@ -1,6 +1,6 @@
 <?php
 // name of the language file that needs to be included
-$language_file = array('registration','tracking');
+$language_file = array('registration','tracking','exercice');
 
 $cidReset = true;
 
@@ -9,6 +9,8 @@ require_once (api_get_path(LIBRARY_PATH).'tracking.lib.php');
 
 $nameTools=get_lang('MyProgress');
 
+$this_section = 'session_my_progress';
+
 api_block_anonymous_users();
 
 Display :: display_header($nameTools);
@@ -307,67 +309,81 @@ foreach($Courses as $enreg)
 			</tr>
 
 			<?php
-
-				$sqlExercices = "	SELECT quiz.title,id
-								FROM ".$a_infosCours['db_name'].".".$tbl_course_quiz." AS quiz
-							";
-
-
-				$resuktExercices = api_sql_query($sqlExercices);
-				while($a_exercices = mysql_fetch_array($resuktExercices))
-				{
-					$sqlEssais = "	SELECT COUNT(ex.exe_id) as essais
-									FROM $tbl_stats_exercices AS ex
-									WHERE ex.exe_user_id='".$_user['user_id']."' AND ex.exe_cours_id = '".$a_infosCours['code']."'
-									AND ex.exe_exo_id = ".$a_exercices['id']
-								 ;
-					$resultEssais = api_sql_query($sqlEssais);
-					$a_essais = mysql_fetch_array($resultEssais);
-
-					$sqlScore = "SELECT exe_id , exe_result,exe_weighting
-								 FROM $tbl_stats_exercices
-								 WHERE exe_user_id = ".$_user['user_id']."
-								 AND exe_cours_id = '".$a_infosCours['code']."'
-								 AND exe_exo_id = ".$a_exercices['id']."
-								ORDER BY exe_date DESC LIMIT 1"
-									;
-
-					$resultScore = api_sql_query($sqlScore);
-					$score = 0;
-					while($a_score = mysql_fetch_array($resultScore))
-					{
-						$score = $score + $a_score['exe_result'];
-						$weighting = $weighting + $a_score['exe_weighting'];
-						$exe_id = $a_score['exe_id'];
+				
+				$sql='SELECT visibility FROM '.$a_infosCours['db_name'].'.'.TABLE_TOOL_LIST.' WHERE name="quiz"';
+				$resultVisibilityTests = api_sql_query($sql);
+				
+				if(mysql_result($resultVisibilityTests,0,'visibility')==1){
+				
+					$sqlExercices = "	SELECT quiz.title,id
+									FROM ".$a_infosCours['db_name'].".".$tbl_course_quiz." AS quiz
+									WHERE active='1'
+									";
+	
+	
+					$resuktExercices = api_sql_query($sqlExercices);
+					if(mysql_num_rows($resuktExercices)>0){
+						while($a_exercices = mysql_fetch_array($resuktExercices))
+						{
+							$sqlEssais = "	SELECT COUNT(ex.exe_id) as essais
+											FROM $tbl_stats_exercices AS ex
+											WHERE ex.exe_user_id='".$_user['user_id']."' AND ex.exe_cours_id = '".$a_infosCours['code']."'
+											AND ex.exe_exo_id = ".$a_exercices['id']
+										 ;
+							$resultEssais = api_sql_query($sqlEssais);
+							$a_essais = mysql_fetch_array($resultEssais);
+		
+							$sqlScore = "SELECT exe_id , exe_result,exe_weighting
+										 FROM $tbl_stats_exercices
+										 WHERE exe_user_id = ".$_user['user_id']."
+										 AND exe_cours_id = '".$a_infosCours['code']."'
+										 AND exe_exo_id = ".$a_exercices['id']."
+										ORDER BY exe_date DESC LIMIT 1"
+											;
+		
+							$resultScore = api_sql_query($sqlScore);
+							$score = 0;
+							while($a_score = mysql_fetch_array($resultScore))
+							{
+								$score = $score + $a_score['exe_result'];
+								$weighting = $weighting + $a_score['exe_weighting'];
+								$exe_id = $a_score['exe_id'];
+							}
+							$pourcentageScore = round(($score*100)/$weighting);
+		
+							$weighting = 0;
+		
+							echo "<tr>
+									<td>
+								 ";
+							echo 		$a_exercices['title'];
+							echo "	</td>
+								 ";
+							echo "	<td align='center'>
+								  ";
+							echo $pourcentageScore.'%';
+							echo "	</td>
+		
+									<td align='center'>
+								 ";
+							echo 		$a_essais['essais'];
+							echo '	</td>
+									<td align="center" width="25">
+								 ';
+							if($a_essais['essais']>0)
+								echo '<a href="../exercice/exercise_show.php?origin=student_progress&id='.$exe_id.'&cidReq='.$a_infosCours['code'].'&id_session='.$_GET['id_session'].'"> <img src="'.api_get_path(WEB_IMG_PATH).'quiz.gif" border="0"> </a>';
+							echo "	</td>
+								  </tr>
+								 ";
+						}
+					}
+					else{
+						echo '<tr><td colspan="4">'.get_lang('NoEx').'</td></tr>';
 					}
-					$pourcentageScore = round(($score*100)/$weighting);
-
-					$weighting = 0;
-
-					echo "<tr>
-							<td>
-						 ";
-					echo 		$a_exercices['title'];
-					echo "	</td>
-						 ";
-					echo "	<td align='center'>
-						  ";
-					echo $pourcentageScore.'%';
-					echo "	</td>
-
-							<td align='center'>
-						 ";
-					echo 		$a_essais['essais'];
-					echo '	</td>
-							<td align="center" width="25">
-						 ';
-					if($a_essais['essais']>0)
-						echo '<a href="../exercice/exercise_show.php?origin=student_progress&id='.$exe_id.'&cidReq='.$a_infosCours['code'].'&id_session='.$_GET['id_session'].'"> <img src="'.api_get_path(WEB_IMG_PATH).'quiz.gif" border="0"> </a>';
-					echo "	</td>
-						  </tr>
-						 ";
 				}
-
+				else{
+					echo '<tr><td colspan="4">'.get_lang('NoEx').'</td></tr>';
+				}
 
 			?>
 		</table>

+ 96 - 77
main/mySpace/myStudents.php

@@ -637,88 +637,107 @@ if(!empty($_GET['student']))
 			<?php
 			$csv_content[] = array();
 			$csv_content[] = array(get_lang('Exercices'),get_lang('Score'),get_lang('Attempts'));
-			$sqlExercices = "	SELECT quiz.title,id
-								FROM ".$a_infosCours['db_name'].".".$tbl_course_quiz." AS quiz
-							";
-	
-			$resultExercices = api_sql_query($sqlExercices);
-			$i = 0;
-			if(mysql_num_rows($resultExercices)>0)
-			{
-				while($a_exercices = mysql_fetch_array($resultExercices))
-				{
-					$sqlEssais = "	SELECT COUNT(ex.exe_id) as essais
-									FROM $tbl_stats_exercices AS ex
-									WHERE  ex.exe_cours_id = '".$a_infosCours['code']."'
-									AND ex.exe_exo_id = ".$a_exercices['id']."
-									AND exe_user_id='".$_GET["student"]."'"
-								 ;
-					$resultEssais = api_sql_query($sqlEssais);
-					$a_essais = mysql_fetch_array($resultEssais);
-					
-					$sqlScore = "SELECT exe_id, exe_result,exe_weighting
-								 FROM $tbl_stats_exercices
-								 WHERE exe_user_id = ".$_GET['student']."
-								 AND exe_cours_id = '".$a_infosCours['code']."'
-								 AND exe_exo_id = ".$a_exercices['id']."
-								 ORDER BY exe_date DESC LIMIT 1";
+			
+			$a_infosCours = CourseManager :: get_course_information($_GET['course']);
 
-					$resultScore = api_sql_query($sqlScore);
-					$score = 0; 
-					while($a_score = mysql_fetch_array($resultScore))
+			$sql='SELECT visibility FROM '.$a_infosCours['db_name'].'.'.TABLE_TOOL_LIST.' WHERE name="quiz"';
+			$resultVisibilityQuizz = api_sql_query($sql);
+			
+			if(mysql_result($resultVisibilityQuizz,0,'visibility')==1){
+			
+				$sqlExercices = "	SELECT quiz.title,id
+									FROM ".$a_infosCours['db_name'].".".$tbl_course_quiz." AS quiz
+									WHERE active='1'
+									";
+		
+				$resultExercices = api_sql_query($sqlExercices);
+				$i = 0;
+				if(mysql_num_rows($resultExercices)>0)
+				{
+					while($a_exercices = mysql_fetch_array($resultExercices))
 					{
-						$score = $score + $a_score['exe_result'];
-						$weighting = $weighting + $a_score['exe_weighting'];
-						$exe_id = $a_score['exe_id'];
-					}
-					$pourcentageScore = round(($score*100)/$weighting);
+						$sqlEssais = "	SELECT COUNT(ex.exe_id) as essais
+										FROM $tbl_stats_exercices AS ex
+										WHERE  ex.exe_cours_id = '".$a_infosCours['code']."'
+										AND ex.exe_exo_id = ".$a_exercices['id']."
+										AND exe_user_id='".$_GET["student"]."'"
+									 ;
+						$resultEssais = api_sql_query($sqlEssais);
+						$a_essais = mysql_fetch_array($resultEssais);
+						
+						$sqlScore = "SELECT exe_id, exe_result,exe_weighting
+									 FROM $tbl_stats_exercices
+									 WHERE exe_user_id = ".$_GET['student']."
+									 AND exe_cours_id = '".$a_infosCours['code']."'
+									 AND exe_exo_id = ".$a_exercices['id']."
+									 ORDER BY exe_date DESC LIMIT 1";
 	
-					$weighting = 0;
-					
-					$csv_content[] = array($a_exercices['title'], $pourcentageScore.' %', $a_essais['essais']);
+						$resultScore = api_sql_query($sqlScore);
+						$score = 0; 
+						while($a_score = mysql_fetch_array($resultScore))
+						{
+							$score = $score + $a_score['exe_result'];
+							$weighting = $weighting + $a_score['exe_weighting'];
+							$exe_id = $a_score['exe_id'];
+						}
+						$pourcentageScore = round(($score*100)/$weighting);
+		
+						$weighting = 0;
+						
+						$csv_content[] = array($a_exercices['title'], $pourcentageScore.' %', $a_essais['essais']);
+						
+						if($i%2==0){
+							$s_css_class="row_odd";
+						}
+						else{
+							$s_css_class="row_even";
+						}
+						
+						$i++;
+						
+						echo "<tr class='$s_css_class'>
+								<td>
+							 ";
+						echo 		$a_exercices['title'];
+						echo "	</td>
+							 ";
+						echo "	<td align='right'>
+							  ";
+						echo 		$pourcentageScore.' %';
+						echo "	</td>
+								<td align='right'>
+							 ";
+						echo 		$a_essais['essais'];
+						echo "	</td>
+								<td align='center'>
+							 ";
+						
+						$sql_last_attempt='SELECT exe_id FROM '.$tbl_stats_exercices.' WHERE exe_exo_id="'.$a_exercices['id'].'" AND exe_user_id="'.$_GET['student'].'" AND exe_cours_id="'.$a_infosCours['code'].'" ORDER BY exe_date DESC LIMIT 1';
+						$resultLastAttempt = api_sql_query($sql_last_attempt);
+						$id_last_attempt=mysql_result($resultLastAttempt,0,0);
+						
+						if($a_essais['essais']>0)
+							echo		'<a href="../exercice/exercise_show.php?id='.$id_last_attempt.'&cidReq='.$a_infosCours['code'].'&student='.$_GET['student'].'&origin='.(empty($_GET['origin']) ? 'tracking' : $_GET['origin']).'"> <img src="'.api_get_path(WEB_IMG_PATH).'quiz.gif" border="0"> </a>';
+						echo "	</td>
+							  </tr>
+							 ";
+							 
+						$dataExercices[$i][] =  $a_exercices['title'];
+						$dataExercices[$i][] = $pourcentageScore.'%';
+						$dataExercices[$i][] =  $a_essais['essais'];
+						//$dataExercices[$i][] =  corrections;
+						$i++;
 					
-					if($i%2==0){
-						$s_css_class="row_odd";
-					}
-					else{
-						$s_css_class="row_even";
 					}
-					
-					$i++;
-					
-					echo "<tr class='$s_css_class'>
-							<td>
-						 ";
-					echo 		$a_exercices['title'];
-					echo "	</td>
-						 ";
-					echo "	<td align='right'>
-						  ";
-					echo 		$pourcentageScore.' %';
-					echo "	</td>
-							<td align='right'>
-						 ";
-					echo 		$a_essais['essais'];
-					echo "	</td>
-							<td align='center'>
-						 ";
-					
-					$sql_last_attempt='SELECT exe_id FROM '.$tbl_stats_exercices.' WHERE exe_exo_id="'.$a_exercices['id'].'" AND exe_user_id="'.$_GET['student'].'" AND exe_cours_id="'.$a_infosCours['code'].'" ORDER BY exe_date DESC LIMIT 1';
-					$resultLastAttempt = api_sql_query($sql_last_attempt);
-					$id_last_attempt=mysql_result($resultLastAttempt,0,0);
-					
-					if($a_essais['essais']>0)
-						echo		'<a href="../exercice/exercise_show.php?id='.$id_last_attempt.'&cidReq='.$a_infosCours['code'].'&student='.$_GET['student'].'&origin='.(empty($_GET['origin']) ? 'tracking' : $_GET['origin']).'"> <img src="'.api_get_path(WEB_IMG_PATH).'quiz.gif" border="0"> </a>';
-					echo "	</td>
-						  </tr>
+				}
+				else
+				{
+					echo "	<tr>	
+								<td colspan='6'>
+									".get_lang('NoExercise')."
+								</td>
+							</tr>
 						 ";
-						 
-					$dataExercices[$i][] =  $a_exercices['title'];
-					$dataExercices[$i][] = $pourcentageScore.'%';
-					$dataExercices[$i][] =  $a_essais['essais'];
-					//$dataExercices[$i][] =  corrections;
-					$i++;
-				
 				}
 			}
 			else
@@ -729,7 +748,7 @@ if(!empty($_GET['student']))
 							</td>
 						</tr>
 					 ";
-				}
+			}
 					
 ?>					
 					</table>

+ 29 - 7
main/newscorm/lp_stats.php

@@ -71,7 +71,7 @@ if($origin != 'tracking')
 {
 	$output .= "<tr><td><div class='title'>".htmlentities(get_lang('ScormMystatus'), ENT_QUOTES, $dokeos_charset)."</div></td></tr>";
 }
-$output .= "<tr><td>&nbsp;</td></tr>"."<tr><td>"."<table border='0' class='data_table'><tr>\n".'<td width="16">'.$extend_all_link.'</td>'.'<td colspan="4" class="title"><div class="mystatusfirstrow">'.htmlentities(get_lang('ScormLessonTitle'), ENT_QUOTES, $dokeos_charset)."</div></td>\n".'<td colspan="2" class="title"><div class="mystatusfirstrow">'.htmlentities(get_lang('ScormStatus'), ENT_QUOTES, $dokeos_charset)."</div></td>\n".'<td colspan="2" class="title"><div class="mystatusfirstrow">'.htmlentities(get_lang('ScormScore'), ENT_QUOTES, $dokeos_charset)."</div></td>\n".'<td colspan="2" class="title"><div class="mystatusfirstrow">'.htmlentities(get_lang('ScormTime'), ENT_QUOTES, $dokeos_charset)."</div></td></tr>\n";
+$output .= "<tr><td>&nbsp;</td></tr>"."<tr><td>"."<table border='0' class='data_table'><tr>\n".'<td width="16">'.$extend_all_link.'</td>'.'<td colspan="4" class="title"><div class="mystatusfirstrow">'.htmlentities(get_lang('ScormLessonTitle'), ENT_QUOTES, $dokeos_charset)."</div></td>\n".'<td colspan="2" class="title"><div class="mystatusfirstrow">'.htmlentities(get_lang('ScormStatus'), ENT_QUOTES, $dokeos_charset)."</div></td>\n".'<td colspan="2" class="title"><div class="mystatusfirstrow">'.htmlentities(get_lang('ScormScore'), ENT_QUOTES, $dokeos_charset)."</div></td>\n".'<td colspan="2" class="title"><div class="mystatusfirstrow">'.htmlentities(get_lang('ScormTime'), ENT_QUOTES, $dokeos_charset)."</div></td><td class='title'><div class='mystatusfirstrow'>".get_lang('Actions')."</div></td></tr>\n";
 //going through the items using the $items[] array instead of the database order ensures
 // we get them in the same order as in the imsmanifest file, which is rather random when using
 // the database table
@@ -111,9 +111,9 @@ foreach ($list as $my_item_id) {
 		$qry_order = 'ASC';
 	}
 	if (!empty ($view)) {
-		$sql = "SELECT iv.status as mystatus, v.view_count as mycount, iv.score as myscore, iv.total_time as mytime, i.id as myid, i.title as mytitle, i.max_score as mymaxscore, i.item_type as item_type, iv.view_count as iv_view_count, iv.id as iv_id "." FROM $TBL_LP_ITEM as i, $TBL_LP_ITEM_VIEW as iv, $TBL_LP_VIEW as v "." WHERE i.id = iv.lp_item_id "." AND i.id = $my_item_id "." AND iv.lp_view_id = v.id "." AND i.lp_id = $lp_id "." AND v.user_id = ".$user_id.""." AND v.view_count = $view "." ORDER BY iv.view_count $qry_order ";
+		$sql = "SELECT iv.status as mystatus, v.view_count as mycount, iv.score as myscore, iv.total_time as mytime, i.id as myid, i.title as mytitle, i.max_score as mymaxscore, i.item_type as item_type, iv.view_count as iv_view_count, iv.id as iv_id, path as path "." FROM $TBL_LP_ITEM as i, $TBL_LP_ITEM_VIEW as iv, $TBL_LP_VIEW as v "." WHERE i.id = iv.lp_item_id "." AND i.id = $my_item_id "." AND iv.lp_view_id = v.id "." AND i.lp_id = $lp_id "." AND v.user_id = ".$user_id.""." AND v.view_count = $view "." ORDER BY iv.view_count $qry_order ";
 	} else {
-		$sql = "SELECT iv.status as mystatus, v.view_count as mycount, iv.score as myscore, iv.total_time as mytime, i.id as myid, i.title as mytitle, i.max_score as mymaxscore, i.item_type as item_type, iv.view_count as iv_view_count, iv.id as iv_id "." FROM $TBL_LP_ITEM as i, $TBL_LP_ITEM_VIEW as iv, $TBL_LP_VIEW as v "." WHERE i.id = iv.lp_item_id "." AND i.id = $my_item_id "." AND iv.lp_view_id = v.id "." AND i.lp_id = $lp_id "." AND v.user_id = ".$user_id." "." ORDER BY iv.view_count $qry_order ";
+		$sql = "SELECT iv.status as mystatus, v.view_count as mycount, iv.score as myscore, iv.total_time as mytime, i.id as myid, i.title as mytitle, i.max_score as mymaxscore, i.item_type as item_type, iv.view_count as iv_view_count, iv.id as iv_id, path as path "." FROM $TBL_LP_ITEM as i, $TBL_LP_ITEM_VIEW as iv, $TBL_LP_VIEW as v "." WHERE i.id = iv.lp_item_id "." AND i.id = $my_item_id "." AND iv.lp_view_id = v.id "." AND i.lp_id = $lp_id "." AND v.user_id = ".$user_id." "." ORDER BY iv.view_count $qry_order ";
 	}
 	$result = api_sql_query($sql, __FILE__, __LINE__);
 	$num = Database :: num_rows($result);
@@ -137,7 +137,18 @@ foreach ($list as $my_item_id) {
 		}
 
 		if ($row['item_type'] != 'dokeos_chapter') {
-			$output .= "<tr class='$oddclass'>\n"."<td>$extend_link</td>\n".'<td colspan="4" class="content"><div class="mystatus">'.$title."</div></td>\n".'<td colspan="2" class="content"></td>'."\n".'<td colspan="2" class="content"></td>'."\n".'<td colspan="2" class="content"></td>'."\n"."</tr>\n";
+			if($row['item_type'] == 'quiz'){
+				if($_SESSION['status'][$_course["id"]] == 5){
+					$correct_test_link = '<a href="../exercice/exercise_show.php?origin=student_progress&id='.$row['path'].'&cidReq='.$_SESSION['_course']['id'].'"><img src="'.api_get_path(WEB_IMG_PATH).'quiz.gif"></a>';
+				}
+				else{
+					$correct_test_link = '<a href="../exercice/exercise_show.php?origin=tracking_course&id='.$row['path'].'&cidReq='.$_SESSION['_course']['id'].'&student='.$_GET['student_id'].'"><img src="'.api_get_path(WEB_IMG_PATH).'quiz.gif"></a>';
+				}
+			}
+			else{
+				$correct_test_link='-';
+			}
+			$output .= "<tr class='$oddclass'>\n"."<td>$extend_link</td>\n".'<td colspan="4" class="content"><div class="mystatus">'.$title."</div></td>\n".'<td colspan="2" class="content"></td>'."\n".'<td colspan="2" class="content"></td>'."\n".'<td colspan="2" class="content"></td><td class="content">'.$correct_test_link.'</td>'."\n"."</tr>\n";
 		}
 
 		$counter ++;
@@ -185,7 +196,7 @@ foreach ($list as $my_item_id) {
 			if ($row['item_type'] != 'dokeos_chapter') {
 				$output .= "<tr class='$oddclass'>\n"."<td></td>\n"."<td>$extend_attempt_link</td>\n".'<td colspan="3">'.htmlentities(get_lang('Attempt'), ENT_QUOTES, $dokeos_charset).' '.$row['iv_view_count']."</td>\n"
 				//."<td><font color='$color'><div class='mystatus'>".htmlentities($array_status[$lesson_status],ENT_QUOTES,$charset_lang)."</div></font></td>\n"
-				.'<td colspan="2"><font color="'.$color.'"><div class="mystatus">'.$my_lesson_status."</div></font></td>\n".'<td colspan="2"><div class="mystatus" align="center">'. ($score == 0 ? '-' : $score.'/'.$maxscore)."</div></td>\n".'<td colspan="2"><div class="mystatus">'.$time."</div></td>\n"."</tr>\n";
+				.'<td colspan="2"><font color="'.$color.'"><div class="mystatus">'.$my_lesson_status."</div></font></td>\n".'<td colspan="2"><div class="mystatus" align="center">'. ($score == 0 ? '-' : $score.'/'.$maxscore)."</div></td>\n".'<td colspan="2"><div class="mystatus">'.$time."</div></td><td></td>\n"."</tr>\n";
 			}
 
 			$counter ++;
@@ -272,9 +283,20 @@ foreach ($list as $my_item_id) {
 		$my_lesson_status = htmlentities(get_lang($mylanglist[$lesson_status]), ENT_QUOTES, $dokeos_charset);
 
 		if ($row['item_type'] != 'dokeos_chapter') {
+			if($row['item_type'] == 'quiz'){
+				if($_SESSION['status'][$_course["id"]] == 5){
+					$correct_test_link = '<a href="../exercice/exercise_show.php?origin=student_progress&id='.$row['path'].'&cidReq='.$_SESSION['_course']['id'].'"><img src="'.api_get_path(WEB_IMG_PATH).'quiz.gif"></a>';
+				}
+				else{
+					$correct_test_link = '<a href="../exercice/exercise_show.php?origin=tracking_course&id='.$row['path'].'&cidReq='.$_SESSION['_course']['id'].'&student='.$_GET['student_id'].'"><img src="'.api_get_path(WEB_IMG_PATH).'quiz.gif"></a>';
+				}
+			}
+			else{
+				$correct_test_link='-';
+			}
 			$output .= "<tr class='$oddclass'>\n"."<td>$extend_link</td>\n".'<td colspan="4"><div class="mystatus">'.$title.'</div></td>'."\n"
 			//."<td><font color='$color'><div class='mystatus'>".htmlentities($array_status[$lesson_status],ENT_QUOTES,$charset_lang)."</div></font></td>\n"
-			.'<td colspan="2"><font color="'.$color.'"><div class="mystatus">'.$my_lesson_status."</div></font></td>\n".'<td colspan="2"><div class="mystatus" align="center">'. ($score == 0 ? '-' : $score.'/'.$maxscore)."</div></td>\n".'<td colspan="2"><div class="mystatus">'.$time."</div></td>\n"."</tr>\n";
+			.'<td colspan="2"><font color="'.$color.'"><div class="mystatus">'.$my_lesson_status."</div></font></td>\n".'<td colspan="2"><div class="mystatus" align="center">'. ($score == 0 ? '-' : $score.'/'.$maxscore)."</div></td>\n".'<td colspan="2"><div class="mystatus">'.$time."</div></td><td>$correct_test_link</td>\n"."</tr>\n";
 						
 			if($export_csv)
 			{
@@ -329,7 +351,7 @@ if (($counter % 2) == 0) {
 
 $output .= "<tr class='$oddclass'>\n"."<td></td>\n".'<td colspan="4"><div class="mystatus"><i>'.htmlentities(get_lang('AccomplishedStepsTotal'), ENT_QUOTES, $dokeos_charset)."</i></div></td>\n"
 //."<td><font color='$color'><div class='mystatus'>".htmlentities($array_status[$lesson_status],ENT_QUOTES,$charset_lang)."</div></font></td>\n"
-.'<td colspan="2"></td>'."\n".'<td colspan="2"><div class="mystatus" align="center">'. ($total_score == 0 ? '-' : $total_percent.'%')."</div></td>\n".'<td colspan="2"><div class="mystatus">'.$total_time.'</div></td>'."\n"."</tr>\n";
+.'<td colspan="2"></td>'."\n".'<td colspan="2"><div class="mystatus" align="center">'. ($total_score == 0 ? '-' : $total_percent.'%')."</div></td>\n".'<td colspan="2"><div class="mystatus">'.$total_time.'</div></td><td></td>'."\n"."</tr>\n";
 
 $output .= "</table></td></tr></table>";