Diff for /loncom/homework/response.pm between versions 1.80 and 1.84

version 1.80, 2003/06/23 20:57:41 version 1.84, 2003/08/20 14:05:40
Line 93  sub setrandomnumber { Line 93  sub setrandomnumber {
        $rndmod+=&Apache::lonnet::numval($Apache::inputtags::response[-1]);         $rndmod+=&Apache::lonnet::numval($Apache::inputtags::response[-1]);
     }      }
     if ($rndseed =~/,/) {      if ($rndseed =~/,/) {
  my ($num1,$num2)=split(/,/,$rndseed);   {
  $num1+=$rndmod;      use integer;
  $num2+=$rndmod;      my ($num1,$num2)=split(/,/,$rndseed);
  $rndseed="$num1,$num2";      $num1+=$rndmod;
       $num2+=$rndmod;
       $rndseed="$num1,$num2";
    }
     } else {      } else {
  $rndseed+=$rndmod;   $rndseed+=$rndmod;
     }      }
Line 275  sub end_dataresponse { Line 278  sub end_dataresponse {
     return $result;      return $result;
 }  }
   
   sub decide_package {
       my ($tagstack)=@_;
       my $package;
       if ($$tagstack[-1] eq 'parameter') {
    $package='part';
       } else {
    my $i=-1;
    while (defined($$tagstack[$i])) {
       if ($$tagstack[$i] =~ /(response|hint)$/) {
    $package=$$tagstack[$i];
    last;
       }
       $i--;
    }
       }
       return $package;
   }
   
 sub start_responseparam {  sub start_responseparam {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;      my ($target,$token,$tagstack,$parstack,$parser,$safeeval)=@_;
     my $result='';      my $result='';
Line 285  sub start_responseparam { Line 306  sub start_responseparam {
  $token->[2]->{'description'});   $token->[2]->{'description'});
     } elsif ($target eq 'edit') {      } elsif ($target eq 'edit') {
  $result.=&Apache::edit::tag_start($target,$token);   $result.=&Apache::edit::tag_start($target,$token);
    my $optionlist;
    my $package=&decide_package($tagstack);
    foreach my $key (sort(keys(%Apache::lonnet::packagetab))) {
       if ($key =~ /^\Q$package\E&(.*)&display$/) {
    $optionlist.='<option value="'.$1.'">'.
       $Apache::lonnet::packagetab{$key}.'</option>';
       }
    }
    if (defined($optionlist)) {
       $result.='Use template: <select name="'.
    &Apache::edit::html_element_name('parameter_package').'">'.
       '<option value=""></option>'.$optionlist.'</select><br />';
    }
  $result.=&Apache::edit::text_arg('Name:','name',$token).   $result.=&Apache::edit::text_arg('Name:','name',$token).
     &Apache::edit::text_arg('Type:','type',$token).      &Apache::edit::text_arg('Type:','type',$token).
  &Apache::edit::text_arg('Description:','description',$token).   &Apache::edit::text_arg('Description:','description',$token).
Line 292  sub start_responseparam { Line 326  sub start_responseparam {
  "</td></tr>";   "</td></tr>";
  $result.=&Apache::edit::end_table;   $result.=&Apache::edit::end_table;
     } elsif ($target eq 'modified') {      } elsif ($target eq 'modified') {
  my $constructtag=&Apache::edit::get_new_args($token,$parstack,$safeeval,   my $constructtag=&Apache::edit::get_new_args($token,$parstack,
      'name','type','description',       $safeeval,'name','type',
      'default');       'description','default');
    my $element=&Apache::edit::html_element_name('parameter_package');
    if (defined($ENV{"form.$element"}) && $ENV{"form.$element"} ne '') {
       my $name=$ENV{"form.$element"};
       my $tag=&decide_package($tagstack);
       $token->[2]->{'name'}=$name;
       $token->[2]->{'type'}=
    $Apache::lonnet::packagetab{"$tag&$name&type"};
       $token->[2]->{'description'}=
    $Apache::lonnet::packagetab{"$tag&$name&display"};
       $token->[2]->{'default'}=
    $Apache::lonnet::packagetab{"$tag&$name&default"};
       $constructtag=1;
    }
  if ($constructtag) {   if ($constructtag) {
     $result = &Apache::edit::rebuild_tag($token);      $result = &Apache::edit::rebuild_tag($token);
     $result.=&Apache::edit::handle_insert();      $result.=&Apache::edit::handle_insert();
Line 365  sub answer_header { Line 412  sub answer_header {
     my ($type) = @_;      my ($type) = @_;
     my $result;      my $result;
     if ($ENV{'form.answer_output_mode'} eq 'tex') {      if ($ENV{'form.answer_output_mode'} eq 'tex') {
  $result = ' \vskip 0 mm \begin{tabular}{|c|}\hline Answer for Part: '.   $result = ' \vskip 0 mm \begin{tabular}{|c|}\hline Answer for Part: \verb|'.
                   $Apache::inputtags::part.' \\\\ \hline ';                    $Apache::inputtags::part.'| \\\\ \hline ';
     } else {      } else {
  $result = '<table border="1"><tr><td>Answer for Part:'.   $result = '<table border="1"><tr><td>Answer for Part:'.
     $Apache::inputtags::part. '</td>'."\n";      $Apache::inputtags::part. '</td>'."\n";
Line 378  sub answer_part { Line 425  sub answer_part {
     my ($type,$answer) = @_;      my ($type,$answer) = @_;
     my $result;      my $result;
     if ($ENV{'form.answer_output_mode'} eq 'tex') {      if ($ENV{'form.answer_output_mode'} eq 'tex') {
  $result = ' '.$answer.'\\\\ \hline ';   $result = ' \verb|'.$answer.'|\\\\ \hline ';
     } else {      } else {
  $result = '<td>'.$answer.'</td>';   $result = '<td>'.$answer.'</td>';
     }      }

Removed from v.1.80  
changed lines
  Added in v.1.84


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