Diff for /loncom/homework/structuretags.pm between versions 1.166 and 1.167

version 1.166, 2003/04/21 20:59:02 version 1.167, 2003/05/03 20:35:43
Line 38  use Apache::File(); Line 38  use Apache::File();
 use Apache::lonmenu;  use Apache::lonmenu;
   
 BEGIN {  BEGIN {
     &Apache::lonxml::register('Apache::structuretags',('block','while','randomlist','problem','library','web','tex','part','preduedate','postanswerdate','solved','notsolved','startouttext','endouttext'));      &Apache::lonxml::register('Apache::structuretags',('block','languageblock','while','randomlist','problem','library','web','tex','part','preduedate','postanswerdate','solved','notsolved','startouttext','endouttext'));
 }  }
   
 sub start_web {  sub start_web {
Line 603  sub end_block { Line 603  sub end_block {
     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 "edit") {
    $result.= &Apache::edit::tag_end($target,$token,'');
       }
       return $result;
   }
   
   sub start_languageblock {
       my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
   
       my $result;
   
       if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' ||
    $target eq 'tex' || $target eq 'analyze') {
    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);
       &Apache::lonxml::debug("skipping ahead :$skip: $$parser[-1]");
    }
    $result='';
       } elsif ($target eq 'edit') {
    $result .=&Apache::edit::tag_start($target,$token);
    $result .=&Apache::edit::text_arg('Include Language:','include',
     $token,40);
    $result .=&Apache::edit::text_arg('Exclude Language:','exclude',
     $token,40);
    $result .=&Apache::edit::end_row().&Apache::edit::start_spanning_row();
       } elsif ($target eq 'modified') {
    my $constructtag=&Apache::edit::get_new_args($token,$parstack,
        $safeeval,'include')
                           .&Apache::edit::get_new_args($token,$parstack,
        $safeeval,'exclude');
    if ($constructtag) { $result = &Apache::edit::rebuild_tag($token); }
       }
       return $result;
   }
   
   sub end_languageblock {
       my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
       my $result;
       if ($target eq "edit") {
  $result.= &Apache::edit::tag_end($target,$token,'');   $result.= &Apache::edit::tag_end($target,$token,'');
     }      }
     return $result;      return $result;

Removed from v.1.166  
changed lines
  Added in v.1.167


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