--- loncom/homework/structuretags.pm 2012/05/28 20:31:11 1.507
+++ loncom/homework/structuretags.pm 2013/12/14 01:44:31 1.512.2.5
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# definition of tags that give a structure to a document
#
-# $Id: structuretags.pm,v 1.507 2012/05/28 20:31:11 raeburn Exp $
+# $Id: structuretags.pm,v 1.512.2.5 2013/12/14 01:44:31 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -379,10 +379,10 @@ sub page_start {
} elsif (!defined($found{'body'})
&& $env{'request.state'} eq 'construct') {
if ($target eq 'web' || $target eq 'edit') {
- # Breadcrumbs for Construction Space
+ # Breadcrumbs for Authoring Space
&Apache::lonhtmlcommon::clear_breadcrumbs();
&Apache::lonhtmlcommon::add_breadcrumb({
- 'text' => 'Construction Space',
+ 'text' => 'Authoring Space',
'href' => &Apache::loncommon::authorspace($env{'request.uri'}),
});
# breadcrumbs (and tools) will be created
@@ -453,7 +453,6 @@ sub page_start {
}
$form_tag_start.='>'."\n";
- my $symb=&Apache::lonnet::symbread();
if ($symb =~ /\S/) {
$symb=
&HTML::Entities::encode(&Apache::lonenc::check_encrypt($symb));
@@ -638,7 +637,7 @@ sub problem_edit_header {
'.&Apache::lonxml::message_location().'
'.
- '
';
+ '
';
}
sub problem_edit_footer {
@@ -976,7 +975,7 @@ sub checkout_msg {
$lt{'warning'}
ENDCHECKOUT
}
@@ -1010,7 +1009,7 @@ sub firstaccess_msg {
$result .= (<
-
+
ENDCHECKOUT
return $result;
@@ -1160,6 +1159,7 @@ sub start_problem {
&Apache::run::run($expression,$safeeval);
my $status;
my $accessmsg;
+ my $resource_due;
my $name= &get_resource_name($parstack,$safeeval);
my ($result,$form_tag_start,$slot_name,$slot);
@@ -1189,14 +1189,6 @@ sub start_problem {
if ($target eq 'web' || $target eq 'grade' || $target eq 'answer' ||
$target eq 'tex') {
- if ($status eq 'CAN_ANSWER') {
- my $resource_due = &Apache::lonhomework::due_date(0, $env{'request.symb'});
- my $time_left = $resource_due - time();
- if ($resource_due && ($time_left > 0) && ($target eq 'web')) {
- $result .= &Apache::lonhtmlcommon::set_due_date($resource_due);
- }
- }
-
#handle rand seed in construction space
my $rndseed=&setup_rndseed($safeeval,$target);
my ($symb)=&Apache::lonnet::whichuser();
@@ -1305,13 +1297,35 @@ sub start_problem {
'problem');
}
} elsif ($target eq 'web') {
- if ($status eq 'CAN_ANSWER'
- && $slot_name ne ''
- && $Apache::lonhomework::history{'resource.0.checkedin'} eq '') {
- # unproctored slot access, self checkin
- &Apache::bridgetask::check_in('problem',undef,undef,
- $slot_name);
- }
+ if ($status eq 'CAN_ANSWER') {
+ $resource_due = &Apache::lonhomework::due_date(0, $env{'request.symb'});
+ if ($slot_name ne '') {
+ my $checked_in =
+ $Apache::lonhomework::history{'resource.0.checkedin'};
+ if ($checked_in eq '') {
+ # unproctored slot access, self checkin
+ &Apache::bridgetask::check_in('problem',undef,undef,
+ $slot_name);
+ $checked_in =
+ $Apache::lonhomework::results{"resource.0.checkedin"};
+ }
+ if ((ref($slot) eq 'HASH') && ($checked_in ne '')) {
+ if ($slot->{'starttime'} < time()) {
+ if (!$resource_due) {
+ $resource_due = $slot->{'endtime'};
+ } elsif ($slot->{'endtime'} < $resource_due) {
+ $resource_due = $slot->{'endtime'};
+ }
+ }
+ }
+ }
+ if ($resource_due) {
+ my $time_left = $resource_due - time();
+ if ($resource_due && ($time_left > 0) && ($target eq 'web')) {
+ $result .= &Apache::lonhtmlcommon::set_due_date($resource_due);
+ }
+ }
+ }
$result.="\n $form_tag_start \t".
'';
# create a page header and exit
@@ -2043,9 +2057,15 @@ sub end_while {
}
$return = &Apache::run::run($code,$safeeval);
}
- if ($error) {
- &Apache::lonxml::error('
'.&mt('Code ran too long. It ran for more than').' '.$Apache::lonnet::perlvar{'lonScriptTimeout'}.' '.&mt('seconds occurred while running <while> on line').' '.$line.'
'
+ .&mt('Code ran too long. It ran for more than [_1] seconds.',
+ $Apache::lonnet::perlvar{'lonScriptTimeout'})
+ .&mt('This occurred while running <while> on line [_1].',
+ $line)
+ .'