version 1.303, 2004/02/26 23:39:03
|
version 1.308, 2004/03/04 23:01:31
|
Line 409 sub latex_special_symbols {
|
Line 409 sub latex_special_symbols {
|
$string=~s/\~/\\char126 /g; |
$string=~s/\~/\\char126 /g; |
#fixup & if it doesn't look like |
#fixup & if it doesn't look like |
# { or α |
# { or α |
$string=~s/(&(?!((\#[0-9]+)|([a-z]+));))/\\$1/gi; |
$string=~s/(&(?!((\#[0-9]+)|([a-z][a-z0-9]*));))/\\$1/gi; |
$string=~s/([^&\\])\#/$1\\#/g; |
$string=~s/([^&\\])\#/$1\\#/g; |
$string=~s/\#\#/\#\\#/g; |
$string=~s/\#\#/\#\\#/g; |
$string=~s/(\$|_|{|})/\\$1/g; |
$string=~s/(\$|_|{|})/\\$1/g; |
Line 750 sub init_safespace {
|
Line 750 sub init_safespace {
|
$safehole->wrap(\&Math::Random::random_set_seed_from_phrase,$safeeval,'&random_set_seed_from_phrase'); |
$safehole->wrap(\&Math::Random::random_set_seed_from_phrase,$safeeval,'&random_set_seed_from_phrase'); |
$safehole->wrap(\&Math::Random::random_get_seed,$safeeval,'&random_get_seed'); |
$safehole->wrap(\&Math::Random::random_get_seed,$safeeval,'&random_get_seed'); |
$safehole->wrap(\&Math::Random::random_set_seed,$safeeval,'&random_set_seed'); |
$safehole->wrap(\&Math::Random::random_set_seed,$safeeval,'&random_set_seed'); |
|
$safehole->wrap(\&Apache::lonxml::error,$safeeval,'&LONCAPA_INTERNAL_ERROR'); |
|
|
#need to inspect this class of ops |
#need to inspect this class of ops |
# $safeeval->deny(":base_orig"); |
# $safeeval->deny(":base_orig"); |
Line 765 sub init_safespace {
|
Line 766 sub init_safespace {
|
sub __LC_INTERNAL_EVALUATE__ { |
sub __LC_INTERNAL_EVALUATE__ { |
my ($__LC__a,$__LC__b,$__LC__c)=@_; |
my ($__LC__a,$__LC__b,$__LC__c)=@_; |
my $__LC__prefix; |
my $__LC__prefix; |
my $__LC__msg; |
|
while(1){ |
while(1){ |
{ |
{ |
use strict; |
use strict; |
|
no strict "vars"; |
if (eval(defined(eval($__LC__a.$__LC__b)))) { |
if (eval(defined(eval($__LC__a.$__LC__b)))) { |
return $__LC__msg.$__LC__prefix.eval($__LC__a.$__LC__b.$__LC__c); |
return $__LC__prefix.eval($__LC__a.$__LC__b.$__LC__c); |
} |
} |
} |
} |
$__LC__prefix.=substr($__LC__a,0,1,""); |
$__LC__prefix.=substr($__LC__a,0,1,""); |
if ($__LC__a!~/^(\$|&|\#)/) { last; } |
if ($__LC__a!~/^(\$|&|\#)/) { last; } |
} |
} |
return $__LC__prefix.$__LC__a.$__LC__b.$__LC__c.$__LC__msg; |
return $__LC__prefix.$__LC__a.$__LC__b.$__LC__c; |
} |
} |
EVALUATESUB |
EVALUATESUB |
$safeeval->permit("require"); |
$safeeval->permit("require"); |
Line 1157 sub inserteditinfo {
|
Line 1158 sub inserteditinfo {
|
'ed' => 'Edit'); |
'ed' => 'Edit'); |
my $buttons=(<<BUTTONS); |
my $buttons=(<<BUTTONS); |
$cleanbut |
$cleanbut |
<input type="submit" name="savethisfile" value="$lt{'st'}" /> |
<input type="submit" name="savethisfile" accesskey="s" value="$lt{'st'}" /> |
<input type="submit" name="viewmode" value="$lt{'vi'}" /> |
<input type="submit" name="viewmode" accesskey="v" value="$lt{'vi'}" /> |
BUTTONS |
BUTTONS |
my $editfooter=(<<ENDFOOTER); |
my $editfooter=(<<ENDFOOTER); |
<hr /> |
<hr /> |
Line 1332 sub error {
|
Line 1333 sub error {
|
if (($Apache::lonxml::debug eq 1) || ($ENV{'request.state'} eq 'construct') ) { |
if (($Apache::lonxml::debug eq 1) || ($ENV{'request.state'} eq 'construct') ) { |
# If printing in construction space, put the error inside <pre></pre> |
# If printing in construction space, put the error inside <pre></pre> |
$request->print($Apache::lonxml::warnings_error_header. |
$request->print($Apache::lonxml::warnings_error_header. |
"<b>ERROR:</b>".join("\n",@_)."\n"); |
"<b>ERROR:</b>".join("<br />\n",@_)."<br />\n"); |
$Apache::lonxml::warnings_error_header=''; |
$Apache::lonxml::warnings_error_header=''; |
} else { |
} else { |
$request->print("<b>An Error occured while processing this resource. The instructor has been notified.</b> <br />"); |
$request->print("<b>An Error occured while processing this resource. The instructor has been notified.</b> <br />"); |