Diff for /loncom/xml/lonxml.pm between versions 1.86 and 1.94

version 1.86, 2001/06/03 18:33:54 version 1.94, 2001/06/16 15:08: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 Gerd Kortemeyer  # 6/2,6/3,6/8,6/9 Gerd Kortemeyer
   # 6/12,6/13 H. K. Ng
   
 package Apache::lonxml;   package Apache::lonxml; 
 use vars   use vars 
Line 19  use HTML::TokeParser; Line 20  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 100  sub fontsettings() { Line 102  sub fontsettings() {
   
 sub registerurl {  sub registerurl {
     if ($ENV{'REQUEST_URI'}!~/^\/(res\/)*adm\//) {      if ($ENV{'REQUEST_URI'}!~/^\/(res\/)*adm\//) {
           my $hwkadd='';
           if ($ENV{'REQUEST_URI'}=~/\.(problem|exam|quiz|assess|survey|form)$/) {
       if (&Apache::lonnet::allowed('vgr',$ENV{'request.course.id'})) {
    $hwkadd.=(<<ENDSUBM);
                        menu.switchbutton
              (7,1,'subm.gif','view sub','missions',
                   'gocmd("/adm/grades","submission")');
   ENDSUBM
               }
       if (&Apache::lonnet::allowed('mgr',$ENV{'request.course.id'})) {
    $hwkadd.=(<<ENDGRDS);
                        menu.switchbutton
              (7,2,'pgrd.gif','problem','grades',
                   'gocmd("/adm/grades","viewgrades")');
   ENDGRDS
               }
       if (&Apache::lonnet::allowed('opa',$ENV{'request.course.id'})) {
    $hwkadd.=(<<ENDPARM);
                        menu.switchbutton
              (7,3,'pparm.gif','problem','parms',
                   'gocmd("/adm/parmset","set")');
   ENDPARM
               }
    }
  return (<<ENDREGTHIS);   return (<<ENDREGTHIS);
        
 <script language="JavaScript">  <script language="JavaScript">
 // BEGIN LON-CAPA Internal  // BEGIN LON-CAPA Internal
   
Line 121  sub registerurl { Line 147  sub registerurl {
        (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','gopost("/adm/annotations",currentURL)');
       
             $hwkadd
     }      }
   
     function LONCAPAstale() {      function LONCAPAstale() {
Line 128  sub registerurl { Line 162  sub registerurl {
           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);
   
     }        }
   
 // END LON-CAPA Internal  // END LON-CAPA Internal
 </script>  </script>
Line 186  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 388  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 467  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 805  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

Removed from v.1.86  
changed lines
  Added in v.1.94


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>