--- loncom/publisher/lonpublisher.pm 2003/12/26 18:25:29 1.151 +++ loncom/publisher/lonpublisher.pm 2003/12/26 19:12:51 1.152 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Publication Handler # -# $Id: lonpublisher.pm,v 1.151 2003/12/26 18:25:29 www Exp $ +# $Id: lonpublisher.pm,v 1.152 2003/12/26 19:12:51 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -784,7 +784,19 @@ sub store_metadata { &Apache::lonnet::logthis($error); return ($error,undef); } - $status = &Apache::lonmysql::store_row('metadata',\%metadata); + if (($metadata{'obsolete'}) || ($metadata{'copyright'} eq 'priv') || + ($metadata{'copyright'} eq 'custom')) { +# remove this entry + $status=&Apache::lonmysql::remove_from_table + ('metadata','url',$metadata{'url'}); + } else { +# store new data + $metadata{'creationdate'}= + &Apache::lonmysql::sqltime($metadata{'creationdate'}); + $metadata{'lastrevisiondate'}= + &Apache::lonmysql::sqltime($metadata{'lastrevisiondate'}); + $status = &Apache::lonmysql::store_row('metadata',\%metadata); + } if (! defined($status)) { $error='Error occured storing new values in '. 'metadata table in LON-CAPA database'; @@ -1324,6 +1336,9 @@ sub phasetwo { $metadatafields{'lastrevisiondate'}=$ENV{'form.lastrevisiondate'}; $metadatafields{'owner'}=$ENV{'form.owner'}; $metadatafields{'copyright'}=$ENV{'form.copyright'}; + $metadatafields{'standards'}=$ENV{'form.standards'}; + $metadatafields{'lowestgradelevel'}=$ENV{'form.lowestgradelevel'}; + $metadatafields{'highestgradelevel'}=$ENV{'form.highestgradelevel'}; $metadatafields{'customdistributionfile'}= $ENV{'form.customdistributionfile'}; $metadatafields{'obsolete'}=$ENV{'form.obsolete'}; @@ -1385,21 +1400,16 @@ sub phasetwo { $metadatafields{'url'} = $distarget; $metadatafields{'version'} = 'current'; - unless ($metadatafields{'copyright'} eq 'priv') { - my ($error,$success) = &store_metadata(\%metadatafields); - if ($success) { - $r->print('

'.&mt('Synchronized SQL metadata database').'

'); - print $logfile "\nSynchronized SQL metadata database"; - } else { - $r->print($error); - print $logfile "\n".$error; - } + + my ($error,$success) = &store_metadata(%metadatafields); + if ($success) { + $r->print('

'.&mt('Synchronized SQL metadata database').'

'); + print $logfile "\nSynchronized SQL metadata database"; } else { - $r->print('

'. - &mt('Private Publication - did not synchronize database').'

'); - print $logfile "\nPrivate: Did not synchronize data into ". - "SQL metadata database"; + $r->print($error); + print $logfile "\n".$error; } + # ----------------------------------------------------------- Copy old versions if (-e $target) {