version 1.24, 2001/09/13 19:55:02
|
version 1.25, 2001/09/14 20:14:46
|
Line 114 sub end_foilgroup {
|
Line 114 sub end_foilgroup {
|
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
|
|
my $result; |
my $result; |
if ($target eq 'grade' || $target eq 'web') { |
if ($target eq 'grade' || $target eq 'web' || $target eq 'answer') { |
my $name; |
my $name; |
my ($count,$max) = &getfoilcounts($parstack,$safeeval); |
my ($count,$max) = &getfoilcounts($parstack,$safeeval); |
if ($count>$max) { $count=$max } |
if ($count>$max) { $count=$max } |
Line 123 sub end_foilgroup {
|
Line 123 sub end_foilgroup {
|
eval '@opt ='.&Apache::lonxml::get_param('options',$parstack,$safeeval); |
eval '@opt ='.&Apache::lonxml::get_param('options',$parstack,$safeeval); |
&Apache::lonxml::debug("Options are $#opt"); |
&Apache::lonxml::debug("Options are $#opt"); |
if ($target eq 'web') { |
if ($target eq 'web') { |
$result=&displayfoils($count,@opt); |
$result.=&displayfoils($count,@opt); |
|
} elsif ( $target eq 'answer') { |
|
$result.=&displayanswers($count,@opt); |
} elsif ( $target eq 'grade') { |
} elsif ( $target eq 'grade') { |
if ( defined $ENV{'form.submitted'}) { |
if ( defined $ENV{'form.submitted'}) { |
my @whichopt = &whichfoils($count); |
my @whichopt = &whichfoils($count); |
Line 154 sub end_foilgroup {
|
Line 156 sub end_foilgroup {
|
} |
} |
} |
} |
} |
} |
} |
} elsif ($target eq 'edit') { |
if ($target eq 'edit') { |
|
$result.=&Apache::edit::end_table(); |
$result.=&Apache::edit::end_table(); |
} |
} |
return $result; |
return $result; |
Line 184 sub whichfoils {
|
Line 185 sub whichfoils {
|
return @whichopt; |
return @whichopt; |
} |
} |
|
|
|
sub displayanswers { |
|
my ($max,@opt)=@_; |
|
my @names = @{ $Apache::response::foilgroup{'names'} }; |
|
my @whichopt = &whichfoils($max); |
|
my $result=&Apache::response::answer_header('optionresponse'); |
|
foreach my $name (@whichopt) { |
|
$result.=&Apache::response::answer_part('optionresponse', |
|
$Apache::response::foilgroup{$name.'.value'}) |
|
} |
|
$result.=&Apache::response::answer_footer('optionresponse'); |
|
return $result; |
|
} |
|
|
sub displayfoils { |
sub displayfoils { |
my ($max,@opt)=@_; |
my ($max,@opt)=@_; |
my @names = @{ $Apache::response::foilgroup{'names'} }; |
my @names = @{ $Apache::response::foilgroup{'names'} }; |
Line 236 sub end_conceptgroup {
|
Line 250 sub end_conceptgroup {
|
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
$Apache::optionresponse::conceptgroup=0; |
$Apache::optionresponse::conceptgroup=0; |
my $result=''; |
my $result=''; |
if ($target eq 'web' || $target eq 'grade') { |
if ($target eq 'web' || $target eq 'grade' || $target eq 'answer') { |
#if not there aren't any foils to display and thus no question |
#if not there aren't any foils to display and thus no question |
if (defined(@{ $Apache::response::conceptgroup{'names'} })) { |
if (defined(@{ $Apache::response::conceptgroup{'names'} })) { |
my @names = @{ $Apache::response::conceptgroup{'names'} }; |
my @names = @{ $Apache::response::conceptgroup{'names'} }; |
Line 264 sub insert_conceptgroup {
|
Line 278 sub insert_conceptgroup {
|
sub start_foil { |
sub start_foil { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my $result=''; |
my $result=''; |
if ($target eq 'web') { &Apache::lonxml::startredirection; } |
if ($target eq 'web') { |
if ($target eq 'edit') { |
&Apache::lonxml::startredirection; |
|
} elsif ($target eq 'edit') { |
$result=&Apache::edit::tag_start($target,$token,"Foil"); |
$result=&Apache::edit::tag_start($target,$token,"Foil"); |
my $level='-2'; |
my $level='-2'; |
if ($$tagstack['-2'] eq 'conceptgroup') { $level = '-3'; } |
if ($$tagstack['-2'] eq 'conceptgroup') { $level = '-3'; } |
Line 274 sub start_foil {
|
Line 289 sub start_foil {
|
$result.=&Apache::edit::text_arg('Name:','name',$token); |
$result.=&Apache::edit::text_arg('Name:','name',$token); |
$result.= &Apache::edit::select_or_text_arg('Correct Option:','value',['unused',(@opt)],$token,'15'); |
$result.= &Apache::edit::select_or_text_arg('Correct Option:','value',['unused',(@opt)],$token,'15'); |
$result .= '</td></tr><tr><td colspan="3">'; |
$result .= '</td></tr><tr><td colspan="3">'; |
} |
} elsif ($target eq 'modified') { |
if ($target eq 'modified') { |
|
my $constructtag=&Apache::edit::get_new_args($token,$parstack,$safeeval,'value','name'); |
my $constructtag=&Apache::edit::get_new_args($token,$parstack,$safeeval,'value','name'); |
if ($constructtag) { $result = &Apache::edit::rebuild_tag($token); } |
if ($constructtag) { $result = &Apache::edit::rebuild_tag($token); } |
} |
} |
Line 287 sub end_foil {
|
Line 301 sub end_foil {
|
my $text =''; |
my $text =''; |
my $result = ''; |
my $result = ''; |
if ($target eq 'web') { $text=&Apache::lonxml::endredirection; } |
if ($target eq 'web') { $text=&Apache::lonxml::endredirection; } |
if ($target eq 'web' || $target eq 'grade') { |
if ($target eq 'web' || $target eq 'grade' || $target eq 'answer') { |
my $value = &Apache::lonxml::get_param('value',$parstack,$safeeval); |
my $value = &Apache::lonxml::get_param('value',$parstack,$safeeval); |
if ($value ne 'unused') { |
if ($value ne 'unused') { |
my $name = &Apache::lonxml::get_param('name',$parstack,$safeeval); |
my $name = &Apache::lonxml::get_param('name',$parstack,$safeeval); |