version 1.123, 2007/06/29 17:32:31
|
version 1.132, 2008/02/28 11:59:50
|
Line 18
|
Line 18
|
# GNU General Public License for more details. |
# GNU General Public License for more details. |
# |
# |
# You should have received a copy of the GNU General Public License |
# You should have received a copy of the GNU General Public License |
# along with LON-CAPA; if not, write to the Free Software |
# along with LON-CAPA; if not, write to the Free Software# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
# |
# |
# /home/httpd/html/adm/gpl.txt |
# /home/httpd/html/adm/gpl.txt |
# |
# |
Line 56 sub start_radiobuttonresponse {
|
Line 55 sub start_radiobuttonresponse {
|
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
my $result; |
my $result; |
|
|
|
|
|
|
#when in a radiobutton response use these |
#when in a radiobutton response use these |
&Apache::lonxml::register('Apache::radiobuttonresponse',('foilgroup','foil','conceptgroup')); |
&Apache::lonxml::register('Apache::radiobuttonresponse',('foilgroup','foil','conceptgroup')); |
push (@Apache::lonxml::namespace,'radiobuttonresponse'); |
push (@Apache::lonxml::namespace,'radiobuttonresponse'); |
Line 106 sub start_radiobuttonresponse {
|
Line 103 sub start_radiobuttonresponse {
|
$result .= '\begin{enumerate}'; |
$result .= '\begin{enumerate}'; |
} elsif ($target eq 'analyze') { |
} elsif ($target eq 'analyze') { |
my $part_id="$Apache::inputtags::part.$id"; |
my $part_id="$Apache::inputtags::part.$id"; |
|
$Apache::lonhomework::analyze{"$part_id.type"} = 'radiobuttonresponse'; |
push (@{ $Apache::lonhomework::analyze{"parts"} },$part_id); |
push (@{ $Apache::lonhomework::analyze{"parts"} },$part_id); |
} |
} |
return $result; |
return $result; |
Line 202 sub end_foilgroup {
|
Line 200 sub end_foilgroup {
|
my $bubble_lines; |
my $bubble_lines; |
my $bubbles_per_line; |
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; |
$bubbles_per_line = |
$bubbles_per_line = |
&Apache::response::get_response_param($Apache::inputtags::part."_$id", |
&Apache::response::get_response_param($Apache::inputtags::part."_$id", |
'numbubbles', |
'numbubbles', |
Line 240 sub end_foilgroup {
|
Line 239 sub end_foilgroup {
|
$direction, |
$direction, |
$bubbles_per_line); |
$bubbles_per_line); |
} elsif ($target eq 'answer' ) { |
} elsif ($target eq 'answer' ) { |
$result=&displayanswers($answer, \@shown); |
$result=&displayanswers($answer, \@shown, $bubbles_per_line); |
} elsif ( $target eq 'grade') { |
} elsif ( $target eq 'grade') { |
&grade_response($answer, \@shown, $bubbles_per_line); |
&grade_response($answer, \@shown, $bubbles_per_line); |
} elsif ( $target eq 'analyze') { |
} elsif ( $target eq 'analyze') { |
|
my $bubble_lines = &bubble_line_count($answer_count, |
|
$bubbles_per_line); |
&Apache::response::analyze_store_foilgroup(\@shown, |
&Apache::response::analyze_store_foilgroup(\@shown, |
['text','value','location']); |
['text','value','location']); |
my $part_id="$Apache::inputtags::part.$Apache::inputtags::response[-1]"; |
my $part_id="$part.$id"; |
push (@{ $Apache::lonhomework::analyze{"$part_id.options"} }, |
push (@{ $Apache::lonhomework::analyze{"$part_id.options"} }, |
('true','false')); |
('true','false')); |
|
|
} |
} |
} |
} |
$Apache::lonxml::post_evaluate=0; |
$Apache::lonxml::post_evaluate=0; |
Line 257 sub end_foilgroup {
|
Line 259 sub end_foilgroup {
|
&Apache::response::setup_prior_tries_hash(\&format_prior_answer, |
&Apache::response::setup_prior_tries_hash(\&format_prior_answer, |
[\%Apache::response::foilgroup]); |
[\%Apache::response::foilgroup]); |
} |
} |
$bubble_lines = &bubble_line_count($answer_count, $bubbles_per_line); |
|
&Apache::response::poprandomnumber(); |
&Apache::response::poprandomnumber(); |
&Apache::lonxml::increment_counter($bubble_lines); |
$bubble_lines = &bubble_line_count($answer_count, $bubbles_per_line); |
|
&Apache::lonxml::increment_counter($bubble_lines, |
|
"$part.$id"); |
|
if ($target eq 'analyze') { |
|
&Apache::lonhomework::set_bubble_lines(); |
|
} |
return $result; |
return $result; |
} |
} |
|
|
Line 296 sub displayallfoils {
|
Line 302 sub displayallfoils {
|
my $result; |
my $result; |
&Apache::lonxml::debug("survey style display"); |
&Apache::lonxml::debug("survey style display"); |
my @names; |
my @names; |
&Apache::lonnet::loghthis("Display all foils"); |
|
if ( $Apache::response::foilgroup{'names'} ) { |
if ( $Apache::response::foilgroup{'names'} ) { |
@names= @{ $Apache::response::foilgroup{'names'} }; |
@names= @{ $Apache::response::foilgroup{'names'} }; |
} |
} |
Line 562 sub displayfoils {
|
Line 567 sub displayfoils {
|
$result.='\item \vskip -2 mm '; |
$result.='\item \vskip -2 mm '; |
} |
} |
if ($Apache::response::foilgroup{$name.'.value'} eq 'true') { |
if ($Apache::response::foilgroup{$name.'.value'} eq 'true') { |
if ($target ne 'tex') { $result.='Correct:<b>'; } else { $result.='Correct: \textbf{';} |
# if ($target ne 'tex') { $result.='Correct:<b>'; } else { $result.='Correct: \textbf{';} |
|
if ($target ne 'tex') { |
|
$result.=&mt('Correct:').'<b>'; |
|
} else { |
|
$result.=&mt('Correct:').' \textbf{'; |
|
} |
} else { |
} else { |
$result.='Incorrect:'; |
$result.=&mt('Incorrect:'); |
} |
} |
if ($target eq 'web') { $result.="<label>"; } |
if ($target eq 'web') { $result.="<label>"; } |
$result.=$Apache::response::foilgroup{$name.'.text'}; |
$result.=$Apache::response::foilgroup{$name.'.text'}; |
Line 585 sub displayfoils {
|
Line 595 sub displayfoils {
|
my @alphabet = ('A'..'Z'); |
my @alphabet = ('A'..'Z'); |
my $i = 0; |
my $i = 0; |
my $bubble_number = 0; |
my $bubble_number = 0; |
|
my $line = 0; |
my $temp=0; |
my $temp=0; |
my $id=$Apache::inputtags::response['-1']; |
my $id=$Apache::inputtags::response['-1']; |
my $part=$Apache::inputtags::part; |
my $part=$Apache::inputtags::part; |
Line 612 sub displayfoils {
|
Line 623 sub displayfoils {
|
$result .= ' />'.$Apache::response::foilgroup{$name.'.text'}."</label>"; |
$result .= ' />'.$Apache::response::foilgroup{$name.'.text'}."</label>"; |
} else { |
} else { |
if ($Apache::lonhomework::type eq 'exam') { |
if ($Apache::lonhomework::type eq 'exam') { |
$result .= '{\small \textbf{'.$alphabet[$i].'}}$\bigcirc$'.$Apache::response::foilgroup{$name.'.text'}.'\\\\'; #' stupid emacs |
|
$i++; |
|
$bubble_number++; |
|
if($bubble_number >= $bubbles_per_line) { |
if($bubble_number >= $bubbles_per_line) { |
|
$line++; |
$i = 0; |
$i = 0; |
$bubble_number = 0; |
$bubble_number = 0; |
$result.='\item[\textbf{'.$Apache::lonxml::counter.'}.]'; |
$result.='\item[\textbf{'.($Apache::lonxml::counter+$line).'}.]'; |
} |
} |
|
$result .= '{\small \textbf{'.$alphabet[$i].'}}$\bigcirc$'.$Apache::response::foilgroup{$name.'.text'}.'\\\\'; #' stupid emacs |
|
$i++; |
|
$bubble_number++; |
} else { |
} else { |
$result .= '\vspace*{-2 mm}\item '.$Apache::response::foilgroup{$name.'.text'}; |
$result .= '\vspace*{-2 mm}\item '.$Apache::response::foilgroup{$name.'.text'}; |
} |
} |
Line 652 sub displayallanswers {
|
Line 664 sub displayallanswers {
|
} |
} |
|
|
sub displayanswers { |
sub displayanswers { |
my ($answer, $whichopt)=@_; |
my ($answer, $whichopt, $bubbles_per_line)=@_; |
my $result=&Apache::response::answer_header('radiobuttonresponse'); |
my $result; |
|
|
if ($Apache::lonhomework::type eq 'exam') { |
if ($Apache::lonhomework::type eq 'exam') { |
my $correct = ('A'..'Z')[$answer]; |
my $line = int($answer/$bubbles_per_line); |
$result.=&Apache::response::answer_part('radiobuttonresponse', |
my $correct = ('A'..'Z')[$answer%$bubbles_per_line]; |
$correct); |
$result .= &Apache::response::answer_header('radiobuttonresponse', |
|
$line); |
|
$result .= &Apache::response::answer_part('radiobuttonresponse', |
|
$correct); |
|
} else { |
|
$result .= &Apache::response::answer_header('radiobuttonresponse'); |
} |
} |
foreach my $name (@{ $whichopt }) { |
foreach my $name (@{ $whichopt }) { |
$result.=&Apache::response::answer_part('radiobuttonresponse', |
$result.=&Apache::response::answer_part('radiobuttonresponse', |