version 1.103, 2001/07/27 00:18:59
|
version 1.106, 2001/08/07 16:54:14
|
Line 12
|
Line 12
|
# 6/2,6/3,6/8,6/9 Gerd Kortemeyer |
# 6/2,6/3,6/8,6/9 Gerd Kortemeyer |
# 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 |
|
# 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 131 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 279 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?'); |