[LON-CAPA-cvs] cvs: loncom(version_2_11_X) /publisher lonpublisher.pm

raeburn raeburn at source.lon-capa.org
Mon Sep 1 17:19:58 EDT 2025


raeburn		Mon Sep  1 21:19:58 2025 EDT

  Modified files:              (Branch: version_2_11_X)
    /loncom/publisher	lonpublisher.pm 
  Log:
  - For 2.11
    Backport 1.308, 1.309, 1.314
  
  
Index: loncom/publisher/lonpublisher.pm
diff -u loncom/publisher/lonpublisher.pm:1.295.2.4 loncom/publisher/lonpublisher.pm:1.295.2.5
--- loncom/publisher/lonpublisher.pm:1.295.2.4	Mon Dec 30 17:13:26 2024
+++ loncom/publisher/lonpublisher.pm	Mon Sep  1 21:19:58 2025
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Publication Handler
 #
-# $Id: lonpublisher.pm,v 1.295.2.4 2024/12/30 17:13:26 raeburn Exp $
+# $Id: lonpublisher.pm,v 1.295.2.5 2025/09/01 21:19:58 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -2165,9 +2165,9 @@
                             }
                         } else {
                             unless (&Apache::loncommon::fileembstyle($extension) eq 'prv') {
-                                if ($commonaccess{'dist'}) {
-                                    my ($currdist,$currdistfile,$currsourceavail);
-                                    my $currdist =  &Apache::lonnet::metadata($thisdisresdir.'/'.$filename,'copyright');
+                                if ((!$publishthis) && ($commonaccess{'dist'})) {
+                                    my ($currdist,$currdistfile);
+                                    $currdist = &Apache::lonnet::metadata($thisdisresdir.'/'.$filename,'copyright');
                                     if ($currdist eq 'custom') {
                                         $currdistfile =  &Apache::lonnet::metadata($thisdisresdir.'/'.$filename,'customdistributionfile');
                                     }
@@ -2187,6 +2187,15 @@
                                         }
                                     }
                                 }
+                                if ((!$publishthis) && ($commonaccess{'source'})) {
+                                    my $currsourceavail =
+                                        &Apache::lonnet::metadata($thisdisresdir.'/'.$filename,'sourceavail');
+                                    if ($env{'form.commonsourceselect'} =~ /^closed|open$/) {
+                                        unless ($currsourceavail eq $env{'form.commonsourceselect'}) {
+                                            $publishthis=1;
+                                        }
+                                    }
+                                }
                             }
                         }
                     }
@@ -2230,7 +2239,7 @@
        return HTTP_NOT_FOUND;
     }
     my $target=$fn;
-    $target=~s/^\Q$Apache::lonnet::perlvar{'lonDocRoot'}\E\/priv\//\Q$Apache::lonnet::perlvar{'lonDocRoot'}\E\/res\//;
+    $target=~s{^\Q$Apache::lonnet::perlvar{'lonDocRoot'}\E/priv/}{$Apache::lonnet::perlvar{'lonDocRoot'}/res/};
 
 
     &Apache::loncommon::content_type($r,'text/html');
@@ -2260,8 +2269,11 @@
     if (copy($fn,$copyfile)) {
         $r->print('<p>'.&mt('Copied source file').'</p>');
     } else {
-        return "<span class=\"LC_error\">".
-	    &mt('Failed to copy source').", $!, ".&mt('FAIL')."</span>";
+        $r->print('<span class="LC_error">'.
+                  &mt('Failed to copy source').", $!, ".&mt('FAIL').
+                  '</span>');
+        $r->print(&Apache::loncommon::end_page());
+        return OK;
     }
 
 # --------------------------------------------------- Send update notifications
@@ -2273,7 +2285,7 @@
 	$r->print($reply.'</p><br />');$r->rflush;
     }
 # ------------------------------------------------------------------- Link back
-    $r->print("<a href='".&Apache::loncfile::display($fn)."'>".&mt('Back to Metadata').'</a>');
+    $r->print('<a href="'.&Apache::loncfile::url($fn).'">'.&mt('Back to Metadata').'</a>');
     $r->print(&Apache::loncommon::end_page());
     return OK;
 }
@@ -2352,7 +2364,7 @@
 
 # special publication: default.meta file
     if ($fn=~/\/default.meta$/) {
-	return &defaultmetapublish($r,$fn,$cuname,$cudom); 
+	return &defaultmetapublish($r,$docroot.$fn,$cuname,$cudom); 
     }
     $fn=~s/\.meta$//;
 




More information about the LON-CAPA-cvs mailing list