version 1.150, 2011/08/26 22:40:17
|
version 1.151, 2011/09/13 21:42:58
|
Line 138 sub end_radiobuttonresponse {
|
Line 138 sub end_radiobuttonresponse {
|
%Apache::response::foilgroup=(); |
%Apache::response::foilgroup=(); |
sub start_foilgroup { |
sub start_foilgroup { |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my $result; |
|
%Apache::response::foilgroup=(); |
%Apache::response::foilgroup=(); |
$Apache::radiobuttonresponse::conceptgroup=0; |
$Apache::radiobuttonresponse::conceptgroup=0; |
&Apache::response::pushrandomnumber(undef,$target); |
&Apache::response::pushrandomnumber(undef,$target); |
if ($target eq 'tex' && $Apache::lonhomework::type eq 'exam') { |
return; |
$result.='\item[\textbf{'.$Apache::lonxml::counter.'}.]'; |
|
} |
|
return $result; |
|
} |
} |
|
|
sub storesurvey { |
sub storesurvey { |
Line 222 sub end_foilgroup {
|
Line 218 sub end_foilgroup {
|
|
|
my $result; |
my $result; |
my $bubble_lines; |
my $bubble_lines; |
my $bubbles_per_line; |
|
my $answer_count; |
my $answer_count; |
my $id = $Apache::inputtags::response['-1']; |
my $id = $Apache::inputtags::response['-1']; |
my $part = $Apache::inputtags::part; |
my $part = $Apache::inputtags::part; |
$bubbles_per_line = |
my $bubbles_per_line = &getbubblesnum($part,$id); |
&Apache::response::get_response_param($Apache::inputtags::part."_$id", |
|
'numbubbles', |
|
$default_bubbles_per_line); |
|
|
|
|
|
if ($target eq 'grade' || $target eq 'web' || $target eq 'answer' || |
if ($target eq 'grade' || $target eq 'web' || $target eq 'answer' || |
$target eq 'tex' || $target eq 'analyze') { |
$target eq 'tex' || $target eq 'analyze') { |
Line 260 sub end_foilgroup {
|
Line 251 sub end_foilgroup {
|
$answer_count = scalar(@shown); |
$answer_count = scalar(@shown); |
|
|
if ($target eq 'web' || $target eq 'tex') { |
if ($target eq 'web' || $target eq 'tex') { |
$result=&displayfoils($target, |
$result=&displayfoils($target, |
$answer, \@shown, |
$answer, \@shown, |
$direction, |
$direction, |
$bubbles_per_line); |
$bubbles_per_line); |
Line 295 sub end_foilgroup {
|
Line 286 sub end_foilgroup {
|
return $result; |
return $result; |
} |
} |
|
|
|
sub getbubblesnum { |
|
my ($part,$id) = @_; |
|
my $bubbles_per_line; |
|
my $default_numbubbles = $default_bubbles_per_line; |
|
if (($env{'form.bubbles_per_row'} =~ /^\d+$/) && |
|
($env{'form.bubbles_per_row'} > 0)) { |
|
$default_numbubbles = $env{'form.bubbles_per_row'}; |
|
} |
|
$bubbles_per_line = |
|
&Apache::response::get_response_param($part."_$id",'numbubbles', |
|
$default_numbubbles); |
|
return $bubbles_per_line; |
|
} |
|
|
sub getfoilcounts { |
sub getfoilcounts { |
my @names; |
my @names; |
my $truecnt=0; |
my $truecnt=0; |
Line 648 sub displayfoils {
|
Line 653 sub displayfoils {
|
if ($target ne 'tex' && $direction eq 'horizontal') { |
if ($target ne 'tex' && $direction eq 'horizontal') { |
$result.="<table><tr>"; |
$result.="<table><tr>"; |
} |
} |
|
my $numlines; |
|
if (($target eq 'tex') && ($Apache::lonhomework::type eq 'exam')) { |
|
my $numitems = scalar(@{ $whichfoils }); |
|
$numlines = int($numitems/$bubbles_per_line); |
|
if (($numitems % $bubbles_per_line) != 0) { |
|
$numlines ++; |
|
} |
|
if ($numlines < 1) { |
|
$numlines = 1; |
|
} |
|
if ($numlines > 1) { |
|
my $linetext; |
|
for (my $i=0; $i<$numlines; $i++) { |
|
$linetext .= $Apache::lonxml::counter+$i.', '; |
|
} |
|
$linetext =~ s/,\s$//; |
|
$result .= '\item[\small {\textbf{'.$linetext.'}}]'. |
|
' {\footnotesize '. |
|
&mt('(Bubble once in [_1] lines)',$numlines). |
|
'} \hspace*{\fill} \\\\'; |
|
} else { |
|
$result .= '\item[\textbf{'.$Apache::lonxml::counter.'}.]'; |
|
} |
|
} |
foreach my $name (@{ $whichfoils }) { |
foreach my $name (@{ $whichfoils }) { |
if ($target ne 'tex') { |
if ($target ne 'tex') { |
if ($direction eq 'horizontal') { |
if ($direction eq 'horizontal') { |
Line 671 sub displayfoils {
|
Line 700 sub displayfoils {
|
$line++; |
$line++; |
$i = 0; |
$i = 0; |
$bubble_number = 0; |
$bubble_number = 0; |
$result.='\item[\textbf{'.($Apache::lonxml::counter+$line).'}.]'; |
|
} |
} |
$result .= '{\small \textbf{'.$alphabet[$i].'}}$\bigcirc$'.$Apache::response::foilgroup{$name.'.text'}.'\\\\'; #' stupid emacs |
my $identifier; |
|
if ($numlines > 1) { |
|
$identifier = $Apache::lonxml::counter+$line; |
|
} |
|
$result .= '{\small \textbf{'.$identifier.$alphabet[$i].'}}$\bigcirc$'.$Apache::response::foilgroup{$name.'.text'}.'\\\\'; #' stupid emacs |
$i++; |
$i++; |
$bubble_number++; |
$bubble_number++; |
} else { |
} else { |
Line 852 sub insert_foil {
|
Line 884 sub insert_foil {
|
<endouttext /> |
<endouttext /> |
</foil>'; |
</foil>'; |
} |
} |
|
|
1; |
1; |
__END__ |
__END__ |
|
|