--- rat/lonwrapper.pm 2017/12/22 02:01:01 1.67 +++ rat/lonwrapper.pm 2017/12/30 00:16:36 1.68 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Wrapper for external and binary files as standalone resources # -# $Id: lonwrapper.pm,v 1.67 2017/12/22 02:01:01 raeburn Exp $ +# $Id: lonwrapper.pm,v 1.68 2017/12/30 00:16:36 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -38,6 +38,7 @@ use Apache::loncommon(); use Apache::lonhtmlcommon(); use Apache::lonextresedit(); use Apache::lonexttool(); +use Apache::lonhomework(); use LONCAPA qw(:DEFAULT :match); use HTML::Entities(); @@ -82,14 +83,24 @@ sub wrapper { $args->{'only_body'} = $env{'form.only_body'}; } - my $countdown; + my ($countdown,$donemsg); if (($exttool) && (&Apache::lonnet::EXT('resource.0.gradable') =~ /^yes$/i)) { $Apache::lonhomework::browse = &Apache::lonnet::allowed('bre',$url); if ($env{'form.markaccess'}) { - my @interval=&Apache::lonnet::EXT("resource.0.interval"); + my $symb=&Apache::lonnet::symbread($url); + my @interval=&Apache::lonnet::EXT('resource.0.interval',$symb); my ($timelimit) = split(/_/,$interval[0]); - &Apache::lonnet::set_first_access($interval[1],$timelimit); - delete($env{'form.markaccess'}); + my $setres = &Apache::lonnet::set_first_access($interval[1],$timelimit); + if ($setres eq 'ok') { + delete($env{'form.markaccess'}); + } + } elsif ($env{'form.LC_interval_done'} eq 'true') { + my $symb=&Apache::lonnet::symbread($url); + if ($symb) { + (my $donebuttonresult,$donemsg) = &Apache::lonhomework::zero_timer($symb); + undef($env{'form.LC_interval_done'}); + undef($env{'form.LC_interval_done_proctorpass'}); + } } my ($status,$result,$resource_due) = &Apache::lonexttool::gradabletool_access_check(); @@ -118,7 +129,7 @@ sub wrapper { } } - my $startpage = &Apache::loncommon::start_page('Menu',undef,$args).$countdown; + my $startpage = &Apache::loncommon::start_page('Menu',undef,$args).$countdown.$donemsg; my $endpage = &Apache::loncommon::end_page(); if (($env{'browser.mobile'}) || ($exttool eq 'window') || ($exttool eq 'tab')) {