--- loncom/xml/run.pm 2012/12/18 18:27:43 1.61 +++ loncom/xml/run.pm 2013/12/04 15:57:15 1.62 @@ -1,6 +1,6 @@ package Apache::run; # -# $Id: run.pm,v 1.61 2012/12/18 18:27:43 raeburn Exp $ +# $Id: run.pm,v 1.62 2013/12/04 15:57:15 bisitz Exp $ # # Copyright Michigan State University Board of Trustees # @@ -26,6 +26,7 @@ package Apache::run; # use HTML::Entities; +use Apache::lonlocal; $Apache::run::EVALUATE_STRING=<<'ENDEVALUATE'; my %_LONCAPA_INTERNAL_oldexpressions=(); @@ -95,20 +96,20 @@ sub evaluate { $result = $safeeval->reval('return $_;'); chomp $result; } else { - if ($Apache::run::timeout) { - $error = 'Code ran too long. It ran for more than '. - $Apache::lonnet::perlvar{'lonScriptTimeout'}.' seconds'; - } - &Apache::lonxml::error('substitution on
'.
-			       &HTML::Entities::encode($expression,'<>&"').
-			       '
with
'.
-			       &HTML::Entities::encode($decls,'<>&"').
-			       '
caused
'.
-			       &HTML::Entities::encode($error,'<>&"').' '.
-			       &HTML::Entities::encode($innererror,'<>&"').
-			       '
'); + if ($Apache::run::timeout) { + $error = + &mt('Code ran too long. It ran for more than [_1] seconds.', + $Apache::lonnet::perlvar{'lonScriptTimeout'}); + } + &Apache::lonxml::error( + &mt('Substitution on [_1] with [_2] caused:', + '
'. &HTML::Entities::encode($expression,'<>&"').'
', + '
'.&HTML::Entities::encode($decls,'<>&"').'
') + .'
' + .'
'.&HTML::Entities::encode($error,'<>&"').' '
+           .&HTML::Entities::encode($innererror,'<>&"').'
'); } - return $result + return $result; } sub run { @@ -129,24 +130,27 @@ sub run { }; my $error=$@; if (($Apache::run::timeout || $error ne '' || $innererror ne '') && !$hideerrors) { - if ($Apache::run::timeout) { - $error = 'Code ran too long. It ran for more than '. - $Apache::lonnet::perlvar{'lonScriptTimeout'}.' seconds'; - } - my $errormsg='
'.&HTML::Entities::encode($error,'<>&"').' '.
-	    &HTML::Entities::encode($innererror,'<>&"').
-	    '
occurred while running
';
-	$code=&HTML::Entities::encode($code,'<>&"');
-	if ($innererror=~/line (\d+)/) {
-	    my $linenumber=$1;
-	    my @code=split("\n",$code);
-	    if ($linenumber < scalar(@code)) {
-		$code[$linenumber-1]=''.
-		    $code[$linenumber-1].'';
-	    }
-	    $code=join("\n",@code);
-	}
-	&Apache::lonxml::error($errormsg.$code.'
'); + if ($Apache::run::timeout) { + $error = &mt('Code ran too long. It ran for more than [_1] seconds.', + $Apache::lonnet::perlvar{'lonScriptTimeout'}); + } + $code=&HTML::Entities::encode($code,'<>&"'); + if ($innererror=~/line (\d+)/) { + my $linenumber=$1; + my @code=split("\n",$code); + if ($linenumber < scalar(@code)) { + $code[$linenumber-1]= + ''. + $code[$linenumber-1].''; + } + $code=join("\n",@code); + } + &Apache::lonxml::error( + '
'.&HTML::Entities::encode($error,'<>&"').' '.
+            &HTML::Entities::encode($innererror,'<>&"').
+            '
' + .&mt('This occurred while running: [_1]', + '
'.$code.'
')); } if ( $#result < '1') { return $result[0];