version 1.382, 2005/09/14 19:20:23
|
version 1.386, 2005/11/02 22:48:52
|
Line 665 sub setup_globals {
|
Line 665 sub setup_globals {
|
|
|
sub init_safespace { |
sub init_safespace { |
my ($target,$safeeval,$safehole,$safeinit) = @_; |
my ($target,$safeeval,$safehole,$safeinit) = @_; |
|
$safeeval->deny_only(':dangerous'); |
|
$safeeval->reval('use Math::Complex;'); |
|
$safeeval->permit_only(":default"); |
$safeeval->permit("entereval"); |
$safeeval->permit("entereval"); |
$safeeval->permit(":base_math"); |
$safeeval->permit(":base_math"); |
$safeeval->permit("sort"); |
$safeeval->permit("sort"); |
Line 722 sub init_safespace {
|
Line 725 sub init_safespace {
|
$safehole->wrap(\&Math::Cephes::stdtr ,$safeeval,'&stdtr' ); |
$safehole->wrap(\&Math::Cephes::stdtr ,$safeeval,'&stdtr' ); |
$safehole->wrap(\&Math::Cephes::stdtri,$safeeval,'&stdtri'); |
$safehole->wrap(\&Math::Cephes::stdtri,$safeeval,'&stdtri'); |
|
|
|
$safehole->wrap(\&Math::Cephes::Matrix::mat,$safeeval,'&mat'); |
|
$safehole->wrap(\&Math::Cephes::Matrix::new,$safeeval, |
|
'&Math::Cephes::Matrix::new'); |
|
$safehole->wrap(\&Math::Cephes::Matrix::coef,$safeeval, |
|
'&Math::Cephes::Matrix::coef'); |
|
$safehole->wrap(\&Math::Cephes::Matrix::clr,$safeeval, |
|
'&Math::Cephes::Matrix::clr'); |
|
$safehole->wrap(\&Math::Cephes::Matrix::add,$safeeval, |
|
'&Math::Cephes::Matrix::add'); |
|
$safehole->wrap(\&Math::Cephes::Matrix::sub,$safeeval, |
|
'&Math::Cephes::Matrix::sub'); |
|
$safehole->wrap(\&Math::Cephes::Matrix::mul,$safeeval, |
|
'&Math::Cephes::Matrix::mul'); |
|
$safehole->wrap(\&Math::Cephes::Matrix::div,$safeeval, |
|
'&Math::Cephes::Matrix::div'); |
|
$safehole->wrap(\&Math::Cephes::Matrix::inv,$safeeval, |
|
'&Math::Cephes::Matrix::inv'); |
|
$safehole->wrap(\&Math::Cephes::Matrix::transp,$safeeval, |
|
'&Math::Cephes::Matrix::transp'); |
|
$safehole->wrap(\&Math::Cephes::Matrix::simq,$safeeval, |
|
'&Math::Cephes::Matrix::simq'); |
|
$safehole->wrap(\&Math::Cephes::Matrix::mat_to_vec,$safeeval, |
|
'&Math::Cephes::Matrix::mat_to_vec'); |
|
$safehole->wrap(\&Math::Cephes::Matrix::vec_to_mat,$safeeval, |
|
'&Math::Cephes::Matrix::vec_to_mat'); |
|
$safehole->wrap(\&Math::Cephes::Matrix::check,$safeeval, |
|
'&Math::Cephes::Matrix::check'); |
|
$safehole->wrap(\&Math::Cephes::Matrix::check,$safeeval, |
|
'&Math::Cephes::Matrix::check'); |
|
|
# $safehole->wrap(\&Math::Cephes::new_fract,$safeeval,'&new_fract'); |
# $safehole->wrap(\&Math::Cephes::new_fract,$safeeval,'&new_fract'); |
# $safehole->wrap(\&Math::Cephes::radd,$safeeval,'&radd'); |
# $safehole->wrap(\&Math::Cephes::radd,$safeeval,'&radd'); |
# $safehole->wrap(\&Math::Cephes::rsub,$safeeval,'&rsub'); |
# $safehole->wrap(\&Math::Cephes::rsub,$safeeval,'&rsub'); |
Line 893 sub get_all_text_unbalanced {
|
Line 926 sub get_all_text_unbalanced {
|
$tag='<'.$tag.'>'; |
$tag='<'.$tag.'>'; |
while ($token = $$pars[-1]->get_token) { |
while ($token = $$pars[-1]->get_token) { |
if (($token->[0] eq 'T')||($token->[0] eq 'C')||($token->[0] eq 'D')) { |
if (($token->[0] eq 'T')||($token->[0] eq 'C')||($token->[0] eq 'D')) { |
if ($token->[2]) { |
if ($token->[0] eq 'T' && $token->[2]) { |
$result.='<![CDATA['.$token->[1].']]>'; |
$result.='<![CDATA['.$token->[1].']]>'; |
} else { |
} else { |
$result.=$token->[1]; |
$result.=$token->[1]; |
Line 1076 sub parstring {
|
Line 1109 sub parstring {
|
return $temp; |
return $temp; |
} |
} |
|
|
|
sub extlink { |
|
my ($res,$exact)=@_; |
|
if (!$exact) { |
|
$res=&Apache::lonnet::hreflocation($Apache::lonxml::pwd[-1],$res); |
|
} |
|
push(@Apache::lonxml::extlinks,$res) |
|
} |
|
|
sub writeallows { |
sub writeallows { |
unless ($#extlinks>=0) { return; } |
unless ($#extlinks>=0) { return; } |
my $thisurl = &Apache::lonnet::clutter(shift); |
my $thisurl = &Apache::lonnet::clutter(shift); |
Line 1352 ENDNOTFOUND
|
Line 1393 ENDNOTFOUND
|
} |
} |
# |
# |
# we are in construction space, see if edit mode forced |
# we are in construction space, see if edit mode forced |
&Apache::loncommon::get_unprocessed_cgi |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
($ENV{'QUERY_STRING'},['editmode']); |
['editmode']); |
} |
} |
if (!$env{'form.editmode'} || $env{'form.viewmode'}) { |
if (!$env{'form.editmode'} || $env{'form.viewmode'}) { |
$result = &Apache::lonxml::xmlparse($request,$target,$filecontents, |
$result = &Apache::lonxml::xmlparse($request,$target,$filecontents, |
'',%mystyle); |
'',%mystyle); |
undef($Apache::lonhomework::parsing_a_task); |
undef($Apache::lonhomework::parsing_a_task); |
|
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
|
['rawmode']); |
|
if ($env{'rawmode'}) { $result = $filecontents; } |
} |
} |
} |
} |
|
|