Diff for /loncom/homework/lonhomework.pm between versions 1.211 and 1.214

version 1.211, 2005/06/06 01:21:53 version 1.214, 2005/07/14 02:40:10
Line 320  sub check_access { Line 320  sub check_access {
     &Apache::lonxml::debug("checking for part :$id:");      &Apache::lonxml::debug("checking for part :$id:");
     &Apache::lonxml::debug("time:".time);      &Apache::lonxml::debug("time:".time);
   
       my ($symb)=&Apache::lonxml::whichuser();
       &Apache::lonxml::debug("symb:".$symb);
       #if ($env{'request.state'} ne "construct" && $symb ne '') {
     if ($env{'request.state'} ne "construct") {      if ($env{'request.state'} ne "construct") {
  my $allowed=&check_ip_acc(&Apache::lonnet::EXT("resource.$id.acc"));   my $allowed=&check_ip_acc(&Apache::lonnet::EXT("resource.$id.acc"));
  if (!$allowed && ($Apache::lonhomework::browse ne 'F')) {   if (!$allowed && ($Apache::lonhomework::browse ne 'F')) {
Line 372  sub check_access { Line 375  sub check_access {
     $datemsg = &mt("was due on")." $lastdate".&mt(", and answers will be available on")." $date";      $datemsg = &mt("was due on")." $lastdate".&mt(", and answers will be available on")." $date";
  }   }
     }      }
     if ($status eq 'CAN_ANSWER') {      if ($status eq 'CAN_ANSWER' ||
    (($Apache::lonhomework::browse eq 'F') && ($status eq 'CLOSED'))) {
  #check #tries, and if correct.   #check #tries, and if correct.
  my $tries = $Apache::lonhomework::history{"resource.$id.tries"};   my $tries = $Apache::lonhomework::history{"resource.$id.tries"};
  my $maxtries = &Apache::lonnet::EXT("resource.$id.maxtries");   my $maxtries = &Apache::lonnet::EXT("resource.$id.maxtries");
Line 707  sub editxmlmode { Line 711  sub editxmlmode {
     $bodytag=&Apache::loncommon::bodytag();      $bodytag=&Apache::loncommon::bodytag();
  }   }
  my $html=&Apache::lonxml::xmlbegin();   my $html=&Apache::lonxml::xmlbegin();
  $result.=$html.$bodytag.&Apache::lonxml::message_location().'   $result.=$html.$bodytag.
       &renderpage($request,$file,['no_output_web'],1).
       &Apache::lonxml::message_location().'
             <form name="lonhomework" method="POST" action="'.              <form name="lonhomework" method="POST" action="'.
     &HTML::Entities::encode($env{'request.uri'},'<>&"').'">'.      &HTML::Entities::encode($env{'request.uri'},'<>&"').'">'.
     &Apache::structuretags::remember_problem_state().'      &Apache::structuretags::remember_problem_state().'
Line 733  sub editxmlmode { Line 739  sub editxmlmode {
 #    Render the page in whatever target desired.  #    Render the page in whatever target desired.
 #  #
 sub renderpage {  sub renderpage {
     my ($request,$file,$targets) = @_;      my ($request,$file,$targets,$return_string) = @_;
   
     my @targets = @{$targets || [&get_target()]};      my @targets = @{$targets || [&get_target()]};
     &Apache::lonhomework::showhashsubset(\%env,'form.');      &Apache::lonhomework::showhashsubset(\%env,'form.');
Line 767  sub renderpage { Line 773  sub renderpage {
  my $result = &Apache::lonxml::xmlparse($request, $target, $problem,   my $result = &Apache::lonxml::xmlparse($request, $target, $problem,
        &setup_vars($target),%mystyle);         &setup_vars($target),%mystyle);
  undef($Apache::lonhomework::parsing_a_problem);   undef($Apache::lonhomework::parsing_a_problem);
  if (!$output) { $result = &Apache::lonxml::message_location(); }   if (!$output) { $result = ''; }
  #$request->print("Result follows:");   #$request->print("Result follows:");
  if ($target eq 'modified') {   if ($target eq 'modified') {
     &handle_save_or_undo($request,\$problem,\$result);      &handle_save_or_undo($request,\$problem,\$result);
Line 788  sub renderpage { Line 794  sub renderpage {
  #$request->print(":Result ends");   #$request->print(":Result ends");
  #my $td=&tv_interval($t0);   #my $td=&tv_interval($t0);
     }      }
     &Apache::lonxml::add_messages(\$overall_result);      if (!$return_string) {
     $request->print($overall_result);      &Apache::lonxml::add_messages(\$overall_result);
     $request->rflush();      $request->print($overall_result);   
    $request->rflush();   
       } else {
    return $overall_result;
       }
 }  }
   
 # with no arg it returns a HTML <option> list of the template titles  # with no arg it returns a HTML <option> list of the template titles
Line 952  sub handler { Line 962  sub handler {
  &renderpage($request,$file);   &renderpage($request,$file);
     } elsif ($env{'form.problemmode'} eq &mt('EditXML') ||      } elsif ($env{'form.problemmode'} eq &mt('EditXML') ||
      $env{'form.problemmode'} eq 'EditXML') {       $env{'form.problemmode'} eq 'EditXML') {
  &renderpage($request,$file,['no_output_web']);  
  &editxmlmode($request,$file);   &editxmlmode($request,$file);
     } elsif ($env{'form.problemmode'} eq &mt('Calculate answers')) {      } elsif ($env{'form.problemmode'} eq &mt('Calculate answers')) {
  &analyze($request,$file);   &analyze($request,$file);

Removed from v.1.211  
changed lines
  Added in v.1.214


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>