--- loncom/interface/lontrackstudent.pm	2014/04/15 12:05:41	1.37
+++ loncom/interface/lontrackstudent.pm	2024/11/21 07:26:03	1.41
@@ -1,6 +1,6 @@
 # The LearningOnline Network with CAPA
 #
-# $Id: lontrackstudent.pm,v 1.37 2014/04/15 12:05:41 bisitz Exp $
+# $Id: lontrackstudent.pm,v 1.41 2024/11/21 07:26:03 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -46,6 +46,7 @@ use strict;
 use Apache::Constants qw(:common :http);
 use Apache::lonmysql;
 use Apache::lonnet;
+use Apache::loncommon;
 use Apache::lonlocal;
 use Time::HiRes;
 use DateTime();
@@ -185,7 +186,7 @@ sub get_max_time_in_db {
     &Apache::lonhtmlcommon::Update_PrgWin
         ($r,$prog_state,&mt('Parsing results'));
     #
-    if (! open(TIMEDATA,$results_file)) {
+    if (! open(TIMEDATA,"<",$results_file)) {
         $r->print('<p class="LC_error">'.&mt('Unable to read results file.').'</p>'.
                   '<p>'.
                   &mt('This is a serious error and has been logged.').
@@ -254,7 +255,7 @@ sub output_results {
         $r->print('<p class="LC_info">'.&mt('So far, no data has been returned for your request').'</p>');
         return -1;
     }
-    if (! open(ACTIVITYDATA,$results_file)) {
+    if (! open(ACTIVITYDATA,"<",$results_file)) {
         $r->print('<p class="LC_error">'.&mt('Unable to read results file.').'</p>'.
                   '<p>'.
                   &mt('This is a serious error and has been logged.').
@@ -324,6 +325,9 @@ sub output_results {
 	    $_=&unescape($_);
 	}
         my ($title,$src);
+        if ($symb =~ m{^\Q/tiny/$cdom/\E\w+$}) {
+            $symb = &Apache::loncommon::symb_from_tinyurl($symb,$cnum,$cdom);
+        }
         if ($symb =~ m:^/adm/:) {
             $title = $symb;
             $src = $symb;
@@ -346,6 +350,9 @@ sub output_results {
                     $src   = '/dev/null';
                 }
             }
+            if ($src =~ /.sequence$/) {
+                $src .= '?navmap=1';
+            }
         }
         my %classes;
         my $class_count=0;
@@ -432,7 +439,7 @@ sub convert_timezone {
 sub display_values {
     my ($action,$values)=@_;
     my $result='<table>';
-    if ($action eq 'CSTORE') {
+    if (($action eq 'CSTORE') || ($action eq 'PUTSTORE') || ($action eq 'EXPORT')) {
         my $is_anon;
 	my %values=map {split('=',$_,-1)} split(/\&/,$values);
 	foreach my $key (sort(keys(%values))) {
@@ -580,6 +587,7 @@ sub handler {
     my $args;
     if ($env{'form.only_body'}) {
         $args = { only_body => 1, };
+        $args->{'add_progressbar'} = 1;
     }
     $r->print(&Apache::loncommon::start_page('Student Activity',&styles(),$args).
               &Apache::lonhtmlcommon::breadcrumbs('Student Activity'));