Annotation of loncom/homework/inputtags.pm, revision 1.7
1.1 albertel 1: # The LearningOnline Network with CAPA
2: # input definitons
3:
4: package Apache::inputtags;
5: use strict;
6:
7: sub BEGIN {
1.6 albertel 8: &Apache::lonxml::register('Apache::inputtags',('textarea','textline','answergroup','datasubmission'));
1.1 albertel 9: }
10:
1.7 ! albertel 11:
1.1 albertel 12: sub initialize_inputtags {
13: $Apache::inputtags::curvalue=0;
1.7 ! albertel 14: @Apache::inputtags::input=();
! 15: @Apache::inputtags::response=();
! 16: @Apache::inputtags::answergroup=();
! 17: @Apache::inputtags::part=();
! 18: %Apache::inputtags::params=();
1.1 albertel 19: }
20:
1.6 albertel 21: sub start_textarea {
22: my ($target,$token,$parstack,$parser,$safeeval)=@_;
23: my $result = "";
24: $Apache::inputtags::curvalue++;
25: if ($target eq 'web') {
1.7 ! albertel 26: $result= '<textarea name="HWVAL'.$Apache::inputtags::curvalue.'" value="">';
1.6 albertel 27: }
28: return $result;
29: }
30:
31: sub end_textarea {
32: my ($target,$token,$parstack,$parser,$safeeval)=@_;
33: return "</textarea>";
34: }
35:
1.1 albertel 36: sub start_textline {
37: my ($target,$token,$parstack,$parser,$safeeval)=@_;
38: my $result = "";
39: $Apache::inputtags::curvalue++;
1.6 albertel 40: my $args ='';
41: if ( $#$parstack > -1 ) { $args=$$parstack[$#$parstack]; }
42: my $size = &Apache::run::run("{$args;".'return $size}',$safeeval);
43: if ($size eq '') { $size=20; }
1.1 albertel 44: if ($target eq 'web') {
1.7 ! albertel 45: $result= '<input type="text" name="HWVAL'.$Apache::inputtags::curvalue.'" value="" size="'.$size.'">';
1.1 albertel 46: }
47: return $result;
48: }
49:
50: sub end_textline {
51: my ($target,$token,$parstack,$parser,$safeeval)=@_;
1.6 albertel 52: return "";
1.1 albertel 53: }
54:
55: sub start_answergroup {
1.7 ! albertel 56: my ($target,$token,$parstack,$parser,$safeeval)=@_;
! 57: my $args ='';
! 58: if ( $#$parstack > -1 ) { $args=$$parstack[$#$parstack]; }
! 59: my $id = &Apache::run::run("{$args;".'return $id}',$safeeval);
! 60: push (@Apache::inputtags::answergroup,$id);
! 61: if ($target == 'web') {
! 62:
! 63: }
! 64: return '';
1.1 albertel 65: }
66:
67: sub end_answergroup {
1.2 albertel 68: my ($target,$token,$parstack,$parser,$safeeval)=@_;
1.7 ! albertel 69: my $args ='';
! 70: if ( $#$parstack > -1 ) { $args=$$parstack[$#$parstack]; }
! 71: my $id = &Apache::run::run("{$args;".'return $id}',$safeeval);
! 72: push (@Apache::inputtags::answergroup,$id);
! 73: my $result='';
! 74: my $button='<input type="submit" name="submit" value="Submit All Answers">';
! 75: my $showbutton='1';
! 76: my $usedtry='1';
! 77: my $response='';
1.2 albertel 78: if ( $target == 'web' ) {
1.7 ! albertel 79: if ( defined $ENV{'form.submit'}) {
! 80: }
! 81: if ($showbutton > 0) { $result.=$button }
1.6 albertel 82: }
1.7 ! albertel 83: pop @Apache::inputtags::answergroup;
! 84: return $result;
1.6 albertel 85: }
86:
87:
88: sub start_datasubmission {
89: }
90:
91: sub end_datasubmission {
92: my ($target,$token,$parstack,$parser,$safeeval)=@_;
93: if ( $target == 'web' ) {
1.7 ! albertel 94: return '<input type="submit" name="submit" value="Submit All Data">';
1.2 albertel 95: }
1.1 albertel 96: }
97:
98: 1;
99: __END__
100:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>