diff --git a/mod/scorm/report.php b/mod/scorm/report.php
old mode 100755
new mode 100644
index 40ec8ac..ffa1dfc
--- a/mod/scorm/report.php
+++ b/mod/scorm/report.php
@@ -1,4 +1,4 @@
-<?php  // $Id$
+<?php  // $Id: report.php,v 1.46.2.13 2010/04/21 22:42:31 danmarsden Exp $
 
 // This script uses installed report plugins to print quiz reports
 
@@ -175,7 +175,7 @@
                         $row[] = print_user_picture($scouser->userid, $course->id, $userdata->picture, false, true);
                         $row[] = '<a href="'.$CFG->wwwroot.'/user/view.php?id='.$scouser->userid.'&amp;course='.$course->id.'">'.
                                  fullname($userdata).'</a>';
-                        $row[] = '<a href="report.php?a='.$scorm->id.'&amp;user='.$scouser->userid.'&amp;attempt='.$a.'">'.$a.'</a>';
+                        $row[] = '<a href="report.php?a='.$scorm->id.'&amp;user='.$scouser->userid.'&amp;attempt='.$a.'">'.get_string('attempt','scorm').' '.$a.'</a>';
                         $select = 'scormid = '.$scorm->id.' and userid = '.$scouser->userid.' and attempt = '.$a;
 //                        $timetracks = get_record_select('scorm_scoes_track', $select,'min(timemodified) as started, max(timemodified) as last');
                         $timetracks = scorm_get_sco_runtime($scorm->id, false, $scouser->userid, $a);
@@ -259,7 +259,7 @@
                                 }
                                 $strstatus = get_string($trackdata->status,'scorm');
                                 $row[] = '<img src="'.$scormpixdir.'/'.$trackdata->status.'.gif" alt="'.$strstatus.'" title="'.
-                                         $strstatus.'" />&nbsp;'.format_string($sco->title);
+                                         $strstatus.'" />&nbsp;'.'<a href="'.$CFG->wwwroot.'/mod/scorm/player.php?a='.$scorm->id.'&amp;mode=review&amp;user='.$user.'&amp;scoid='.$sco->id.'">'.format_string($sco->title).'</a>';
                                 $row[] = get_string($trackdata->status,'scorm');
                                 $row[] = scorm_format_date_time($trackdata->total_time);
                                 $row[] = $score;
@@ -281,7 +281,7 @@
         if (!empty($userdata)) {
             print_simple_box_start('center');
             //print_heading(format_string($sco->title));
-            print_heading('<a href="'.$CFG->wwwroot.'/mod/scorm/player.php?a='.$scorm->id.'&amp;mode=browse&amp;scoid='.$sco->id.'" target="_new">'.format_string($sco->title).'</a>');
+            print_heading('<a href="'.$CFG->wwwroot.'/mod/scorm/player.php?a='.$scorm->id.'&amp;mode=review&amp;user='.$user.'&amp;scoid='.$sco->id.'">'.format_string($sco->title).'</a>');
             echo '<div class="mdl-align">'."\n";
             print_user_picture($user, $course->id, $userdata->picture, false, false);
             echo "<a href=\"$CFG->wwwroot/user/view.php?id=$user&amp;course=$course->id\">".
@@ -349,13 +349,14 @@
             // Print Interactions data
             $table = new stdClass();
             $table->head = array(get_string('identifier','scorm'),
+            					 get_string('description','scorm'),
                                  get_string('type','scorm'),
                                  get_string('result','scorm'),
                                  get_string('student_response','scorm'));
-            $table->align = array('center', 'center', 'center', 'center');
-            $table->wrap = array('nowrap', 'nowrap', 'nowrap', 'nowrap');
+            $table->align = array('left', 'left', 'center', 'center', 'center');
+            $table->wrap = array('nowrap', 'wrap', 'nowrap', 'nowrap', 'nowrap');
             $table->width = '100%';
-            $table->size = array('*', '*', '*', '*', '*');
+            $table->size = array('*', '*', '*', '*', '*', '*');
 
             $existinteraction = false;
 
@@ -365,7 +366,8 @@
             while (isset($trackdata->$interactionid)) {
                 $existinteraction = true;
                 $printedelements[]=$interactionid;
-                $elements = array($interactionid,
+                $elements = array($interactionid, 
+                				  'cmi.interactions.'.$i.'.description',
                                   'cmi.interactions.'.$i.'.type',
                                   'cmi.interactions.'.$i.'.result',
                                   'cmi.interactions.'.$i.'.learner_response');
@@ -391,14 +393,15 @@
             // Print Objectives data
             $table = new stdClass();
             $table->head = array(get_string('identifier','scorm'),
+            					 get_string('description','scorm'),
                                  get_string('status','scorm'),
                                  get_string('raw','scorm'),
                                  get_string('min','scorm'),
                                  get_string('max','scorm'));
-            $table->align = array('center', 'center', 'center', 'center', 'center');
-            $table->wrap = array('nowrap', 'nowrap', 'nowrap', 'nowrap', 'nowrap');
+            $table->align = array('left', 'left', 'center', 'center', 'center', 'center');
+            $table->wrap = array('nowrap', 'wrap', 'nowrap', 'nowrap', 'nowrap', 'nowrap');
             $table->width = '100%';
-            $table->size = array('*', '*', '*', '*', '*');
+            $table->size = array('*', '*', '*', '*', '*', '*');
 
             $existobjective = false;
 
@@ -409,7 +412,8 @@
                 $existobjective = true;
                 $printedelements[]=$objectiveid;
                 $elements = array($objectiveid,
-                                  'cmi.objectives.'.$i.'.status',
+                				  'cmi.objectives.'.$i.'.description',
+                                  'cmi.objectives.'.$i.'.completion_status',
                                   'cmi.objectives.'.$i.'.score.raw',
                                   'cmi.objectives.'.$i.'.score.min',
                                   'cmi.objectives.'.$i.'.score.max');
@@ -431,6 +435,46 @@
                 echo '<h3>'.get_string('objectives','scorm').'</h3>';
                 print_table($table);
             }
+            
+           	// Print Comments data
+            $table = new stdClass();
+            $table->head = array(get_string('date'),
+            					 get_string('time','scorm'),
+                                 get_string('value','scorm'));
+            $table->align = array('left', 'left', 'left');
+            $table->wrap = array('nowrap', 'nowrap', 'wrap');
+            $table->width = '100%';
+            $table->size = array('*', '*', '*');
+
+            $existobjective = false;
+
+            $i = 0;
+            $comment = 'cmi.comments_from_learner.'.$i.'.timestamp';
+
+            while (isset($trackdata->$comment)) {
+                $existobjective = true;
+                $elements = array('cmi.comments_from_learner.'.$i.'.timestamp',
+                                  'cmi.comments_from_learner.'.$i.'.location',
+                                  'cmi.comments_from_learner.'.$i.'.comment');
+                $row = array();
+                foreach ($elements as $element) {
+                    if (isset($trackdata->$element)) {
+                        $row[] = s($trackdata->$element);
+                        $printedelements[]=$element;
+                    } else {
+                        $row[] = '&nbsp;';
+                    }
+                }
+                $table->data[] = $row;
+
+                $i++;
+                $comment = 'cmi.comments_from_learner.'.$i.'.timestamp';
+            }
+            if ($existobjective) {
+                echo '<h3>'.get_string('comments','scorm').'</h3>';
+                print_table($table);
+            }
+            
             $table = new stdClass();
             $table->head = array(get_string('element','scorm'), get_string('value','scorm'));
             $table->align = array('left', 'left');
