version 1.417, 2006/09/18 21:47:34
|
version 1.420, 2006/09/29 20:36:45
|
Line 772 sub init_safespace {
|
Line 772 sub init_safespace {
|
$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'); |
$safehole->wrap(\&Apache::lonxml::error,$safeeval,'&LONCAPA_INTERNAL_ERROR'); |
$safehole->wrap(\&Apache::lonxml::debug,$safeeval,'&LONCAPA_INTERNAL_DEBUG'); |
$safehole->wrap(\&Apache::lonxml::debug,$safeeval,'&LONCAPA_INTERNAL_DEBUG'); |
|
$safehole->wrap(\&Apache::lonnet::logthis,$safeeval,'&LONCAPA_INTERNAL_LOGTHIS'); |
|
$safehole->wrap(\&Apache::inputtags::finalizeawards,$safeeval,'&LONCAPA_INTERNAL_FINALIZEAWARDS'); |
$safehole->wrap(\&Apache::caparesponse::get_sigrange,$safeeval,'&LONCAPA_INTERNAL_get_sigrange'); |
$safehole->wrap(\&Apache::caparesponse::get_sigrange,$safeeval,'&LONCAPA_INTERNAL_get_sigrange'); |
|
use Data::Dumper; |
|
$safehole->wrap(\&Data::Dumper::Dumper,$safeeval,'&Dumper'); |
#need to inspect this class of ops |
#need to inspect this class of ops |
# $safeeval->deny(":base_orig"); |
# $safeeval->deny(":base_orig"); |
$safeeval->permit("require"); |
$safeeval->permit("require"); |
Line 1165 sub parstring {
|
Line 1168 sub parstring {
|
my $var_init = |
my $var_init = |
(@vars) ? 'my ('.join(',',@vars).') = ('.join(',',@values).');' |
(@vars) ? 'my ('.join(',',@vars).') = ('.join(',',@values).');' |
: ''; |
: ''; |
print STDERR $var_init."\n"; |
|
return $var_init; |
return $var_init; |
} |
} |
|
|
Line 1655 sub get_param_var {
|
Line 1657 sub get_param_var {
|
} |
} |
&Apache::lonxml::debug("Args are $args param is $param"); |
&Apache::lonxml::debug("Args are $args param is $param"); |
if ($case_insensitive) { |
if ($case_insensitive) { |
if (! ($args=~s/(my \$)(\Q$param\E)(=\")/$1.lc($2).$3/ei)) { |
if (! ($args=~s/(my (?:.*))(\$\Q$param\E[,\)])/$1.lc($2)/ei)) { |
return undef; |
return undef; |
} |
} |
} elsif ( $args !~ /my \$\Q$param\E=\"/ ) { return undef; } |
} elsif ( $args !~ /my .*\$\Q$param\E[,\)]/ ) { return undef; } |
my $value=&Apache::run::run("{$args;".'return $'.$param.'}',$safeeval); #' |
my $value=&Apache::run::run("{$args;".'return $'.$param.'}',$safeeval); #' |
&Apache::lonxml::debug("first run is $value"); |
&Apache::lonxml::debug("first run is $value"); |
if ($value =~ /^[\$\@\%][a-zA-Z_]\w*$/) { |
if ($value =~ /^[\$\@\%][a-zA-Z_]\w*$/) { |