Diff for /loncom/homework/structuretags.pm between versions 1.247 and 1.248

version 1.247, 2004/05/04 19:32:28 version 1.248, 2004/05/14 22:11:05
Line 40  use Apache::lonlocal; Line 40  use Apache::lonlocal;
 use Apache::lonxml;  use Apache::lonxml;
   
 BEGIN {  BEGIN {
     &Apache::lonxml::register('Apache::structuretags',('block','languageblock','instructorcomment','while','randomlist','problem','library','web','tex','part','preduedate','postanswerdate','solved','notsolved','startouttext','endouttext',      &Apache::lonxml::register('Apache::structuretags',('block','languageblock','instructorcomment','while','randomlist','problem','library','web','tex','part','preduedate','postanswerdate','solved','notsolved','problemtype','startouttext','endouttext','simpleeditbutton','definetag'));
 'simpleeditbutton','definetag'));  
 }  }
   
 sub start_web {  sub start_web {
Line 435  sub start_problem { Line 434  sub start_problem {
   
     #added vars to the scripting enviroment      #added vars to the scripting enviroment
     my $expression='$external::part=\''.$Apache::inputtags::part.'\';';      my $expression='$external::part=\''.$Apache::inputtags::part.'\';';
       $expression.='$external::type=\''.$Apache::lonhomework::type.'\';';
     &Apache::run::run($expression,$safeeval);      &Apache::run::run($expression,$safeeval);
     my $status;      my $status;
     my $accessmsg;      my $accessmsg;
Line 1181  sub end_solved { Line 1181  sub end_solved {
     return '';      return '';
 }  }
   
   sub start_problemtype {
       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 $mode=lc(&Apache::lonxml::get_param('mode',$parstack,$safeeval));
    if (!defined($mode)) { $mode='show'; }
    my $for=&Apache::lonxml::get_param('for',$parstack,$safeeval);
    my $found=0;
    foreach my $type (split(',',$for)) {
       if ($Apache::lonhomework::type eq lc($type)) { $found=1; }
    }
    if ($mode eq 'show' && !$found) {
       &Apache::lonxml::get_all_text("/problemtype",$parser);
    }
    if ($mode eq 'hide' && $found) {
       &Apache::lonxml::get_all_text("/problemtype",$parser);
    }
       } elsif ($target eq 'edit') {
    $result .=&Apache::edit::tag_start($target,$token);
    $result.=&Apache::edit::select_arg('Mode:','mode',
      [['show','Show'],
       ['hide','Hide']]
      ,$token);
    $result .=&Apache::edit::checked_arg('When used as type(s):','for',
        [ ['exam','Exam/Quiz Problem'],
          ['survey','Survey'],
          ['problem','Homework Problem'] ]
        ,$token);
    $result .=&Apache::edit::end_row().&Apache::edit::start_spanning_row();
       } elsif ($target eq 'modified') {
    my $constructtag=&Apache::edit::get_new_args($token,$parstack,
        $safeeval,'mode','for');
    if ($constructtag) { $result = &Apache::edit::rebuild_tag($token); }
       }
       return $result;
   }
   
   sub end_problemtype {
       return '';
   }
   
 sub start_startouttext {  sub start_startouttext {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
     my @result=(''.'');      my @result=(''.'');

Removed from v.1.247  
changed lines
  Added in v.1.248


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