Diff for /loncom/homework/radiobuttonresponse.pm between versions 1.2 and 1.3

version 1.2, 2001/01/08 21:52:04 version 1.3, 2001/01/08 22:06:48
Line 7  package Apache::radiobuttonresponse; Line 7  package Apache::radiobuttonresponse;
 use strict;  use strict;
   
 sub BEGIN {  sub BEGIN {
   &Apache::lonxml::register('Apache::radiobuttonresponse',('radiobuttonresponse','foilgroup','foil'));    &Apache::lonxml::register('Apache::radiobuttonresponse',('radiobuttonresponse'));
 }  }
   
 sub start_radiobuttonresponse {  sub start_radiobuttonresponse {
     #when in a radiobutton response use these
     &Apache::lonxml::register('Apache::radiobuttonresponse',('foilgroup','foil'));
 }  }
   
 sub end_radiobuttonresponse {  sub end_radiobuttonresponse {
Line 25  sub end_foilgroup { Line 27  sub end_foilgroup {
   my ($target,$token,$parstack,$parser,$safeeval,$style)=@_;    my ($target,$token,$parstack,$parser,$safeeval,$style)=@_;
   my $name;    my $name;
   my $result;    my $result;
   foreach $name ($Apache::response::foilgroup{'names'}) {    my @names = @{ $Apache::response::foilgroup{'names'} };
     my @truelist;
     my @falselist;
     foreach $name (@names) {
     $result.="<br><b>$name</b> is <i> $Apache::response::foilgroup{$name.'.value'} </i>";      $result.="<br><b>$name</b> is <i> $Apache::response::foilgroup{$name.'.value'} </i>";
       if ($Apache::response::foilgroup{$name.'.value'} eq 'true') {
         push (@truelist,$name);
       } elsif ($Apache::response::foilgroup{$name.'.value'} eq 'false') {
         push (@falselist,$name);
       } elsif ($Apache::response::foilgroup{$name.'.value'} eq 'unused') {
       } else {
         &Apache::lonxml::error("Unknow state $Apache::response::foilgroup{$name.'.value'} for $name in <foilgroup>");
       }
   }    }
     my $whichtrue = rand $#truelist;
   return $result;    return $result;
 }  }
   
Line 37  sub start_foil { Line 51  sub start_foil {
   
 sub end_foil {  sub end_foil {
   my ($target,$token,$parstack,$parser,$safeeval,$style)=@_;    my ($target,$token,$parstack,$parser,$safeeval,$style)=@_;
   my $args ='';    if ($target eq 'web' || $target eq 'grade') {
   if ( $#$parstack > -1 ) { $args=$$parstack[$#$parstack]; }      my $args ='';
   my $name = &Apache::run::run("{$args;".'return $name}',$safeeval);      if ( $#$parstack > -1 ) { $args=$$parstack[$#$parstack]; }
   push @{ $Apache::response::foilgroup{'names'} }, $name;      my $name = &Apache::run::run("{$args;".'return $name}',$safeeval);
   my $value = &Apache::run::run("{$args;".'return $value}',$safeeval);      push @{ $Apache::response::foilgroup{'names'} }, $name;
   $Apache::response::foilgroup{"$name.value"} = $value;      my $value = &Apache::run::run("{$args;".'return $value}',$safeeval);
   $Apache::response::foilgroup{"$name.text"} = $Apache::lonxml::outputstack;      $Apache::response::foilgroup{"$name.value"} = $value;
       $Apache::response::foilgroup{"$name.text"} = $Apache::lonxml::outputstack;
     }
     
   $Apache::lonxml::redirection--;    $Apache::lonxml::redirection--;
   return '';    return '';
 }  }

Removed from v.1.2  
changed lines
  Added in v.1.3


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