version 1.88, 2001/06/08 20:01:45
|
version 1.95, 2001/06/16 16:09:09
|
Line 9
|
Line 9
|
# 5/10 Scott Harrison |
# 5/10 Scott Harrison |
# 5/26 Gerd Kortemeyer |
# 5/26 Gerd Kortemeyer |
# 5/27 H. K. Ng |
# 5/27 H. K. Ng |
# 6/2,6/3,6/8 Gerd Kortemeyer |
# 6/2,6/3,6/8,6/9 Gerd Kortemeyer |
|
# 6/12,6/13 H. K. Ng |
|
# 6/16 Gerd Kortemeyer |
|
|
package Apache::lonxml; |
package Apache::lonxml; |
use vars |
use vars |
Line 19 use HTML::TokeParser;
|
Line 21 use HTML::TokeParser;
|
use Safe; |
use Safe; |
use Safe::Hole; |
use Safe::Hole; |
use Math::Cephes qw(:trigs :hypers :bessels erf erfc); |
use Math::Cephes qw(:trigs :hypers :bessels erf erfc); |
|
use Math::Random qw(:all); |
use Opcode; |
use Opcode; |
|
|
sub register { |
sub register { |
Line 145 ENDPARM
|
Line 148 ENDPARM
|
(2,1,'back.gif','backward','','gopost("/adm/flip","back:"+currentURL)'); |
(2,1,'back.gif','backward','','gopost("/adm/flip","back:"+currentURL)'); |
menu.switchbutton |
menu.switchbutton |
(2,3,'forw.gif','forward','','gopost("/adm/flip","forward:"+currentURL)'); |
(2,3,'forw.gif','forward','','gopost("/adm/flip","forward:"+currentURL)'); |
|
menu.switchbutton |
|
(9,1,'sbkm.gif','set','bookmark','set_bookmark()'); |
|
menu.switchbutton |
|
(9,2,'vbkm.gif','view','bookmark','edit_bookmarks()'); |
|
menu.switchbutton |
|
(9,3,'anot.gif','anno-','tations','annotate()'); |
$hwkadd |
$hwkadd |
} |
} |
|
|
Line 153 ENDPARM
|
Line 162 ENDPARM
|
menu.currentStale=1; |
menu.currentStale=1; |
menu.switchbutton |
menu.switchbutton |
(3,1,'reload.gif','return','location','go(currentURL)'); |
(3,1,'reload.gif','return','location','go(currentURL)'); |
|
menu.clearbut(7,1); |
|
menu.clearbut(7,2); |
|
menu.clearbut(7,3); |
menu.menucltim=menu.setTimeout( |
menu.menucltim=menu.setTimeout( |
'clearbut(2,1);clearbut(2,3);clearbut(8,1);clearbut(8,2);clearbut(8,3);', |
'clearbut(2,1);clearbut(2,3);clearbut(8,1);clearbut(8,2);clearbut(8,3);'+ |
|
'clearbut(9,1);clearbut(9,2);clearbut(9,3);', |
2000); |
2000); |
|
|
} |
} |
Line 211 sub printalltags {
|
Line 224 sub printalltags {
|
} |
} |
|
|
sub xmlparse { |
sub xmlparse { |
|
|
my ($target,$content_file_string,$safeinit,%style_for_target) = @_; |
my ($target,$content_file_string,$safeinit,%style_for_target) = @_; |
if ($target eq 'meta') { |
if ($target eq 'meta') { |
$Apache::lonxml::redirection = 0; |
$Apache::lonxml::redirection = 0; |
Line 413 sub callsub {
|
Line 425 sub callsub {
|
{ |
{ |
my $sub1; |
my $sub1; |
no strict 'refs'; |
no strict 'refs'; |
if ($target eq 'edit' && $token->[0] eq 'S') { |
|
$currentstring = &Apache::edit::tag_start($target,$token,$tagstack, |
|
$parstack,$parser, |
|
$safeeval,$style); |
|
} |
|
my $tag=$token->[1]; |
my $tag=$token->[1]; |
my $space=$Apache::lonxml::alltags{$tag}; |
my $space=$Apache::lonxml::alltags{$tag}; |
if (!$space) { |
if (!$space) { |
Line 492 sub init_safespace {
|
Line 499 sub init_safespace {
|
$safehole->wrap(\&Math::Cephes::y1,$safeeval,'&y1'); |
$safehole->wrap(\&Math::Cephes::y1,$safeeval,'&y1'); |
$safehole->wrap(\&Math::Cephes::yn,$safeeval,'&yn'); |
$safehole->wrap(\&Math::Cephes::yn,$safeeval,'&yn'); |
$safehole->wrap(\&Math::Cephes::yv,$safeeval,'&yv'); |
$safehole->wrap(\&Math::Cephes::yv,$safeeval,'&yv'); |
|
$safehole->wrap(\&Math::Random::random_beta,$safeeval,'&math_random_beta'); |
|
$safehole->wrap(\&Math::Random::random_chi_square,$safeeval,'&math_random_chi_square'); |
|
$safehole->wrap(\&Math::Random::random_exponential,$safeeval,'&math_random_exponential'); |
|
$safehole->wrap(\&Math::Random::random_f,$safeeval,'&math_random_f'); |
|
$safehole->wrap(\&Math::Random::random_gamma,$safeeval,'&math_random_gamma'); |
|
$safehole->wrap(\&Math::Random::random_multivariate_normal,$safeeval,'&math_random_multivariate_normal'); |
|
$safehole->wrap(\&Math::Random::random_multinomial,$safeeval,'&math_random_multinomial'); |
|
$safehole->wrap(\&Math::Random::random_noncentral_chi_square,$safeeval,'&math_random_noncentral_chi_square'); |
|
$safehole->wrap(\&Math::Random::random_noncentral_f,$safeeval,'&math_random_noncentral_f'); |
|
$safehole->wrap(\&Math::Random::random_normal,$safeeval,'&math_random_normal'); |
|
$safehole->wrap(\&Math::Random::random_permutation,$safeeval,'&math_random_permutation'); |
|
$safehole->wrap(\&Math::Random::random_permuted_index,$safeeval,'&math_random_permuted_index'); |
|
$safehole->wrap(\&Math::Random::random_uniform,$safeeval,'&math_random_uniform'); |
|
$safehole->wrap(\&Math::Random::random_poisson,$safeeval,'&math_random_poisson'); |
|
$safehole->wrap(\&Math::Random::random_uniform_integer,$safeeval,'&math_random_uniform_integer'); |
|
$safehole->wrap(\&Math::Random::random_negative_binomial,$safeeval,'&math_random_negative_binomial'); |
|
$safehole->wrap(\&Math::Random::random_binomial,$safeeval,'&math_random_binomial'); |
|
$safehole->wrap(\&Math::Random::random_seed_from_phrase,$safeeval,'&random_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_set_seed,$safeeval,'&random_set_seed'); |
|
|
#need to inspect this class of ops |
#need to inspect this class of ops |
# $safeeval->deny(":base_orig"); |
# $safeeval->deny(":base_orig"); |
$safeinit .= ';$external::target='.$target.';'; |
$safeinit .= ';$external::target="'.$target.'";'; |
$safeinit .= ';$external::randomseed='.&Apache::lonnet::rndseed().';'; |
$safeinit .= ';$external::randomseed='.&Apache::lonnet::rndseed().';'; |
&Apache::run::run($safeinit,$safeeval); |
&Apache::run::run($safeinit,$safeeval); |
} |
} |
Line 830 sub register_insert {
|
Line 858 sub register_insert {
|
my $line = $data[$i]; |
my $line = $data[$i]; |
if ( $line =~ /^\#/ || $line =~ /^\s*\n/) { next; } |
if ( $line =~ /^\#/ || $line =~ /^\s*\n/) { next; } |
if ( $line =~ /TABLE/ ) { last; } |
if ( $line =~ /TABLE/ ) { last; } |
my ($tag,$descrip,$function,$show) = split(/,/, $line); |
my ($tag,$descrip,$color,$function,$show) = split(/,/, $line); |
$insertlist{"$tagnum.tag"} = $tag; |
$insertlist{"$tagnum.tag"} = $tag; |
$insertlist{"$tagnum.description"} = $descrip; |
$insertlist{"$tagnum.description"} = $descrip; |
|
$insertlist{"$tagnum.color"} = $color; |
$insertlist{"$tagnum.function"} = $function; |
$insertlist{"$tagnum.function"} = $function; |
$insertlist{"$tagnum.show"}= $show; |
$insertlist{"$tagnum.show"}= $show; |
|
$insertlist{"$tag.num"}=$tagnum; |
$tagnum++; |
$tagnum++; |
} |
} |
$i++; #skipping TABLE line |
$i++; #skipping TABLE line |