Annotation of loncom/homework/imageresponse.pm, revision 1.1
1.1 ! albertel 1: # The LearningOnline Network with CAPA
! 2: # iimage click response style
! 3:
! 4: package Apache::imageresponse;
! 5: use strict;
! 6:
! 7: sub BEGIN {
! 8: &Apache::lonxml::register('Apache::imageresponse',('imageresponse'));
! 9: }
! 10:
! 11: sub start_imageresponse {
! 12: my ($target,$token,$parstack,$parser,$safeeval,$style)=@_;
! 13: #when in a radiobutton response use these
! 14: &Apache::lonxml::register('Apache::imageresponse',('foilgroup','foil','text','image','rectangle'));
! 15: my $id = &Apache::response::start_response($parstack,$safeeval);
! 16: return '';
! 17: }
! 18:
! 19: sub end_imageresponse {
! 20: &Apache::response::end_response;
! 21: return '';
! 22: }
! 23:
! 24: %Apache::response::foilgroup={};
! 25: sub start_foilgroup {
! 26: %Apache::response::foilgroup={};
! 27: return '';
! 28: }
! 29:
! 30: sub setrandomnumber {
! 31: my $rndseed=&Apache::lonnet::rndseed();
! 32: $rndseed=unpack("%32i",$rndseed);
! 33: $rndseed=$rndseed
! 34: +&Apache::lonnet::numval($Apache::inputtags::part)
! 35: +&Apache::lonnet::numval($Apache::inputtags::response['-1']);
! 36: srand($rndseed);
! 37: return '';
! 38: }
! 39:
! 40: sub end_foilgroup {
! 41: my ($target,$token,$parstack,$parser,$safeeval,$style)=@_;
! 42:
! 43: }
! 44:
! 45: sub start_conceptgroup {
! 46: }
! 47:
! 48: sub end_conceptgroup {
! 49: }
! 50:
! 51: $Apache::imageresponse::curname='';
! 52: sub start_foil {
! 53: my ($target,$token,$parstack,$parser,$safeeval,$style)=@_;
! 54: if ($target eq 'web' || $target eq 'grade') {
! 55: my $args ='';
! 56: if ( $#$parstack > -1 ) { $args=$$parstack[$#$parstack]; }
! 57: my $name = &Apache::run::run("{$args;".'return $name}',$safeeval);
! 58: push @{ $Apache::response::foilgroup{'names'} }, $name;
! 59: $Apache::imageresponse::curname=$name;
! 60: }
! 61: return '';
! 62: }
! 63:
! 64: sub end_foil {
! 65: my ($target,$token,$parstack,$parser,$safeeval,$style)=@_;
! 66: return '';
! 67: }
! 68:
! 69: sub start_text {
! 70: my ($target,$token,$parstack,$parser,$safeeval,$style)=@_;
! 71: if ($target eq 'web') {
! 72: $Apache::lonxml::redirection--;
! 73: }
! 74: return '';
! 75: }
! 76:
! 77: sub end_text {
! 78: my ($target,$token,$parstack,$parser,$safeeval,$style)=@_;
! 79: if ($target eq 'web') {
! 80: my $name = $Apache::imageresponse::curname;
! 81: $Apache::response::foilgroup{"$name.text"} = $Apache::lonxml::outputstack;
! 82: if ($target eq 'web' ) {
! 83: $Apache::lonxml::redirection++;
! 84: if ($Apache::lonxml::redirection == 1) {
! 85: $Apache::lonxml::outputstack='';
! 86: }
! 87: }
! 88: }
! 89: return '';
! 90: }
! 91:
! 92: sub start_image {
! 93: my ($target,$token,$parstack,$parser,$safeeval,$style)=@_;
! 94:
! 95: }
! 96:
! 97: sub end_image {
! 98: my ($target,$token,$parstack,$parser,$safeeval,$style)=@_;
! 99: }
! 100:
! 101: sub start_rectangle {
! 102: my ($target,$token,$parstack,$parser,$safeeval,$style)=@_;
! 103: }
! 104:
! 105: sub end_rectangle {
! 106: my ($target,$token,$parstack,$parser,$safeeval,$style)=@_;
! 107: }
! 108: 1;
! 109: __END__
! 110:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>