version 1.270, 2007/08/18 00:10:50
|
version 1.276, 2007/10/08 09:22:50
|
Line 63 BEGIN {
|
Line 63 BEGIN {
|
} |
} |
|
|
|
|
|
=pod |
|
|
|
=item set_bubble_lines() |
|
|
|
Called at analysis time to set the bubble lines |
|
hash for the problem.. This should be called in the |
|
end_problemtype tag in analysis mode. |
|
|
|
We fetch the hash of part id counters from lonxml |
|
and push them into analyze:{part_id.bubble_lines}. |
|
|
|
=cut |
|
|
|
sub set_bubble_lines { |
|
my %bubble_counters = &Apache::lonxml::get_bubble_line_hash(); |
|
|
|
foreach my $key (keys(%bubble_counters)) { |
|
$Apache::lonhomework::analyze{"$key.bubble_lines"} = |
|
$bubble_counters{"$key"}; |
|
} |
|
} |
|
|
# |
# |
# Decides what targets to render for. |
# Decides what targets to render for. |
# Implicit inputs: |
# Implicit inputs: |
Line 188 sub proctor_checked_in {
|
Line 210 sub proctor_checked_in {
|
return 0; |
return 0; |
} |
} |
|
|
$Apache::lonxml::browse=''; |
|
sub check_ip_acc { |
sub check_ip_acc { |
my ($acc)=@_; |
my ($acc)=@_; |
&Apache::lonxml::debug("acc is $acc"); |
&Apache::lonxml::debug("acc is $acc"); |
Line 196 sub check_ip_acc {
|
Line 217 sub check_ip_acc {
|
return 1; |
return 1; |
} |
} |
my $allowed=0; |
my $allowed=0; |
my $ip=$ENV{'REMOTE_ADDR'}; |
my $ip=$env{'request.host'} || $ENV{'REMOTE_ADDR'}; |
|
|
my $name; |
my $name; |
foreach my $pattern (split(',',$acc)) { |
foreach my $pattern (split(',',$acc)) { |
$pattern =~ s/^\s*//; |
$pattern =~ s/^\s*//; |
Line 436 sub check_access {
|
Line 458 sub check_access {
|
$date = &mt("an indeterminate date"); $passed = 0; |
$date = &mt("an indeterminate date"); $passed = 0; |
} else { |
} else { |
if (time < $date) { $passed = 0; } else { $passed = 1; } |
if (time < $date) { $passed = 0; } else { $passed = 1; } |
$date = localtime $date; |
$date = &Apache::lonlocal::locallocaltime($date); |
} |
} |
if (!$passed) { $type=$temp; last; } |
if (!$passed) { $type=$temp; last; } |
} |
} |
Line 788 sub analyze {
|
Line 810 sub analyze {
|
$i++; |
$i++; |
} |
} |
} |
} |
|
if (!keys(%{ $analyze{$part.'.answer'} })) { |
|
my $answer_part = |
|
['<span class="LC_error">'.&mt('Error').'</span>']; |
|
$seedexample{join("\0",$part,0,@{$answer_part})}= |
|
$thisseed; |
|
push( @{ $overall{$part.'.answer'}[0] }, |
|
$answer_part); |
|
} |
} |
} |
} |
} |
} |
} |
Line 951 sub renderpage {
|
Line 981 sub renderpage {
|
&Apache::lonxml::debug("Should be parsing now"); |
&Apache::lonxml::debug("Should be parsing now"); |
$result .= &Apache::lonxml::xmlparse($request, $target, $problem, |
$result .= &Apache::lonxml::xmlparse($request, $target, $problem, |
&setup_vars($target),%mystyle); |
&setup_vars($target),%mystyle); |
undef($Apache::lonhomework::parsing_a_problem); |
&finished_parsing(); |
if (!$output) { $result = ''; } |
if (!$output) { $result = ''; } |
#$request->print("Result follows:"); |
#$request->print("Result follows:"); |
if ($target eq 'modified') { |
if ($target eq 'modified') { |
Line 982 sub renderpage {
|
Line 1012 sub renderpage {
|
} |
} |
} |
} |
|
|
|
sub finished_parsing { |
|
undef($Apache::lonhomework::parsing_a_problem); |
|
undef($Apache::lonhomework::parsing_a_task); |
|
} |
|
|
# with no arg it returns a HTML <option> list of the template titles |
# with no arg it returns a HTML <option> list of the template titles |
# with one arg it returns the filename associated with the arg passed |
# with one arg it returns the filename associated with the arg passed |
sub get_template_list { |
sub get_template_list { |