Diff for /loncom/homework/structuretags.pm between versions 1.289 and 1.297

version 1.289, 2005/04/22 17:15:33 version 1.297, 2005/07/05 18:59:03
Line 68  sub end_tex { Line 68  sub end_tex {
     return '';      return '';
 }  }
   
   sub body_tag_start {
       my ($target,$background,$bgcolor)=@_;
       my $body_tag_start='<body onload="'.&Apache::lonmenu::loadevents().'" '.
    'onunload="'.&Apache::lonmenu::unloadevents().'" ';
       if ($env{'browser.imagesuppress'} eq 'on') { $background=''; }
       if ($background) {
    $Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=
       $background;
    $body_tag_start.='background="'.$background.'" ';
       } else {
    if (($bgcolor) && ($env{'browser.blackwhite'} ne 'on')) {
       $body_tag_start.='bgcolor="'.$bgcolor.'" ';
    } else {
       $body_tag_start.='bgcolor="#ffffff"';
    }
       }
       if ($env{'browser.fontenhance'} eq 'on') {
    $body_tag_start.=' style="font-size: x-large;" ';
       }
       $body_tag_start.='>'.&Apache::lonmenu::menubuttons(undef,$target,1);
       
       &Apache::lontexconvert::jsMath_reset();
       if ($env{'environment.texengine'} eq 'jsMath') {
    $body_tag_start.=&Apache::lontexconvert::jsMath_header();
       }
       return $body_tag_start;
   }
   
 sub page_start {  sub page_start {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
     my %found;      my %found;
Line 90  sub page_start { Line 118  sub page_start {
     my $body_tag_start;      my $body_tag_start;
     if (!defined($found{'body'}) && $env{'request.state'} eq 'construct'      if (!defined($found{'body'}) && $env{'request.state'} eq 'construct'
  && $env{'environment.remote'} eq 'off') {   && $env{'environment.remote'} eq 'off') {
  $body_tag_start=&Apache::loncommon::bodytag();   if ($target eq 'web') {
  $body_tag_start.=&Apache::lonxml::message_location();      $body_tag_start=&Apache::loncommon::bodytag();
       $body_tag_start.=&Apache::lonxml::message_location();
    }
     } elsif (!defined($found{'body'})) {      } elsif (!defined($found{'body'})) {
  $body_tag_start='<body onload="'.&Apache::lonmenu::loadevents().'" '.  
     'onunload="'.&Apache::lonmenu::unloadevents().'" ';  
  my $background=&Apache::lonxml::get_param('background',$parstack,   my $background=&Apache::lonxml::get_param('background',$parstack,
   $safeeval);    $safeeval);
  if ($env{'browser.imagesuppress'} eq 'on') { $background=''; }   my $bgcolor=&Apache::lonxml::get_param('bgcolor',$parstack,
  if ($background) {         $safeeval);
     $Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=   $body_tag_start=&body_tag_start($background,$bgcolor);
  $background;   if ( ($target eq 'web' || $target eq 'webgrade')
     $body_tag_start.='background="'.$background.'" ';       && $env{'request.state'} ne 'construct') {
  } else {  
     my $bgcolor=&Apache::lonxml::get_param('bgcolor',$parstack,  
    $safeeval);  
     if (($bgcolor) && ($env{'browser.blackwhite'} ne 'on')) {  
  $body_tag_start.='bgcolor="'.$bgcolor.'" ';  
     } else {  
  $body_tag_start.='bgcolor="#ffffff"';  
     }  
  }  
  if ($env{'browser.fontenhance'} eq 'on') {  
     $body_tag_start.=' style="font-size: x-large;" ';  
  }  
  $body_tag_start.='>'.&Apache::lonmenu::menubuttons(undef,$target,1);  
  if ($env{'environment.texengine'} eq 'jsMath') {  
     $body_tag_start.='<script type="text/javascript">  
                      function NoFontMessage () {}  
                    </script>'."\n".  
        '<script src="/adm/jsMath/jsMath.js"></script>'."\n";  
  }  
  if ($target eq 'web' && $env{'request.state'} ne 'construct') {  
     my ($symb,undef,undef,undef,$publicuser)=      my ($symb,undef,undef,undef,$publicuser)=
  &Apache::lonxml::whichuser();   &Apache::lonxml::whichuser();
     if ($symb eq '' && !$publicuser) {      if ($symb eq '' && !$publicuser) {
Line 365  sub store_aggregates { Line 373  sub store_aggregates {
         }          }
         if ($Apache::lonhomework::results{'resource.'.$part.'.tries'} == 1) {          if ($Apache::lonhomework::results{'resource.'.$part.'.tries'} == 1) {
             $aggregate{$symb."\0".$part."\0users"} = 1;              $aggregate{$symb."\0".$part."\0users"} = 1;
           } else {
               my (undef,$last_reset) = &Apache::grades::get_last_resets($symb,$env{'request.course.id'},[$part]); 
               if ($last_reset) {
                   if (&Apache::grades::get_num_tries(\%Apache::lonhomework::history,$last_reset,$part) == 0) {
                       $aggregate{$symb."\0".$part."\0users"} = 1;
                   }
               }
         }          }
         $aggregate{$symb."\0".$part."\0attempts"} = 1;          $aggregate{$symb."\0".$part."\0attempts"} = 1;
     }      }
     if (%aggregate) {      if (keys (%aggregate) > 0) {
  &Apache::lonnet::cinc('nohist_resourcetracker',\%aggregate,   &Apache::lonnet::cinc('nohist_resourcetracker',\%aggregate,
       $cdomain,$cname);                               $cdomain,$cname);
   
     }      }
 }  }
   
Line 497  sub start_problem { Line 511  sub start_problem {
     defined($env{'form.problemtype'})) {      defined($env{'form.problemtype'})) {
     $Apache::lonhomework::type=$env{'form.problemtype'};      $Apache::lonhomework::type=$env{'form.problemtype'};
  }   }
    $Apache::lonhomework::default_type = $Apache::lonhomework::type;
  &Apache::lonxml::debug("Found this to be of type :$Apache::ltonhomework::type:");   &Apache::lonxml::debug("Found this to be of type :$Apache::ltonhomework::type:");
     }      }
     if ($Apache::lonhomework::type eq '' ) {      if ($Apache::lonhomework::type eq '' ) {
Line 738  sub end_problem { Line 753  sub end_problem {
  }   }
  if ($target eq 'answer' && ($env{'request.state'} eq 'construct')   if ($target eq 'answer' && ($env{'request.state'} eq 'construct')
     && $env{'form.answer_output_mode'} ne 'tex') {      && $env{'form.answer_output_mode'} ne 'tex') {
     $result.='</html>'; # normally we get it from xmlend, but in CSTR      $result.=&Apache::lonxml::xmlend().'</html>';
                           # normally we get it from above, but in CSTR
                         # we always show answer mode too.                          # we always show answer mode too.
  }   }
     } elsif ($target eq 'meta') {      } elsif ($target eq 'meta') {
Line 1120  sub start_part { Line 1136  sub start_part {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
     my $result='';      my $result='';
     my $id= &Apache::lonxml::get_param('id',$parstack,$safeeval);      my $id= &Apache::lonxml::get_param('id',$parstack,$safeeval);
     if ($id eq '') { $id = $Apache::lonxml::curdepth; }      if ($id =~ /^\s*$/) { $id = $Apache::lonxml::curdepth; }
     $Apache::inputtags::part=$id;      $Apache::inputtags::part=$id;
     push(@Apache::inputtags::partlist,$id);      push(@Apache::inputtags::partlist,$id);
     @Apache::inputtags::response=();      @Apache::inputtags::response=();
Line 1247  sub end_part { Line 1263  sub end_part {
     }      }
     pop @Apache::inputtags::status;      pop @Apache::inputtags::status;
     $Apache::inputtags::part='';      $Apache::inputtags::part='';
       $Apache::lonhomework::type = $Apache::lonhomework::default_type;
     return $result;      return $result;
 }  }
   

Removed from v.1.289  
changed lines
  Added in v.1.297


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