Diff for /loncom/homework/optionresponse.pm between versions 1.5 and 1.7

version 1.5, 2001/03/01 00:59:33 version 1.7, 2001/05/15 20:48:43
Line 3 Line 3
 # 2/21 Guy  # 2/21 Guy
 package Apache::optionresponse;  package Apache::optionresponse;
 use strict;  use strict;
   use Apache::response;
   
 sub BEGIN {  sub BEGIN {
   &Apache::lonxml::register('Apache::optionresponse',('optionresponse'));    &Apache::lonxml::register('Apache::optionresponse',('optionresponse'));
Line 12  sub start_optionresponse { Line 13  sub start_optionresponse {
   my ($target,$token,$parstack,$parser,$safeeval,$style)=@_;    my ($target,$token,$parstack,$parser,$safeeval,$style)=@_;
   #when in a radiobutton response use these    #when in a radiobutton response use these
   &Apache::lonxml::register('Apache::optionresponse',('foilgroup','foil','conceptgroup'));    &Apache::lonxml::register('Apache::optionresponse',('foilgroup','foil','conceptgroup'));
     push (@Apache::lonxml::namespace,'optionresponse');
   my $id = &Apache::response::start_response($parstack,$safeeval);    my $id = &Apache::response::start_response($parstack,$safeeval);
   return '';    return '';
 }  }
   
 sub end_optionresponse {  sub end_optionresponse {
   &Apache::response::end_response;    &Apache::response::end_response;
     pop @Apache::lonxml::namespace;
   return '';    return '';
 }  }
   
   sub insert_optionresponse {
     return '
   <optionresponse max="10">
       <foilgroup options=\"\">
       </foilgroup>
   </optionresponse>';
   }
   
 %Apache::response::foilgroup={};  %Apache::response::foilgroup={};
 sub start_foilgroup {  sub start_foilgroup {
   %Apache::response::foilgroup={};    %Apache::response::foilgroup={};
   $Apache::optionresponse::conceptgroup=0;      $Apache::optionresponse::conceptgroup=0;  
   &setrandomnumber();    &Apache::response::setrandomnumber();
   return '';  
 }  
   
 sub setrandomnumber {  
   my $rndseed=&Apache::lonnet::rndseed();  
   $rndseed=unpack("%32i",$rndseed);  
   $rndseed=$rndseed  
     +&Apache::lonnet::numval($Apache::inputtags::part)  
       +&Apache::lonnet::numval($Apache::inputtags::response['-1']);  
   srand($rndseed);  
   &Apache::lonxml::debug("randseed $rndseed");  
   return '';    return '';
 }  }
   
Line 99  sub whichfoils { Line 99  sub whichfoils {
   my ($max)=@_;    my ($max)=@_;
   my @names = @{ $Apache::response::foilgroup{'names'} };    my @names = @{ $Apache::response::foilgroup{'names'} };
   my @whichopt =();    my @whichopt =();
   while ((($#whichopt+1) < $max) && ($#names > -1)) {    while ((($#whichopt) < $max) && ($#names > -1)) {
     my $aopt=int rand $#names;      my $aopt=int rand $#names;
     &Apache::lonxml::debug("From $#names elms, picking $aopt");      &Apache::lonxml::debug("From $#whichopt $max $#names elms, picking $aopt");
     $aopt=splice(@names,$aopt,1);      $aopt=splice(@names,$aopt,1);
     &Apache::lonxml::debug("Picked $aopt");      &Apache::lonxml::debug("Picked $aopt");
     push (@whichopt,$aopt);      push (@whichopt,$aopt);
Line 192  sub end_foil { Line 192  sub end_foil {
       }        }
     }      }
   }    }
     if ($target eq 'edit') {
       my $args ='';
       if ( $#$parstack > 1 ) { $args=$$parstack['-2']; }
       my $options=&Apache::run::run("{$args;".'return $options}',$safeeval);
       if (!$options && $#$parstack > 2 ) { $args=$$parstack['-2']; }
       my @opt;
       #eval '@opt ='.
     }
   return '';    return '';
 }  }
   
   sub insert_foil {
     return '
   <foil name="" value="">
   </foil>';
   }
 1;  1;
 __END__  __END__
     

Removed from v.1.5  
changed lines
  Added in v.1.7


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