Diff for /loncom/xml/lonxml.pm between versions 1.104 and 1.106

version 1.104, 2001/07/27 18:16:22 version 1.106, 2001/08/07 16:54:14
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 Gerd Kortemeyer
   
 package Apache::lonxml;   package Apache::lonxml; 
 use vars   use vars 
 qw(@pwd @outputstack $redirection $import @extlinks $metamode $evaluate %insertlist @namespace);  qw(@pwd @outputstack $redirection $import @extlinks $metamode $evaluate %insertlist @namespace);
 use strict;  use strict;
 use HTML::TokeParser;  use HTML::TokeParser;
   use HTML::TreeBuilder;
 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);
Line 132  sub fontsettings() { Line 134  sub fontsettings() {
 sub registerurl {  sub registerurl {
     my $forcereg=shift;      my $forcereg=shift;
     if ($Apache::lonxml::registered) { return ''; }      if ($Apache::lonxml::registered) { return ''; }
       $Apache::lonxml::registered=1;
     if (($ENV{'REQUEST_URI'}!~/^\/(res\/)*adm\//) || ($forcereg)) {      if (($ENV{'REQUEST_URI'}!~/^\/(res\/)*adm\//) || ($forcereg)) {
         my $hwkadd='';          my $hwkadd='';
         if ($ENV{'REQUEST_URI'}=~/\.(problem|exam|quiz|assess|survey|form)$/) {          if ($ENV{'REQUEST_URI'}=~/\.(problem|exam|quiz|assess|survey|form)$/) {
Line 280  sub xmlparse { Line 283  sub xmlparse {
  return $finaloutput;   return $finaloutput;
 }  }
   
   sub htmlclean {
       my $raw=shift;
   
       my $tree = HTML::TreeBuilder->new;
       $tree->ignore_unknown(0);
       
       $tree->parse($raw);
       my %emptyhash=();
   
       my $output= $tree->as_HTML(undef,' ',\%emptyhash), "\n";
        
       $output=~s/\<(br|hr|img)([^\>\/]*)\>/\<$1$2 \/\>/gis;
       $output=~s/\<\/(br|hr|img)\>//gis;
       $output=~s/\<[\/]*(body|head|html)\>//gis;
   
       $tree = $tree->delete;
   
       return $output;
   }
   
 sub inner_xmlparse {  sub inner_xmlparse {
   my ($target,$stack,$parstack,$pars,$safeeval,$style_for_target)=@_;    my ($target,$stack,$parstack,$pars,$safeeval,$style_for_target)=@_;
   &Apache::lonxml::debug('Reentrant parser starting, again?');    &Apache::lonxml::debug('Reentrant parser starting, again?');

Removed from v.1.104  
changed lines
  Added in v.1.106


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