--- loncom/publisher/lonpublisher.pm 2001/10/03 11:04:57 1.46 +++ loncom/publisher/lonpublisher.pm 2001/12/04 18:10:37 1.55 @@ -1,5 +1,30 @@ # The LearningOnline Network with CAPA # Publication Handler +# +# $Id: lonpublisher.pm,v 1.55 2001/12/04 18:10:37 sakharuk Exp $ +# +# 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 # @@ -11,7 +36,7 @@ # 04/16/2001 Scott Harrison # 05/03,05/05,05/07 Gerd Kortemeyer # 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; @@ -154,6 +179,7 @@ sub urlfixup { } sub publish { + my ($source,$target,$style)=@_; my $logfile; my $scrout=''; @@ -224,14 +250,18 @@ sub publish { } my $outstring=''; my $parser=HTML::TokeParser->new(\$content); + $parser->xml_mode(1); my $token; while ($token=$parser->get_token) { if ($token->[0] eq 'S') { my $counter; my $tag=$token->[1]; - unless ($tag eq 'allow') { + my $lctag=$tag;$lctag=~s/[A-Z]/[a-z]/g; + unless ($lctag eq 'allow') { my %parms=%{$token->[2]}; - if ($counter=$addid{$tag}) { + $counter=$addid{$tag}; + if (!$counter) { $counter=$addid{$lctag}; } + if ($counter) { if ($counter eq 'id') { unless (defined($parms{'id'})) { $maxid++; @@ -260,7 +290,7 @@ sub publish { } } ('src','href','background'); - if ($tag eq 'applet') { + if ($lctag eq 'applet') { my $codebase=''; if (defined($parms{'codebase'})) { my $oldcodebase=$parms{'codebase'}; @@ -469,7 +499,7 @@ sub publish { my $keywordout='

Keywords:
'; my $colcount=0; - { + if (length($content)<500000) { my $textonly=$content; $textonly=~s/\//g; $textonly=~s/\[^\<]+\<\/m\>//g; @@ -479,29 +509,12 @@ sub publish { $textonly=~s/[^a-z\s]//g; my %keywords=(); - my $j=0; - my $word; - for (my $i=0; $i