Diff for /loncom/xml/lonxml.pm between versions 1.124 and 1.132

version 1.124, 2001/08/23 19:41:52 version 1.132, 2001/10/01 20:06:45
Line 13 Line 13
 # 6/12,6/13 H. K. Ng  # 6/12,6/13 H. K. Ng
 # 6/16 Gerd Kortemeyer  # 6/16 Gerd Kortemeyer
 # 7/27 H. K. Ng  # 7/27 H. K. Ng
 # 8/7,8/9,8/10,8/11,8/15,8/16,8/17,8/18,8/20 Gerd Kortemeyer  # 8/7,8/9,8/10,8/11,8/15,8/16,8/17,8/18,8/20,8/23,8/24 Gerd Kortemeyer
   # Guy Albertelli
   # 9/26 Gerd Kortemeyer
   
   
 package Apache::lonxml;   package Apache::lonxml; 
 use vars   use vars 
Line 260  sub fontsettings() { Line 263  sub fontsettings() {
   
 sub registerurl {  sub registerurl {
     my $forcereg=shift;      my $forcereg=shift;
     if ($Apache::lonxml::registered) { return ''; }      if ($ENV{'request.publicaccess'}) {
    return 
            '<script>function LONCAPAreg(){} function LONCAPAstale(){}</script>';
       }
       if ($Apache::lonxml::registered && !$forcereg) { return ''; }
     $Apache::lonxml::registered=1;      $Apache::lonxml::registered=1;
     if (($ENV{'REQUEST_URI'}!~/^\/(res\/)*adm\//) || ($forcereg)) {      if (($ENV{'REQUEST_URI'}!~/^\/(res\/)*adm\//) || ($forcereg)) {
         my $hwkadd='';          my $hwkadd='';
Line 322  ENDPARM Line 329  ENDPARM
     function LONCAPAstale() {      function LONCAPAstale() {
   menu=window.open("","LONCAPAmenu");    menu=window.open("","LONCAPAmenu");
           menu.currentStale=1;            menu.currentStale=1;
           //menu.clearbut(7,1);            menu.switchbutton
           //menu.clearbut(7,2);               (3,1,'reload.gif','return','location','go(currentURL)');
           //menu.clearbut(7,3);            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);clearbut(6,3)',   'clearbut(9,1);clearbut(9,2);clearbut(9,3);clearbut(6,3)',
Line 406  sub xmlparse { Line 415  sub xmlparse {
   
  my $finaloutput = &inner_xmlparse($target,\@stack,\@parstack,\@pars,   my $finaloutput = &inner_xmlparse($target,\@stack,\@parstack,\@pars,
    $safeeval,\%style_for_target);     $safeeval,\%style_for_target);
    if ($ENV{'request.uri'}) {
       &writeallows($ENV{'request.uri'});
    }
  return $finaloutput;   return $finaloutput;
 }  }
   
Line 660  sub setup_globals { Line 671  sub setup_globals {
     $Apache::lonxml::metamode = 1;      $Apache::lonxml::metamode = 1;
     $Apache::lonxml::evaluate = 1;      $Apache::lonxml::evaluate = 1;
     $Apache::lonxml::import = 0;      $Apache::lonxml::import = 0;
     } elsif ($target eq 'answer') {
       $Apache::lonxml::redirection = 0;
       $Apache::lonxml::metamode = 1;
       $Apache::lonxml::evaluate = 1;
       $Apache::lonxml::import = 1;
   } elsif ($target eq 'grade') {    } elsif ($target eq 'grade') {
     &startredirection;      &startredirection;
     $Apache::lonxml::metamode = 0;      $Apache::lonxml::metamode = 0;
Line 874  sub parstring { Line 890  sub parstring {
 }  }
   
 sub writeallows {  sub writeallows {
       unless ($#extlinks>=0) { return; }
     my $thisurl='/res/'.&Apache::lonnet::declutter(shift);      my $thisurl='/res/'.&Apache::lonnet::declutter(shift);
     if ($ENV{'httpref.'.$thisurl}) {      if ($ENV{'httpref.'.$thisurl}) {
  $thisurl=$ENV{'httpref.'.$thisurl};   $thisurl=$ENV{'httpref.'.$thisurl};
Line 883  sub writeallows { Line 900  sub writeallows {
     my %httpref=();      my %httpref=();
     map {      map {
        $httpref{'httpref.'.         $httpref{'httpref.'.
          &Apache::lonnet::hreflocation($thisdir,$_)}=$thisurl;              } @extlinks;           &Apache::lonnet::hreflocation($thisdir,$_)}=$thisurl;
       } @extlinks;
       @extlinks=();
     &Apache::lonnet::appenv(%httpref);      &Apache::lonnet::appenv(%httpref);
 }  }
   
Line 1032  ENDNOTFOUND Line 1051  ENDNOTFOUND
   unless ($ENV{'request.state'} eq 'published') {    unless ($ENV{'request.state'} eq 'published') {
       $result=&inserteditinfo($result,$filecontents);        $result=&inserteditinfo($result,$filecontents);
   }    }
     
     writeallows($request->uri);
   
   $request->print($result);    $request->print($result);
   
   writeallows($request->uri);  
   return OK;    return OK;
 }  }
     
Line 1078  sub get_param { Line 1098  sub get_param {
   if ( ! $context ) { $context = -1; }    if ( ! $context ) { $context = -1; }
   my $args ='';    my $args ='';
   if ( $#$parstack > (-2-$context) ) { $args=$$parstack[$context]; }    if ( $#$parstack > (-2-$context) ) { $args=$$parstack[$context]; }
   return &Apache::run::run("{$args;".'return $'.$param.'}',$safeeval); #'    if ( $args =~ /my \$$param=\"/ ) {
       return &Apache::run::run("{$args;".'return $'.$param.'}',$safeeval); #'
     } else {
       return undef;
     }
   }
   
   sub get_param_var {
     my ($param,$parstack,$safeeval,$context) = @_;
     if ( ! $context ) { $context = -1; }
     my $args ='';
     if ( $#$parstack > (-2-$context) ) { $args=$$parstack[$context]; }
     if ( $args !~ /my \$$param=\"/ ) { return undef; }
     my $value=&Apache::run::run("{$args;".'return $'.$param.'}',$safeeval); #'
     if ($value =~ /^[\$\@\%]/) {
       return &Apache::run::run("return $value",$safeeval,1);
     } else {
       return $value;
     }
 }  }
   
 sub register_insert {  sub register_insert {

Removed from v.1.124  
changed lines
  Added in v.1.132


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