Diff for /loncom/homework/lonhomework.pm between versions 1.73 and 1.74

version 1.73, 2002/03/22 20:11:00 version 1.74, 2002/03/29 18:32:46
Line 61  sub get_target { Line 61  sub get_target {
       return ('web');        return ('web');
     }      }
   } elsif ($ENV{'request.state'} eq "construct") {    } elsif ($ENV{'request.state'} eq "construct") {
       if ( defined($ENV{'form.grade_target'}) ) {
         return ($ENV{'form.grade_target'});
       }
     if ( defined($ENV{'form.preview'})) {      if ( defined($ENV{'form.preview'})) {
       if ( defined($ENV{'form.submitted'})) {        if ( defined($ENV{'form.submitted'})) {
  return ('grade', 'web');   return ('grade', 'web');
Line 270  sub handle_save_or_undo { Line 273  sub handle_save_or_undo {
   return $error;    return $error;
 }  }
   
   sub analyze {
     my ($request,$file) = @_;
     &Apache::lonxml::debug("Analyze");
     my $result=&Apache::lonnet::ssi($request->uri,('grade_target' => 'analyze'));
     &Apache::lonxml::debug(":$result:");
     (my $garbage,$result)=split(/_HASH_REF__/,$result,2);
     &showhash(&Apache::lonnet::str2hash($result));
     return $result;
   }
   
 sub editxmlmode {  sub editxmlmode {
   my ($request,$file) = @_;    my ($request,$file) = @_;
   my $result;    my $result;
Line 319  sub renderpage { Line 332  sub renderpage {
     my $result = '';      my $result = '';
     &Apache::inputtags::initialize_inputtags;      &Apache::inputtags::initialize_inputtags;
     &Apache::edit::initialize_edit;      &Apache::edit::initialize_edit;
       if ($target eq 'analyze') { %Apache::lonhomework::anaylze=(); }
     if ($target eq 'web') {      if ($target eq 'web') {
       if (&Apache::lonnet::symbread() eq '') {        if (&Apache::lonnet::symbread() eq '') {
  if ($ENV{'request.state'} eq "construct") {   if ($ENV{'request.state'} eq "construct") {
Line 343  sub renderpage { Line 357  sub renderpage {
     if ($target eq 'modified') {      if ($target eq 'modified') {
       &handle_save_or_undo($request,\$problem,\$result);        &handle_save_or_undo($request,\$problem,\$result);
     } else {      } else {
         if ($target eq 'analyze') {
    $result=&Apache::lonnet::hashref2str(\%Apache::lonhomework::analyze);
         }
       #my $td=&tv_interval($t0);        #my $td=&tv_interval($t0);
       #if ( $Apache::lonxml::debug) {        #if ( $Apache::lonxml::debug) {
  #$result =~ s:</body>::;   #$result =~ s:</body>::;
Line 454  sub handler { Line 471  sub handler {
   # the last one    # the last one
   if ( defined($ENV{'form.problemmode'}) &&    if ( defined($ENV{'form.problemmode'}) &&
        defined(@{ $ENV{'form.problemmode'} })) {         defined(@{ $ENV{'form.problemmode'} })) {
     &Apache::lonxml::debug("3Problem Modes ".$ENV{'form.problemmode'});  
     my $mode=$ENV{'form.problemmode'}->[-1];      my $mode=$ENV{'form.problemmode'}->[-1];
     undef $ENV{'form.problemmode'};      undef $ENV{'form.problemmode'};
     $ENV{'form.problemmode'}=$mode;      $ENV{'form.problemmode'}=$mode;
Line 484  sub handler { Line 500  sub handler {
  &renderpage($request,$file);   &renderpage($request,$file);
       } elsif ($ENV{'form.problemmode'} eq 'EditXML') {        } elsif ($ENV{'form.problemmode'} eq 'EditXML') {
  &editxmlmode($request,$file);   &editxmlmode($request,$file);
         } elsif ($ENV{'form.problemmode'} eq 'Answer Distribution') {
    &analyze($request,$file);
       } else {        } else {
  &renderpage($request,$file);   &renderpage($request,$file);
       }        }
Line 493  sub handler { Line 511  sub handler {
     }      }
   } else {    } else {
     # just render the page normally outside of construction space      # just render the page normally outside of construction space
       &Apache::lonxml::debug("not construct");
     &renderpage($request,$file);      &renderpage($request,$file);
   }    }
   #my $td=&tv_interval($t0);    #my $td=&tv_interval($t0);

Removed from v.1.73  
changed lines
  Added in v.1.74


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