--- loncom/publisher/lonpublisher.pm 2005/01/24 21:55:20 1.184
+++ loncom/publisher/lonpublisher.pm 2005/02/28 21:28:18 1.185
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Publication Handler
#
-# $Id: lonpublisher.pm,v 1.184 2005/01/24 21:55:20 albertel Exp $
+# $Id: lonpublisher.pm,v 1.185 2005/02/28 21:28:18 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -842,6 +842,35 @@ sub store_metadata {
}
+# ========================================== Parse file for errors and warnings
+
+sub checkonthis {
+ my ($r,$source)=@_;
+ my $oldpath=$ENV{'request.filename'};
+ $ENV{'request.filename'}=$source;
+ &Apache::lonxml::xmlparse($r,'web',
+ &Apache::lonnet::getfile($source));
+ undef($Apache::lonhomework::parsing_a_problem);
+ $ENV{'request.filename'}=$oldpath;
+ if (($Apache::lonxml::errorcount) ||
+ ($Apache::lonxml::warningcount)) {
+ if ($Apache::lonxml::errorcount) {
+ $r->print(''.
+ $Apache::lonxml::errorcount.' '.
+ &mt('error(s)').' ');
+ }
+ if ($Apache::lonxml::warningcount) {
+ $r->print(''.
+ $Apache::lonxml::warningcount.' '.
+ &mt('warning(s)').'');
+ }
+ } else {
+ $r->print(''.&mt('ok').'');
+ }
+ $r->rflush();
+ return ($Apache::lonxml::warningcount,$Apache::lonxml::errorcount);
+}
+
# ============================================== Parse file itself for metadata
#
# parses a file with target meta, sets global %metadatafields %metadatakeys
@@ -1007,6 +1036,7 @@ sub publish {
$scrout.=&metaread($logfile,$currentpath.'default.meta',$prefix);
$prefix=~s|^\.\./||;
}
+
# ----------------------------------------------------------- Parse file itself
# read %metadatafields from file itself
@@ -1978,6 +2008,8 @@ ENDDIFF
# ------------------ Publishing from $thisfn to $thistarget with $thisembstyle.
unless ($ENV{'form.phase'} eq 'two') {
+# ---------------------------------------------------------- Parse for problems
+ &checkonthis($r,$thisfn);
my ($outstring,$error)=&publish($thisfn,$thistarget,$thisembstyle);
$r->print('