version 1.39, 2003/04/08 02:21:13
|
version 1.46, 2004/01/07 21:01:17
|
Line 50 sub start_hintgroup {
|
Line 50 sub start_hintgroup {
|
my $hinttries=&Apache::lonnet::EXT("resource.$id.hinttries"); |
my $hinttries=&Apache::lonnet::EXT("resource.$id.hinttries"); |
if ( $hinttries eq '') { $hinttries = 1; } |
if ( $hinttries eq '') { $hinttries = 1; } |
&Apache::lonxml::debug("found :$id:$numtries:$hinttries:"); |
&Apache::lonxml::debug("found :$id:$numtries:$hinttries:"); |
if ($Apache::lonhomework::type ne 'exam') { |
my $gradestatus=$Apache::lonhomework::history{"resource.$id.solved"}; |
if ( $numtries < $hinttries ) { |
if ( $numtries < $hinttries || $gradestatus =~ /^correct/) { |
$skiptoend='1'; |
|
} else { |
|
$result='<table bgcolor="#dddddd"><tr><td>'; |
|
} |
|
} else { |
|
&Apache::lonxml::startredirection; |
|
} |
|
if ($skiptoend) { |
|
&Apache::lonxml::get_all_text("/hintgroup",$parser); |
&Apache::lonxml::get_all_text("/hintgroup",$parser); |
} |
} |
|
&Apache::lonxml::startredirection; |
} elsif ($target eq 'tex') { |
} elsif ($target eq 'tex') { |
$result .= '\keephidden{'; |
$result .= '\keephidden{'; |
} |
} |
Line 80 sub end_hintgroup {
|
Line 73 sub end_hintgroup {
|
my $hinttries=&Apache::lonnet::EXT("resource.$id.hinttries"); |
my $hinttries=&Apache::lonnet::EXT("resource.$id.hinttries"); |
if ( $hinttries eq '') { $hinttries = 1; } |
if ( $hinttries eq '') { $hinttries = 1; } |
&Apache::lonxml::debug("found :$id:$numtries:$hinttries:"); |
&Apache::lonxml::debug("found :$id:$numtries:$hinttries:"); |
if ($Apache::lonhomework::type ne 'exam') { |
my $hinttext=&Apache::lonxml::endredirection; |
if ( $numtries >= $hinttries ) { |
if ($Apache::lonhomework::type ne 'exam' && |
$result='</td></tr></table>'; |
$numtries >= $hinttries && $hinttext =~/\S/) { |
} |
$result='<table bgcolor="#dddddd"><tr><td>'. |
} else { |
$hinttext.'</td></tr></table>'; |
&Apache::lonxml::endredirection; |
|
} |
} |
} elsif ($target eq 'edit') { |
} elsif ($target eq 'edit') { |
$result.=&Apache::edit::end_table(); |
$result.=&Apache::edit::end_table(); |
Line 111 sub start_numericalhint {
|
Line 103 sub start_numericalhint {
|
$result.=&Apache::edit::text_arg('Format:','format',$token,4). |
$result.=&Apache::edit::text_arg('Format:','format',$token,4). |
&Apache::loncommon::help_open_topic('Numerical_Response_Format'); |
&Apache::loncommon::help_open_topic('Numerical_Response_Format'); |
} elsif ($token->[1] eq 'stringhint') { |
} elsif ($token->[1] eq 'stringhint') { |
$result.=&Apache::edit::select_arg('Type:','type',['cs','ci','mc'],$token); |
$result.=&Apache::edit::select_arg('Type:','type', |
|
[['cs','Case Sensitive'],['ci','Case Insensitive'], |
|
['mc','Case Insensitive, Any Order']],$token); |
} elsif ($token->[1] eq 'formulahint') { |
} elsif ($token->[1] eq 'formulahint') { |
$result.=&Apache::edit::text_arg('Sample Points:','samples',$token,40); |
$result.=&Apache::edit::text_arg('Sample Points:','samples',$token,40); |
} |
} |
Line 167 sub end_numericalhint {
|
Line 161 sub end_numericalhint {
|
$expression.= ';my $'. #' |
$expression.= ';my $'. #' |
$key.'="'.$Apache::inputtags::params{$key}.'"'; |
$key.'="'.$Apache::inputtags::params{$key}.'"'; |
} |
} |
|
if ($$tagstack[-1] eq 'formulahint') { |
|
$expression.=';my $type="fml";'; |
|
} elsif ($$tagstack[-1] eq 'numericalhint') { |
|
$expression.=';my $type="float";'; |
|
} |
$expression.="');"; |
$expression.="');"; |
|
my @answer=&Apache::lonxml::get_param_var('answer',$parstack,$safeeval); |
|
&Apache::lonxml::debug('answer is'.join(':',@answer)); |
|
@{$safeeval->varglob('CAPARESPONSE_CHECK_LIST_answer')}=@answer; |
|
|
$result = &Apache::run::run($expression,$safeeval); |
$result = &Apache::run::run($expression,$safeeval); |
&Apache::lonxml::debug("$expression:result:$result:$Apache::lonxml::curdepth"); |
&Apache::lonxml::debug("$expression:result:$result:$Apache::lonxml::curdepth"); |
my ($awards) = split /:/ , $result; |
my ($awards) = split /:/ , $result; |
Line 357 sub end_radiobuttonhint {
|
Line 360 sub end_radiobuttonhint {
|
my $response = $Apache::lonhomework::history{ |
my $response = $Apache::lonhomework::history{ |
"resource.$part_id.submission"}; |
"resource.$part_id.submission"}; |
($response)=&Apache::lonnet::str2hash($response); |
($response)=&Apache::lonnet::str2hash($response); |
if ($answer[0] eq 'foil' && $response eq $answer[1]) { |
&Apache::lonxml::debug("response is $response"); |
push (@Apache::hint::which,$name); |
|
|
if ($answer[0] eq 'foil') { |
|
shift(@answer); |
|
foreach my $answer (@answer) { |
|
if ($response eq $answer) { |
|
push (@Apache::hint::which,$name); |
|
last; |
|
} |
|
} |
} elsif ($answer[0] eq 'concept') { |
} elsif ($answer[0] eq 'concept') { |
if (ref($Apache::hint::radiobutton{"$part_id.concept.".$answer[1]})) { |
shift(@answer); |
my @names=@{ $Apache::hint::radiobutton{"$part_id.concept.".$answer[1]} }; |
foreach my $answer (@answer) { |
if (grep(/^\Q$response\E$/,@names)) { |
if (ref($Apache::hint::radiobutton{"$part_id.concept.".$answer})) { |
push(@Apache::hint::which,$name); |
my @names=@{ $Apache::hint::radiobutton{"$part_id.concept.".$answer} }; |
|
if (grep(/^\Q$response\E$/,@names)) { |
|
push(@Apache::hint::which,$name); |
|
last; |
|
} |
} |
} |
} |
} |
} |
} |