version 1.182, 2007/11/05 11:46:08
|
version 1.189, 2008/04/05 15:39:17
|
Line 454 sub end_customresponse {
|
Line 454 sub end_customresponse {
|
&Apache::lonxml::increment_counter(&Apache::response::repetition(), |
&Apache::lonxml::increment_counter(&Apache::response::repetition(), |
"$part.$id"); |
"$part.$id"); |
if ($target eq 'analyze') { |
if ($target eq 'analyze') { |
|
$Apache::lonhomework::analyze{"$part.$id.type"} = 'customresponse'; |
&Apache::lonhomework::set_bubble_lines(); |
&Apache::lonhomework::set_bubble_lines(); |
} |
} |
} |
} |
Line 675 sub start_responseparam {
|
Line 676 sub start_responseparam {
|
$Apache::lonnet::packagetab{"$tag&$name&display"}; |
$Apache::lonnet::packagetab{"$tag&$name&display"}; |
$token->[2]->{'default'}= |
$token->[2]->{'default'}= |
$Apache::lonnet::packagetab{"$tag&$name&default"}; |
$Apache::lonnet::packagetab{"$tag&$name&default"}; |
|
$token->[3] = ['name','type','description','default']; |
$constructtag=1; |
$constructtag=1; |
} |
} |
if ($constructtag) { |
if ($constructtag) { |
Line 799 sub answer_part {
|
Line 801 sub answer_part {
|
last; |
last; |
} |
} |
} |
} |
if ($answer ne '') { |
my $fullanswer=$answer; |
$answer = '\verb'.$to_use.$answer.$to_use; |
$answer=''; |
} |
foreach my $element (split(/[\;]/,$fullanswer)) { |
|
if ($element ne '') { |
|
$answer.= '\verb'.$to_use.$element.$to_use.' \newline'; |
|
} |
|
} |
} |
} |
if ($answer ne '') { |
if ($answer ne '') { |
push(@answer_bits,$answer); |
push(@answer_bits,$answer); |
Line 820 sub answer_footer {
|
Line 826 sub answer_footer {
|
my ($type) = @_; |
my ($type) = @_; |
my $result; |
my $result; |
if ($env{'form.answer_output_mode'} eq 'tex') { |
if ($env{'form.answer_output_mode'} eq 'tex') { |
my $columns = scalar(@answer_bits); |
$result = ' \vskip 0 mm \noindent \begin{tabular}{|p{1.5cm}|p{6.8cm}|}\hline '; |
$result = ' \vskip 0 mm \noindent \begin{tabular}{|'.'c|'x$columns.'}\hline '; |
$result .= $answer_bits[0].'&\vspace*{-4mm}\begin{itemize}'; |
$result .= join(' & ',@answer_bits); |
for (my $i=1;$i<=$#answer_bits;$i++) { |
$result .= ' \\\\ \\hline \end{tabular} \vskip 0 mm '; |
$result.='\item '.$answer_bits[$i].'\vspace*{-7mm}'; |
|
} |
|
$result .= ' \end{itemize} \\\\ \hline \end{tabular} \vskip 0 mm '; |
|
&Apache::lonnet::logthis('Result: '.$result); |
} else { |
} else { |
$result = '</tr></table>'; |
if (!$need_row_start) { |
|
$result .= '</tr>'; |
|
} |
|
$result .= '</table>'; |
} |
} |
return $result; |
return $result; |
} |
} |
Line 884 sub getresponse {
|
Line 896 sub getresponse {
|
if (!defined($lines)) { |
if (!defined($lines)) { |
$lines = 1; |
$lines = 1; |
} |
} |
|
|
my %let_to_num=('A'=>0,'B'=>1,'C'=>2,'D'=>3,'E'=>4,'F'=>5,'G'=>6,'H'=>7, |
my %let_to_num=('A'=>0,'B'=>1,'C'=>2,'D'=>3,'E'=>4,'F'=>5,'G'=>6,'H'=>7, |
'I'=>8,'J'=>9,'K'=>10,'L'=>11,'M'=>12,'N'=>13,'O'=>14, |
'I'=>8,'J'=>9,'K'=>10,'L'=>11,'M'=>12,'N'=>13,'O'=>14, |
'P'=>15,'Q'=>16,'R'=>17,'S'=>18,'T'=>19,'U'=>20,'V'=>21, |
'P'=>15,'Q'=>16,'R'=>17,'S'=>18,'T'=>19,'U'=>20,'V'=>21, |
Line 895 sub getresponse {
|
Line 906 sub getresponse {
|
|
|
my $line; |
my $line; |
for ($line = 0; $line < $lines; $line++) { |
for ($line = 0; $line < $lines; $line++) { |
$response = $env{'scantron.'. |
my $theline = $Apache::lonxml::counter+$offset-1+$line; |
($Apache::lonxml::counter+$offset-1+$line). |
$response = $env{"scantron.$theline.answer"}; |
'.answer'}; |
if ((defined($response)) && ($response ne "") && ($response ne " ")) { |
if ((defined($response)) && ($response ne " ")) { |
|
last; |
last; |
} |
} |
|
|
Line 907 sub getresponse {
|
Line 917 sub getresponse {
|
# save bubbled letter for later |
# save bubbled letter for later |
$Apache::lonhomework::results{"resource.$part.$id.scantron"}.= |
$Apache::lonhomework::results{"resource.$part.$id.scantron"}.= |
$response; |
$response; |
|
|
if ($resulttype ne 'letter') { |
if ($resulttype ne 'letter') { |
if ($resulttype eq 'A is 1') { |
if ($resulttype eq 'A is 1') { |
$response = $let_to_num{$response}+1; |
$response = $let_to_num{$response}+1; |