version 1.513.2.2, 2008/03/24 19:14:07
|
version 1.514, 2008/03/12 02:46:52
|
Line 73 my $ssi_error_message;
|
Line 73 my $ssi_error_message;
|
# the number of times requested by the caller. |
# the number of times requested by the caller. |
# If we still have a proble, no text is appended to the |
# If we still have a proble, no text is appended to the |
# output and we set some global variables. |
# output and we set some global variables. |
# to indicate to the caller an SSI error occurred. |
# to indicate to the caller an SSI error occured. |
# All of this is supposed to deal with the issues described |
# All of this is supposed to deal with the issues described |
# in LonCAPA BZ 5631 see: |
# in LonCAPA BZ 5631 see: |
# http://bugs.lon-capa.org/show_bug.cgi?id=5631 |
# http://bugs.lon-capa.org/show_bug.cgi?id=5631 |
Line 89 my $ssi_error_message;
|
Line 89 my $ssi_error_message;
|
# On success, returns the rendered resource identified by the resource parameter. |
# On success, returns the rendered resource identified by the resource parameter. |
# Side Effects: |
# Side Effects: |
# The following global variables can be set: |
# The following global variables can be set: |
# ssi_error - If an unrecoverable error occurred this becomes true. |
# ssi_error - If an unrecoverable error occured this becomes true. |
# It is up to the caller to initialize this to false |
# It is up to the caller to initialize this to false |
# if desired. |
# if desired. |
# ssi_error_resource - If an unrecoverable error occurred, this is the value |
# ssi_last_error_resource - If an unrecoverable error occured, this is the value |
# of the resource that could not be rendered by the ssi |
# of the resource that could not be rendered by the ssi |
# call. |
# call. |
# ssi_error_message - The error string fetched from the ssi response |
# ssi_last_error - The error string fetched from the ssi response |
# in the event of an error. |
# in the event of an error. |
# |
# |
sub ssi_with_retries { |
sub ssi_with_retries { |
Line 116 sub ssi_with_retries {
|
Line 116 sub ssi_with_retries {
|
|
|
sub ssi_print_error { |
sub ssi_print_error { |
my ($r) = @_; |
my ($r) = @_; |
my $helpurl = &Apache::loncommon::top_nav_help('Helpdesk'); |
$r->print('<h2>Unrecoverable network error</h2>'); |
$r->print(' |
$r->print('<p>Unable to perform a resource fetch from a server: <br />'); |
<br /> |
$r->print("Resource: $ssi_error_resource <br />"); |
<h2>'.&mt('An unrecoverable network error occurred:').'</h2> |
$r->print("Error: $ssi_error_message <br /> Try again later."); |
<p> |
$r->print('If errors persist, contact LonCAPA support for assistance</p>'); |
'.&mt('Unable to retrieve a resource from a server:').'<br /> |
|
'.&mt('Resource:').' '.$ssi_error_resource.'<br /> |
|
'.&mt('Error:').' '.$ssi_error_message.' |
|
</p> |
|
<p>'. |
|
&mt('It is recommended that you try again later, as this error may mean the server was just temporarily unavailable, or is down for maintenance.').'<br />'. |
|
&mt('If the error persists, please contact the [_1] for assistance.',$helpurl). |
|
'</p>'); |
|
return; |
|
} |
} |
|
|
# |
# |
Line 285 sub reset_caches {
|
Line 276 sub reset_caches {
|
my (undef,undef,$url)=&Apache::lonnet::decode_symb($symb); |
my (undef,undef,$url)=&Apache::lonnet::decode_symb($symb); |
$url=&Apache::lonnet::clutter($url); |
$url=&Apache::lonnet::clutter($url); |
my $subresult=&ssi_with_retries($url, $ssi_retries, |
my $subresult=&ssi_with_retries($url, $ssi_retries, |
('grade_target' => 'analyze', |
('grade_target' => 'analyze'), |
'grade_domain' => $udom, |
('grade_domain' => $udom), |
'grade_symb' => $symb, |
('grade_symb' => $symb), |
'grade_courseid' => |
('grade_courseid' => |
$env{'request.course.id'}, |
$env{'request.course.id'}), |
'grade_username' => $uname)); |
('grade_username' => $uname)); |
(undef,$subresult)=split(/_HASH_REF__/,$subresult,2); |
(undef,$subresult)=split(/_HASH_REF__/,$subresult,2); |
my %analyze=&Apache::lonnet::str2hash($subresult); |
my %analyze=&Apache::lonnet::str2hash($subresult); |
return $analyze_cache{$key} = \%analyze; |
return $analyze_cache{$key} = \%analyze; |
Line 1842 sub download_all_link {
|
Line 1833 sub download_all_link {
|
join("\n",&Apache::loncommon::get_env_multiple('form.vPart')); |
join("\n",&Apache::loncommon::get_env_multiple('form.vPart')); |
|
|
my $identifier = &Apache::loncommon::get_cgi_id(); |
my $identifier = &Apache::loncommon::get_cgi_id(); |
&Apache::lonnet::appenv('cgi.'.$identifier.'.students' => $all_students, |
&Apache::lonnet::appenv({'cgi.'.$identifier.'.students' => $all_students, |
'cgi.'.$identifier.'.symb' => $symb, |
'cgi.'.$identifier.'.symb' => $symb, |
'cgi.'.$identifier.'.parts' => $parts,); |
'cgi.'.$identifier.'.parts' => $parts,}); |
$r->print('<a href="/cgi-bin/multidownload.pl?'.$identifier.'">'. |
$r->print('<a href="/cgi-bin/multidownload.pl?'.$identifier.'">'. |
&mt('Download All Submitted Documents').'</a>'); |
&mt('Download All Submitted Documents').'</a>'); |
return |
return |
Line 7240 sub scantron_get_maxbubble {
|
Line 7231 sub scantron_get_maxbubble {
|
my $response_number = 0; |
my $response_number = 0; |
my $bubble_line = 0; |
my $bubble_line = 0; |
foreach my $resource (@resources) { |
foreach my $resource (@resources) { |
my $symb = $resource->symb(); |
|
# Need to retrieve part IDs and response IDs because essayresponse, |
# Need to retrieve part IDs and response IDs because essayresponse, |
# reactionresponse and organicresponse items are not included in |
# reactionresponse and organicresponse items are not included in |
# $analysis{'parts'} from lonnet::ssi. |
# $analysis{'parts'} from lonnet::ssi. |
my %possible_part_ids; |
my %possible_part_ids; |
if (ref($resource->parts()) eq 'ARRAY') { |
if (ref($resource->parts()) eq 'ARRAY') { |
foreach my $part (@{$resource->parts()}) { |
foreach my $part (@{$resource->parts()}) { |
if (!&Apache::loncommon::check_if_partid_hidden($part,$symb,$udom,$uname)) { |
my @resp_ids = $resource->responseIds($part); |
my @resp_ids = $resource->responseIds($part); |
foreach my $id (@resp_ids) { |
foreach my $id (@resp_ids) { |
$possible_part_ids{$part.'.'.$id} = 1; |
$possible_part_ids{$part.'.'.$id} = 1; |
|
} |
|
} |
} |
} |
} |
} |
} |
my $result=&ssi_with_retries($resource->src(), $ssi_retries, |
my $result=&ssi_with_retries($resource->src(), $ssi_retries, |
('symb' => $symb, |
('symb' => $resource->symb()), |
'grade_target' => 'analyze', |
('grade_target' => 'analyze'), |
'grade_courseid' => $cid, |
('grade_courseid' => $cid), |
'grade_domain' => $udom, |
('grade_domain' => $udom), |
'grade_username' => $uname)); |
('grade_username' => $uname)); |
my (undef, $an) = |
my (undef, $an) = |
split(/_HASH_REF__/,$result, 2); |
split(/_HASH_REF__/,$result, 2); |
|
|
Line 7269 sub scantron_get_maxbubble {
|
Line 7257 sub scantron_get_maxbubble {
|
my %analysis = &Apache::lonnet::str2hash($an); |
my %analysis = &Apache::lonnet::str2hash($an); |
|
|
if (ref($analysis{'parts'}) eq 'ARRAY') { |
if (ref($analysis{'parts'}) eq 'ARRAY') { |
foreach my $part (@{$analysis{'parts'}}) { |
@parts = @{$analysis{'parts'}}; |
my ($id,$respid) = split(/\./,$part); |
|
if (!&Apache::loncommon::check_if_partid_hidden($id,$symb,$udom,$uname)) { |
|
push(@parts,$part); |
|
} |
|
} |
|
} |
} |
# Add part_ids for any essayresponse items. |
# Add part_ids for any essayresponse items. |
foreach my $part_id (keys(%possible_part_ids)) { |
foreach my $part_id (keys(%possible_part_ids)) { |
Line 7509 SCANTRONFORM
|
Line 7492 SCANTRONFORM
|
($uname,$udom)=split(/:/,$uname); |
($uname,$udom)=split(/:/,$uname); |
|
|
&Apache::lonxml::clear_problem_counter(); |
&Apache::lonxml::clear_problem_counter(); |
&Apache::lonnet::appenv(%$scan_record); |
&Apache::lonnet::appenv($scan_record); |
|
|
if (&scantron_clear_skip($scanlines,$scan_data,$i)) { |
if (&scantron_clear_skip($scanlines,$scan_data,$i)) { |
&scantron_putfile($scanlines,$scan_data); |
&scantron_putfile($scanlines,$scan_data); |