--- loncom/publisher/lonpublisher.pm 2001/12/04 15:34:57 1.54
+++ loncom/publisher/lonpublisher.pm 2002/05/07 18:07:46 1.80
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Publication Handler
#
-# $Id: lonpublisher.pm,v 1.54 2001/12/04 15:34:57 albertel Exp $
+# $Id: lonpublisher.pm,v 1.80 2002/05/07 18:07:46 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -37,23 +37,47 @@
# 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,10/16 Gerd Kortemeyer
+# 12/04,12/05 Guy Albertelli
+# 12/05 Gerd Kortemeyer
+# 12/05 Guy Albertelli
+# 12/06,12/07 Gerd Kortemeyer
+# 12/15,12/16 Scott Harrison
+# 12/25 Gerd Kortemeyer
+# YEAR=2002
+# 1/16,1/17 Scott Harrison
+# 1/17 Gerd Kortemeyer
+#
+###
+
+###############################################################################
+## ##
+## ORGANIZATION OF THIS PERL MODULE ##
+## ##
+## 1. Modules used by this module ##
+## 2. Various subroutines ##
+## 3. Publication Step One ##
+## 4. Phase Two ##
+## 5. Main Handler ##
+## ##
+###############################################################################
package Apache::lonpublisher;
+# ------------------------------------------------- modules used by this module
use strict;
use Apache::File;
use File::Copy;
use Apache::Constants qw(:common :http :methods);
-use HTML::TokeParser;
+use HTML::LCParser;
use Apache::lonxml;
use Apache::lonhomework;
use Apache::loncacc;
use DBI;
+use Apache::lonnet();
+use Apache::loncommon();
my %addid;
my %nokey;
-my %language;
-my %cprtag;
my %metadatafields;
my %metadatakeys;
@@ -64,11 +88,10 @@ my $cuname;
my $cudom;
# ----------------------------------------------- Evaluate string with metadata
-
sub metaeval {
my $metastring=shift;
- my $parser=HTML::TokeParser->new(\$metastring);
+ my $parser=HTML::LCParser->new(\$metastring);
my $token;
while ($token=$parser->get_token) {
if ($token->[0] eq 'S') {
@@ -86,14 +109,14 @@ sub metaeval {
if (defined($token->[2]->{'name'})) {
$unikey.='_'.$token->[2]->{'name'};
}
- map {
+ foreach (@{$token->[3]}) {
$metadatafields{$unikey.'.'.$_}=$token->[2]->{$_};
if ($metadatakeys{$unikey}) {
$metadatakeys{$unikey}.=','.$_;
} else {
$metadatakeys{$unikey}=$_;
}
- } @{$token->[3]};
+ }
if ($metadatafields{$unikey}) {
my $newentry=$parser->get_text('/'.$entry);
unless (($metadatafields{$unikey}=~/$newentry/) ||
@@ -108,7 +131,6 @@ sub metaeval {
}
# -------------------------------------------------------- Read a metadata file
-
sub metaread {
my ($logfile,$fn)=@_;
unless (-e $fn) {
@@ -127,8 +149,9 @@ sub metaread {
# ---------------------------- convert 'time' format into a datetime sql format
sub sqltime {
+ my $timef=shift @_;
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
- localtime(@_[0]);
+ localtime($timef);
$mon++; $year+=1900;
return "$year-$mon-$mday $hour:$min:$sec";
}
@@ -147,13 +170,17 @@ sub hiddenfield {
}
sub selectbox {
- my ($title,$name,$value,%options)=@_;
- my $selout="\n
$title:
".'