--- loncom/publisher/lonpublisher.pm 2003/11/01 17:38:58 1.142
+++ loncom/publisher/lonpublisher.pm 2003/11/08 11:20:22 1.145
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Publication Handler
#
-# $Id: lonpublisher.pm,v 1.142 2003/11/01 17:38:58 www Exp $
+# $Id: lonpublisher.pm,v 1.145 2003/11/08 11:20:22 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -143,6 +143,7 @@ use Apache::lonnet();
use Apache::loncommon();
use Apache::lonmysql;
use Apache::lonlocal;
+use Apache::loncfile;
use vars qw(%metadatafields %metadatakeys);
my %addid;
@@ -180,6 +181,10 @@ nothing
#########################################
#########################################
+#
+# Modifies global %metadatafields %metadatakeys
+#
+
sub metaeval {
my ($metastring,$prefix)=@_;
@@ -262,7 +267,8 @@ sub metaread {
my ($logfile,$fn,$prefix)=@_;
unless (-e $fn) {
print($logfile 'No file '.$fn."\n");
- return '
No file: '.$fn.'';
+ return '
No file: '.
+ &Apache::loncfile::display($fn).'';
}
print($logfile 'Processing '.$fn."\n");
my $metastring;
@@ -271,7 +277,8 @@ sub metaread {
$metastring=join('',<$metafh>);
}
&metaeval($metastring,$prefix);
- return '
Processed file: '.$fn.'';
+ return '
Processed file: '.
+ &Apache::loncfile::display($fn).'';
}
#########################################
@@ -812,19 +819,22 @@ sub store_metadata {
# ============================================== Parse file itself for metadata
-
+#
+# parses a file with target meta, sets global %metadatafields %metadatakeys
sub parseformeta {
my ($source,$style)=@_;
+ my $allmeta='';
if (($style eq 'ssi') || ($style eq 'prv')) {
my $dir=$source;
$dir=~s-/[^/]*$--;
my $file=$source;
$file=(split('/',$file))[-1];
$source=&Apache::lonnet::hreflocation($dir,$file);
- my $allmeta=&Apache::lonnet::ssi_body($source,('grade_target' => 'meta'));
+ $allmeta=&Apache::lonnet::ssi_body($source,('grade_target' => 'meta'));
&metaeval($allmeta);
}
+ return $allmeta;
}
#########################################
@@ -939,7 +949,8 @@ sub publish {
# -------------------------------------------- Initial step done, now metadata.
# --------------------------------------- Storage for metadata keys and fields.
-
+# these are globals
+#
%metadatafields=();
%metadatakeys=();
@@ -965,8 +976,9 @@ sub publish {
$metadatafields{'authorspace'}=$cuname.'@'.$cudom;
# ----------------------------------------------------------- Parse file itself
-
- &parseformeta($source,$style);
+# read %metadatafields from file itself
+
+ $allmeta=&parseformeta($source,$style);
# ------------------------------------------------ Check out directory hierachy
my $thisdisfn=$source;
@@ -1003,12 +1015,12 @@ sub publish {
delete $metadatafields{$_};
}
}
-
- }
# ------------------------------------------ See if anything new in file itself
- &parseformeta($source,$style);
+ $allmeta=&parseformeta($source,$style);
+ }
+
# ---------------- Find and document discrepancies in the parameters and stores
my $chparms='';
@@ -1039,7 +1051,9 @@ sub publish {
}
if ($chparms) {
$scrout.='
'.&mt('Obsolete parameters or stored values').': '. - $chparms.'
'; + $chparms.''. + &mt('If this resource is in active use, student performance data from the previous version may become inaccessible.').'