--- loncom/publisher/lonpublisher.pm 2016/06/19 01:08:01 1.296 +++ loncom/publisher/lonpublisher.pm 2021/06/03 13:59:44 1.298 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Publication Handler # -# $Id: lonpublisher.pm,v 1.296 2016/06/19 01:08:01 raeburn Exp $ +# $Id: lonpublisher.pm,v 1.298 2021/06/03 13:59:44 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1875,17 +1875,27 @@ sub phasetwo { $metadatafields{'url'} = $distarget; $metadatafields{'version'} = 'current'; - my ($error,$success) = &store_metadata(%metadatafields); - if ($success) { - $output .= '

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

'; - print $logfile "\nSynchronized SQL metadata database"; - } else { - $output .= $error; - print $logfile "\n".$error; + my $crsauthor; + if ($env{'request.course.id'}) { + my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; + my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; + if ($distarget =~ m{^/res/$cdom/$cnum}) { + $crsauthor = 1; + } } - unless ($usebuffer) { - $r->print($output); - $output = ''; + unless ($crsauthor) { + my ($error,$success) = &store_metadata(%metadatafields); + if ($success) { + $output .= '

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

'; + print $logfile "\nSynchronized SQL metadata database"; + } else { + $output .= $error; + print $logfile "\n".$error; + } + unless ($usebuffer) { + $r->print($output); + $output = ''; + } } # --------------------------------------------- Delete author resource messages my $delresult=&Apache::lonmsg::del_url_author_res_msg($target); @@ -2267,6 +2277,7 @@ sub publishdirectory { &checkbox('forcerepub','force republication of previously published files'). &checkbox('obsolete','make file(s) obsolete'). &checkbox('forceoverride','force directory level metadata over existing'). + &checkbox('excludeunpub','exclude currently unpublished files'). &common_access('dist',&mt('apply common copyright/distribution'), ['default','domain','custom']). &common_access('source',&mt('apply common source availability'), @@ -2299,7 +2310,7 @@ sub publishdirectory { } } elsif ((&Apache::loncommon::fileembstyle($extension) ne 'hdn') && ($filename!~/^[\#\.]/) && ($filename!~/\~$/)) { -# find out publication status and/or exiting metadata +# find out publication status and/or existing metadata my $publishthis=0; if (-e $resdir.'/'.$filename) { my ($rdev,$rino,$rmode,$rnlink, @@ -2317,7 +2328,9 @@ sub publishdirectory { } } else { # never published - $publishthis=1; + unless ($env{'form.excludeunpub'}) { + $publishthis=1; + } } if ($publishthis) {