--- loncom/homework/lonhomework.pm 2004/05/25 21:25:53 1.175 +++ loncom/homework/lonhomework.pm 2004/09/27 18:38:33 1.178.2.1 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # The LON-CAPA Homework handler # -# $Id: lonhomework.pm,v 1.175 2004/05/25 21:25:53 albertel Exp $ +# $Id: lonhomework.pm,v 1.178.2.1 2004/09/27 18:38:33 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -292,7 +292,26 @@ sub check_access { $status = 'CANNOT_ANSWER'; } } - + if ($status eq 'CAN_ANSWER') { + my $interval=&Apache::lonnet::EXT("resource.$id.interval"); + &Apache::lonxml::debug("looking for interval $interval"); + if ($interval) { + my $first_access=&Apache::lonnet::get_first_access('map'); + &Apache::lonxml::debug("looking for accesstime $first_access"); + if (!$first_access) { + $status='NOT_YET_VIEWED'; + $datemsg=' '.$interval.' seconds'; + } else { + my $newdate=localtime($first_access+$interval); + if (time > ($first_access+$interval)) { + $status='CLOSED'; + $datemsg = &mt("was due on")." $newdate".&mt(", and answers will be available on")." $date"; + } else { + $datemsg = &mt("is due at")." $newdate"; + } + } + } + } #if (($status ne 'CLOSED') && ($Apache::lonhomework::type eq 'exam') && # (!$Apache::lonhomework::history{"resource.0.outtoken"})) { # return ('UNCHECKEDOUT','needs to be checked out'); @@ -434,7 +453,7 @@ sub analyze_header { '.&mt("Analyzing a problem").' '.&Apache::lonxml::message_location().'
+ &HTML::Entities::encode($ENV{'request.uri'},'<>&"').'">
@@ -546,15 +565,15 @@ sub editxmlmode { &Apache::loncommon::helpLatexCheatsheet("Problem_Editor_XML_Index", "Problem Editing Help"). ''. - &Apache::loncommon::help_open_faq(5). - &Apache::loncommon::help_open_bug('Authoring').''; + &Apache::loncommon::help_open_menu('',undef,undef,undef,5,'Authoring'). + ''; if ($cols > 80) { $cols = 80; } if ($cols < 70) { $cols = 70; } if ($rows < 20) { $rows = 20; } $result.=''. &Apache::lonxml::message_location().' + &HTML::Entities::encode($ENV{'request.uri'},'<>&"').'"> @@ -669,8 +688,8 @@ sub newproblem { copy($templatefilename,$dest); &renderpage($request,$dest); } else { - my $url=$request->uri; - my $shownurl=$url; + my $url=&HTML::Entities::encode($request->uri,'<>&"'); + my $shownurl=$url; $shownurl=~s-^/~-/priv/-; my $dest = &Apache::lonnet::filelocation("",$request->uri); my $errormsg; @@ -709,7 +728,7 @@ ENDNEWPROBLEM sub view_or_edit_menu { my ($request) = @_; - my $url=$request->uri; + my $url=&HTML::Entities::encode($request->uri,'<>&"'); my %lt=&Apache::lonlocal::texthash( 'would' => 'Would you like to', 'view' => 'View', 'Edit' => 'edit', @@ -734,9 +753,7 @@ sub handler { if (&setupheader($request)) { return OK; } $ENV{'request.uri'}=$request->uri; - #setup permissions - $Apache::lonhomework::browse= &Apache::lonnet::allowed('bre',$ENV{'request.filename'}); - $Apache::lonhomework::viewgrades=&Apache::lonnet::allowed('vgr',$ENV{'request.course.id'}); + &setuppermissions(); &Apache::lonxml::debug("Permissions:$Apache::lonhomework::browse:$Apache::lonhomework::viewgrades:"); # some times multiple problemmodes are submitted, need to select # the last one