version 1.46, 2001/10/03 11:04:57
|
version 1.53, 2001/12/04 15:32:57
|
Line 11
|
Line 11
|
# 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 154 sub urlfixup {
|
Line 154 sub urlfixup {
|
} |
} |
|
|
sub publish { |
sub publish { |
|
|
my ($source,$target,$style)=@_; |
my ($source,$target,$style)=@_; |
my $logfile; |
my $logfile; |
my $scrout=''; |
my $scrout=''; |
Line 224 sub publish {
|
Line 225 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=$tag;$lctag=~/[A-Z]/[a-z]/g; |
|
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 260 sub publish {
|
Line 265 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 469 sub publish {
|
Line 474 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 479 sub publish {
|
Line 484 sub publish {
|
$textonly=~s/[^a-z\s]//g; |
$textonly=~s/[^a-z\s]//g; |
|
|
my %keywords=(); |
my %keywords=(); |
my $j=0; |
map { |
my $word; |
unless ($nokey{$_}) { |
for (my $i=0; $i<length($textonly); $i++) { |
$keywords{$_}=1; |
my $ch.=substr($textonly,$i,1); |
} |
if ($ch=~/\s/) { |
} ($textonly=~m/(\w+)/g); |
if (length($word)) { |
|
unless ($nokey{$word}) { |
|
$keywords{$word}=1; |
|
} |
|
} |
|
$word=''; |
|
} |
|
else { |
|
$word.=$ch; |
|
} |
|
# map { |
|
# unless ($nokey{$_}) { |
|
# $keywords{$_}=1; |
|
# } |
|
# } ($textonly=~m/(\w+)/g); |
|
} |
|
|
|
my $sizkeys=scalar(keys %keywords); # use this value at some point |
|
map { |
map { |
$keywords{$_}=1; |
$keywords{$_}=1; |
} split(/\W+/,$metadatafields{'keywords'}); |
} split(/\W+/,$metadatafields{'keywords'}); |
Line 518 sub publish {
|
Line 506 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',''); |
|
|