version 1.50, 2001/10/16 19:28:38
|
version 1.57, 2001/12/05 20:25:20
|
Line 1
|
Line 1
|
# The LearningOnline Network with CAPA |
# The LearningOnline Network with CAPA |
# Publication Handler |
# Publication Handler |
|
# |
|
# $Id$ |
|
# |
|
# Copyright Michigan State University Board of Trustees |
|
# |
|
# This file is part of the LearningOnline Network with CAPA (LON-CAPA). |
|
# |
|
# LON-CAPA is free software; you can redistribute it and/or modify |
|
# it under the terms of the GNU General Public License as published by |
|
# the Free Software Foundation; either version 2 of the License, or |
|
# (at your option) any later version. |
|
# |
|
# LON-CAPA is distributed in the hope that it will be useful, |
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
# GNU General Public License for more details. |
|
# |
|
# You should have received a copy of the GNU General Public License |
|
# along with LON-CAPA; if not, write to the Free Software |
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
# |
|
# /home/httpd/html/adm/gpl.txt |
|
# |
|
# http://www.lon-capa.org/ |
|
# |
# |
# |
# (TeX Content Handler |
# (TeX Content Handler |
# |
# |
Line 11
|
Line 36
|
# 04/16/2001 Scott Harrison |
# 04/16/2001 Scott Harrison |
# 05/03,05/05,05/07 Gerd Kortemeyer |
# 05/03,05/05,05/07 Gerd Kortemeyer |
# 05/28/2001 Scott Harrison |
# 05/28/2001 Scott Harrison |
# 06/23,08/07,08/11,8/13,8/17,8/18,8/24,9/26 Gerd Kortemeyer |
# 06/23,08/07,08/11,8/13,8/17,8/18,8/24,9/26,10/16 Gerd Kortemeyer |
|
|
package Apache::lonpublisher; |
package Apache::lonpublisher; |
|
|
Line 225 sub publish {
|
Line 250 sub publish {
|
} |
} |
my $outstring=''; |
my $outstring=''; |
my $parser=HTML::TokeParser->new(\$content); |
my $parser=HTML::TokeParser->new(\$content); |
|
$parser->xml_mode(1); |
my $token; |
my $token; |
while ($token=$parser->get_token) { |
while ($token=$parser->get_token) { |
if ($token->[0] eq 'S') { |
if ($token->[0] eq 'S') { |
my $counter; |
my $counter; |
my $tag=$token->[1]; |
my $tag=$token->[1]; |
unless ($tag eq 'allow') { |
my $lctag=lc($tag); |
|
unless ($lctag eq 'allow') { |
my %parms=%{$token->[2]}; |
my %parms=%{$token->[2]}; |
if ($counter=$addid{$tag}) { |
$counter=$addid{$tag}; |
|
if (!$counter) { $counter=$addid{$lctag}; } |
|
if ($counter) { |
if ($counter eq 'id') { |
if ($counter eq 'id') { |
unless (defined($parms{'id'})) { |
unless (defined($parms{'id'})) { |
$maxid++; |
$maxid++; |
Line 261 sub publish {
|
Line 290 sub publish {
|
} |
} |
} ('src','href','background'); |
} ('src','href','background'); |
|
|
if ($tag eq 'applet') { |
if ($lctag eq 'applet') { |
my $codebase=''; |
my $codebase=''; |
if (defined($parms{'codebase'})) { |
if (defined($parms{'codebase'})) { |
my $oldcodebase=$parms{'codebase'}; |
my $oldcodebase=$parms{'codebase'}; |
Line 302 sub publish {
|
Line 331 sub publish {
|
$newparmstring.=' '.$_.'='.$quote.$parms{$_}.$quote; |
$newparmstring.=' '.$_.'='.$quote.$parms{$_}.$quote; |
} |
} |
} keys %parms; |
} keys %parms; |
|
if (!$endtag) { if ($token->[4]=~m:/>$:) { $endtag=' /'; }; } |
$outstring.='<'.$tag.$newparmstring.$endtag.'>'; |
$outstring.='<'.$tag.$newparmstring.$endtag.'>'; |
} else { |
} else { |
$allow{$token->[2]->{'src'}}=1; |
$allow{$token->[2]->{'src'}}=1; |
} |
} |
} elsif ($token->[0] eq 'E') { |
} elsif ($token->[0] eq 'E') { |
|
if ($token->[2]) { |
unless ($token->[1] eq 'allow') { |
unless ($token->[1] eq 'allow') { |
$outstring.='</'.$token->[1].'>'; |
$outstring.='</'.$token->[1].'>'; |
} |
} |
|
} |
} else { |
} else { |
$outstring.=$token->[1]; |
$outstring.=$token->[1]; |
} |
} |
Line 470 sub publish {
|
Line 501 sub publish {
|
my $keywordout='<p><b>Keywords:</b><br><table border=2><tr>'; |
my $keywordout='<p><b>Keywords:</b><br><table border=2><tr>'; |
my $colcount=0; |
my $colcount=0; |
|
|
{ |
if (length($content)<500000) { |
my $textonly=$content; |
my $textonly=$content; |
$textonly=~s/\<script[^\<]+\<\/script\>//g; |
$textonly=~s/\<script[^\<]+\<\/script\>//g; |
$textonly=~s/\<m\>[^\<]+\<\/m\>//g; |
$textonly=~s/\<m\>[^\<]+\<\/m\>//g; |
Line 502 sub publish {
|
Line 533 sub publish {
|
} |
} |
$colcount++; |
$colcount++; |
} sort keys %keywords; |
} sort keys %keywords; |
$keywordout.='</tr></table>'; |
|
|
|
|
} else { |
|
$keywordout.='<td>File too long for keyword analysis</td>'; |
} |
} |
|
|
$scrout.=$keywordout; |
$keywordout.='</tr></table>'; |
|
|
|
$scrout.=$keywordout; |
|
|
$scrout.=&textfield('Additional Keywords','addkey',''); |
$scrout.=&textfield('Additional Keywords','addkey',''); |
|
|