Diff for /loncom/homework/structuretags.pm between versions 1.25 and 1.30

version 1.25, 2000/12/29 21:54:06 version 1.30, 2001/01/11 16:11:16
Line 54  sub start_problem { Line 54  sub start_problem {
     if ( $status eq 'CLOSED' ) {      if ( $status eq 'CLOSED' ) {
       my $bodytext=&Apache::lonxml::get_all_text("/problem",$$parser[$#$parser]);        my $bodytext=&Apache::lonxml::get_all_text("/problem",$$parser[$#$parser]);
       if ( $target eq "web" ) {        if ( $target eq "web" ) {
  return "<br></br>Problem is not open to be viewed. The problem $datemsg<br></br>";   return "<body bgcolor=#FFFFFF> <br></br>Problem is not open to be viewed. The problem $datemsg<br></br>";
       }        }
     }       } 
   }    }
Line 62  sub start_problem { Line 62  sub start_problem {
     my $args ='';      my $args ='';
     if ( $#$parstack > -1 ) { $args=$$parstack[$#$parstack]; }      if ( $#$parstack > -1 ) { $args=$$parstack[$#$parstack]; }
     my $name = &Apache::run::run("{$args;".'return $name}',$safeeval);      my $name = &Apache::run::run("{$args;".'return $name}',$safeeval);
       if ($name eq '') { 
         $name=&Apache::lonnet::EXT('resource.title');
         if ($name eq 'con_lost') { $name = ''; }
       }
       $Apache::lonhomework::name=$name;
     if ($status eq 'CAN_ANSWER') {      if ($status eq 'CAN_ANSWER') {
       # create a page header and exit        # create a page header and exit
       return "<title>$name</title>\n<body bgcolor=#FFFFFF>\n<form name=\"lonhomework\" method=\"POST\" action=\"".$ENV{'request.uri'}."\">";        return "<title>$name</title>\n<body bgcolor=#FFFFFF>\n<form name=\"lonhomework\" method=\"POST\" action=\"".$ENV{'request.uri'}."\">";
     } elsif ($status eq 'SHOW_ANSWER') {      } elsif ($status eq 'SHOW_ANSWER' || $status eq 'CANNOT_ANSWER' || $status eq 'CLOSED') {
       return "<title>$name</title>\n<body bgcolor=#FFFFFF>\n";        return "<title>$name</title>\n<body bgcolor=#FFFFFF>\n";
     }      }
   }    }
Line 77  sub end_problem { Line 82  sub end_problem {
   my $result='';    my $result='';
   my $status=$Apache::inputtags::status['-1'];    my $status=$Apache::inputtags::status['-1'];
   unless ($target eq 'meta') {    unless ($target eq 'meta') {
     if ( $target eq 'grade' && $Apache::inputtags::part eq '0') {      if ( $target eq 'grade' && $Apache::inputtags::part eq '0' &&
          $status eq 'CAN_ANSWER') {
       # if part is zero, no <part>s existed, so we need to the grading        # if part is zero, no <part>s existed, so we need to the grading
       &Apache::inputtags::grade;        &Apache::inputtags::grade;
     } elsif ($Apache::inputtags::part eq '0') {      } elsif ($Apache::inputtags::part eq '0') {
Line 88  sub end_problem { Line 94  sub end_problem {
     if ($target eq 'web') {       if ($target eq 'web') { 
       if ($status eq 'CAN_ANSWER') {        if ($status eq 'CAN_ANSWER') {
  $result.="</form></body>\n";    $result.="</form></body>\n"; 
       } elsif ($status eq 'SHOW_ANSWER') {        } elsif ($status eq 'SHOW_ANSWER' || $status eq 'CANNOT_ANSWER') {
  $result.="</body>\n";    $result.="</body>\n"; 
       }         } 
     }      }
Line 231  sub start_part { Line 237  sub start_part {
 sub end_part {  sub end_part {
   my ($target,$token,$parstack,$parser,$safeeval)=@_;    my ($target,$token,$parstack,$parser,$safeeval)=@_;
   &Apache::lonxml::debug("in end_part $target ");    &Apache::lonxml::debug("in end_part $target ");
     my $status=$Apache::inputtags::status['-1'];
   pop @Apache::inputtags::status;    pop @Apache::inputtags::status;
   if ( $target eq 'meta' ) { return ''; }    if ( $target eq 'meta' ) { return ''; }
   if ( $target eq 'grade' ) { return &Apache::inputtags::grade; }    if ( $target eq 'grade' && $status eq 'CAN_ANSWER') { 
       return &Apache::inputtags::grade; 
     }
   return &Apache::inputtags::gradestatus($Apache::inputtags::part);    return &Apache::inputtags::gradestatus($Apache::inputtags::part);
 }  }
   
 sub start_preduedate {  sub start_preduedate {
   my ($target,$token,$parstack,$parser,$safeeval)=@_;    my ($target,$token,$parstack,$parser,$safeeval)=@_;
   if ($target ne 'meta') {    if ($target ne 'meta') {
     if ($Apache::inputtags::status['-1'] ne 'CAN_ANSWER') {      if ($Apache::inputtags::status['-1'] ne 'CAN_ANSWER' &&
       &Apache::lonxml::get_all_text("/pre_duedate",$$parser[$#$parser]);   $Apache::inputtags::status['-1'] ne 'CANNOT_ANSWER' ) {
         &Apache::lonxml::get_all_text("/preduedate",$$parser[$#$parser]);
     }      }
   }    }
   return '';    return '';
Line 255  sub start_postanswerdate { Line 265  sub start_postanswerdate {
   my ($target,$token,$parstack,$parser,$safeeval)=@_;    my ($target,$token,$parstack,$parser,$safeeval)=@_;
   if ($target ne 'meta') {    if ($target ne 'meta') {
     if ($Apache::inputtags::status['-1'] ne 'SHOW_ANSWER') {      if ($Apache::inputtags::status['-1'] ne 'SHOW_ANSWER') {
       &Apache::lonxml::get_all_text("/post_answerdate",$$parser[$#$parser]);        &Apache::lonxml::get_all_text("/postanswerdate",$$parser[$#$parser]);
     }      }
   }    }
   return '';    return '';
Line 272  sub start_notsolved { Line 282  sub start_notsolved {
     &Apache::lonxml::debug("not solved has :$gradestatus:");      &Apache::lonxml::debug("not solved has :$gradestatus:");
     if ($gradestatus =~ /^correct/) {      if ($gradestatus =~ /^correct/) {
       &Apache::lonxml::debug("skipping");        &Apache::lonxml::debug("skipping");
       &Apache::lonxml::get_all_text("/not_solved",$$parser[$#$parser]);        &Apache::lonxml::get_all_text("/notsolved",$$parser[$#$parser]);
     }      }
   }    }
   return '';    return '';

Removed from v.1.25  
changed lines
  Added in v.1.30


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