Diff for /loncom/homework/structuretags.pm between versions 1.198 and 1.203

version 1.198, 2003/07/17 18:42:13 version 1.203, 2003/08/13 17:54:12
Line 44  BEGIN { Line 44  BEGIN {
   
 sub start_web {  sub start_web {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
     if (!($target eq 'web' || $target eq 'edit' || $target eq 'modified' ||      my $bodytext=&Apache::lonxml::get_all_text("/web",$parser);
   $target eq 'answer' || $target eq 'grade' || $target eq 'meta' )) {      if ($target eq 'web') {
  my $bodytext=&Apache::lonxml::get_all_text("/web",$parser);   return $bodytext;
     }      }
     return '';      return '';
 }  }
Line 58  sub end_web { Line 58  sub end_web {
 sub start_tex {  sub start_tex {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
     my $result='';      my $result='';
     if (!($target eq 'edit' || $target eq 'modified' ||      my $bodytext=&Apache::lonxml::get_all_text("/tex",$parser);
   $target eq 'answer' || $target eq 'grade' || $target eq 'meta' )) {      if ($target eq 'tex') {
  &Apache::lonxml::debug("tex 1");   return $bodytext.' ';
  my $bodytext=&Apache::lonxml::get_all_text("/tex",$parser);  
     } elsif ($target eq 'tex') {  
  $result=&Apache::lonxml::get_all_text("/tex",$parser);  
     }      }
     return $result;;      return $result;;
 }  }
Line 94  sub page_start { Line 91  sub page_start {
     'onUnload="'.&Apache::lonmenu::unloadevents().'" ';      '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=''; }
  if ($background) {   if ($background) {
     $Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=      $Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=
  $background;   $background;
Line 101  sub page_start { Line 99  sub page_start {
  } else {   } else {
     my $bgcolor=&Apache::lonxml::get_param('bgcolor',$parstack,      my $bgcolor=&Apache::lonxml::get_param('bgcolor',$parstack,
    $safeeval);     $safeeval);
     if ($bgcolor) {      if (($bgcolor) && ($ENV{'browser.blackwhite'} ne 'on')) {
  $body_tag_start.='bgcolor="'.$bgcolor.'" ';   $body_tag_start.='bgcolor="'.$bgcolor.'" ';
     } else {      } else {
  $body_tag_start.='bgcolor="#ffffff"';   $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);   $body_tag_start.='>'.&Apache::lonmenu::menubuttons(undef,$target,1);
  if ($target eq 'web' && $ENV{'request.state'} ne 'construct') {   if ($target eq 'web' && $ENV{'request.state'} ne 'construct') {
     my ($symb,undef,undef,undef,$publicuser)=      my ($symb,undef,undef,undef,$publicuser)=
Line 442  sub start_problem { Line 443  sub start_problem {
     my $due_file_content = $due_file_content[$#due_file_content];      my $due_file_content = $due_file_content[$#due_file_content];
     chomp $due_file_content;      chomp $due_file_content;
     my $name_of_resourse= &get_resource_name($parstack,$safeeval);      my $name_of_resourse= &get_resource_name($parstack,$safeeval);
       if (not $name_of_resourse=~/\S+/) {
    $name_of_resourse=$ENV{'request.uri'};
    $name_of_resourse=~/\/([^\/]+)$/;
    $name_of_resourse=$1;
       }
     if ($due_file_content ne $duedate) {      if ($due_file_content ne $duedate) {
  $temp_file = Apache::File->new('>'.$filename);   $temp_file = Apache::File->new('>'.$filename);
  print $temp_file "$duedate\n";   print $temp_file "$duedate\n";
  if (not $ENV{'request.symb'} =~ m/\.page_/) {   if (not $ENV{'request.symb'} =~ m/\.page_/) {
     if(not $duedate=~m/1969/ and $Apache::lonhomework::type ne 'exam') {      if(not $duedate=~m/1969/ and $Apache::lonhomework::type ne 'exam') {
  $result .= '\begin{document} \typeout{STAMPOFPASSEDRESOURCESTART Resource <h2>"'.$name_of_resourse.'"</h2> located in <br /><small><b>'.$ENV{'request.uri'}.'</b></small><br /> STAMPOFPASSEDRESOURCEEND} \noindent\textit{Due date: '.$duedate.'} \vskip 1 mm\noindent '.$startminipage;   $result .= '\begin{document} \typeout{STAMPOFPASSEDRESOURCESTART Resource <h2>"'.$name_of_resourse.'"</h2> located in <br /><small><b>'.$ENV{'request.uri'}.'</b></small><br /> STAMPOFPASSEDRESOURCEEND}\addcontentsline{toc}{subsection}{'.$name_of_resourse.'} \noindent\textit{Due date: '.$duedate.'} \vskip 1 mm\noindent '.$startminipage;
     } else {      } else {
  $result .= '\begin{document} \typeout{STAMPOFPASSEDRESOURCESTART Resource <h2>"'.$name_of_resourse.'"</h2> located in <br /><small><b>'.$ENV{'request.uri'}.'</b></small><br /> STAMPOFPASSEDRESOURCEEND} \noindent \vskip 1 mm \noindent'.$startminipage;   $result .= '\begin{document} \typeout{STAMPOFPASSEDRESOURCESTART Resource <h2>"'.$name_of_resourse.'"</h2> located in <br /><small><b>'.$ENV{'request.uri'}.'</b></small><br /> STAMPOFPASSEDRESOURCEEND}\addcontentsline{toc}{subsection}{'.$name_of_resourse.'} \noindent \vskip 1 mm \noindent'.$startminipage;
  if ($Apache::lonhomework::type eq 'exam' and $allow_print_points==1) { $result .= '\fbox{\textit{'.$weight.' pt}}';}   if ($Apache::lonhomework::type eq 'exam' and $allow_print_points==1) { $result .= '\fbox{\textit{'.$weight.' pt}}';}
     }      }
  } else {   } else {
Line 457  sub start_problem { Line 463  sub start_problem {
  }   }
     } else {      } else {
  if (not $ENV{'request.symb'} =~ m/\.page_/) {   if (not $ENV{'request.symb'} =~ m/\.page_/) {
     $result .= '\begin{document} \typeout{STAMPOFPASSEDRESOURCESTART Resource <h2>"'.$name_of_resourse.'"</h2> located in <br /><small><b>'.$ENV{'request.uri'}.'</b></small><br /> STAMPOFPASSEDRESOURCEEND} \noindent \vskip 1 mm\noindent'.$startminipage;      $result .= '\begin{document} \typeout{STAMPOFPASSEDRESOURCESTART Resource <h2>"'.$name_of_resourse.'"</h2> located in <br /><small><b>'.$ENV{'request.uri'}.'</b></small><br /> STAMPOFPASSEDRESOURCEEND}\addcontentsline{toc}{subsection}{'.$name_of_resourse.'} \noindent \vskip 1 mm\noindent'.$startminipage;
     if (($Apache::lonhomework::type eq 'exam') and ($allow_print_points==1)) { $result .= '\fbox{\textit{'.$weight.' pt}}';}      if (($Apache::lonhomework::type eq 'exam') and ($allow_print_points==1)) { $result .= '\fbox{\textit{'.$weight.' pt}}';}
  } else {   } else {
     $result .= '\vskip 1mm \\\\\\\\';      $result .= '\vskip 1mm \\\\\\\\';
Line 624  sub end_definetag { Line 630  sub end_definetag {
 }  }
   
 sub start_block {  sub start_block {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
   
     my $result;      my $result;
   
     if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' ||      if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' ||
  $target eq 'tex' || $target eq 'analyze') {   $target eq 'tex' || $target eq 'analyze') {
  my $code = $token->[2]->{'condition'};   my $code = $token->[2]->{'condition'};
  if ($code) {   if (defined($code)) {
     if (!$Apache::lonxml::default_homework_loaded) {      if (!$Apache::lonxml::default_homework_loaded) {
  &Apache::lonxml::default_homework_load($safeeval);   &Apache::lonxml::default_homework_load($safeeval);
     }      }
Line 641  sub start_block { Line 647  sub start_block {
     $result='1';      $result='1';
  }   }
  if ( ! $result ) {   if ( ! $result ) {
     my $skip=&Apache::lonxml::get_all_text("/block",$parser);      my $skip=&Apache::lonxml::get_all_text("/block",$parser,$style);
     &Apache::lonxml::debug("skipping ahead :$skip: $$parser[-1]");      &Apache::lonxml::debug("skipping ahead :$skip: $$parser[-1]");
  }   }
  $result='';   $result='';
Line 668  sub end_block { Line 674  sub end_block {
 }  }
   
 sub start_languageblock {  sub start_languageblock {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
   
     my $result;      my $result;
   
     if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' ||      if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' ||
  $target eq 'tex' || $target eq 'analyze') {   $target eq 'tex' || $target eq 'analyze') {
  &Apache::lonxml::startredirection();   my $include = $token->[2]->{'include'};
    my $exclude = $token->[2]->{'exclude'};
           my %languages=&Apache::loncommon::display_languages();
           $result='1';
    if ($include) {
               $result='';
               foreach (split(/\,/,$include)) {
                   if ($languages{$_}) { $result='1'; }
               }
    }
           if ($exclude) {
               foreach (split(/\,/,$exclude)) {
                   if ($languages{$_}) { $result='0'; }
               }
    }
    if ( ! $result ) {
       my $skip=&Apache::lonxml::get_all_text("/languageblock",$parser,
      $style);
       &Apache::lonxml::debug("skipping ahead :$skip: $$parser[-1]");
    }
    $result='';
     } elsif ($target eq 'edit') {      } elsif ($target eq 'edit') {
  $result .=&Apache::edit::tag_start($target,$token);   $result .=&Apache::edit::tag_start($target,$token);
  $result .=&Apache::edit::text_arg('Include Language:','include',   $result .=&Apache::edit::text_arg('Include Language:','include',
Line 694  sub start_languageblock { Line 720  sub start_languageblock {
 sub end_languageblock {  sub end_languageblock {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
     my $result;      my $result;
       if ($target eq "edit") {
     if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' ||  
  $target eq 'tex' || $target eq 'analyze') {  
  my $text=&Apache::lonxml::endredirection();  
  my $include= &Apache::lonxml::get_param('include',$parstack,$safeeval);  
  my $exclude= &Apache::lonxml::get_param('exclude',$parstack,$safeeval);  
  my %languages=&Apache::loncommon::display_languages();  
  $result='1';  
  if ($include) {  
     $result='';  
     foreach (split(/\,/,$include)) {  
  if ($languages{$_}) { $result='1'; }  
     }  
  }  
  if ($exclude) {  
     foreach (split(/\,/,$exclude)) {  
  if ($languages{$_}) { $result='0'; }  
     }  
  }  
  if ( ! $result ) {  
     $result='';  
  } else {  
     $result=$text;  
  }  
     } elsif ($target eq "edit") {  
  $result.= &Apache::edit::tag_end($target,$token,'');   $result.= &Apache::edit::tag_end($target,$token,'');
     }      }
     return $result;      return $result;
 }  }
   
 sub start_instructorcomment {  sub start_instructorcomment {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_;
   
     my $result;      my $result;
   
Line 733  sub start_instructorcomment { Line 735  sub start_instructorcomment {
  $target eq 'tex' || $target eq 'analyze') {   $target eq 'tex' || $target eq 'analyze') {
         $result=($ENV{'request.role'}=~/^(in|cc|au|ca|li)/);          $result=($ENV{'request.role'}=~/^(in|cc|au|ca|li)/);
  if ( ! $result ) {   if ( ! $result ) {
     my $skip=&Apache::lonxml::get_all_text("/instructorcomment",$parser);      my $skip=&Apache::lonxml::get_all_text("/instructorcomment",
      $parser,$style);
     &Apache::lonxml::debug("skipping ahead :$skip: $$parser[-1]");      &Apache::lonxml::debug("skipping ahead :$skip: $$parser[-1]");
  }   }
  $result='';   $result='';

Removed from v.1.198  
changed lines
  Added in v.1.203


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