--- loncom/interface/lonmeta.pm	2014/02/11 18:52:20	1.252
+++ loncom/interface/lonmeta.pm	2024/02/28 16:10:27	1.254.2.1
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Metadata display handler
 #
-# $Id: lonmeta.pm,v 1.252 2014/02/11 18:52:20 bisitz Exp $
+# $Id: lonmeta.pm,v 1.254.2.1 2024/02/28 16:10:27 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -763,7 +763,7 @@ sub pageheader {
 sub handler {
     my $r=shift;
     &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
-         ['currentpath','changecourse']);
+         ['currentpath','changecourse','modal']);
     my $uri=$r->uri;
     #
     # Set document type
@@ -854,7 +854,21 @@ sub handler {
                 'only_body' => 1,})
            .'<h1>'.&mt('Metadata').'</h1>'
         );
+        if ($env{'form.modal'}) {
+            my $width = 500;
+            my $height = 400;
+            my $machine = &Apache::lonnet::absolute_url();
+            $r->print(&Apache::loncommon::nicescroll_javascript('metadatawrapper',
+                                                                {cursorcolor => '#00F',
+                                                                 railalign => 'right',
+                                                                 railoffset => '{top:5,left:40}'},
+                                                                 undef,1,$machine.$uri));
+            $r->print('<div id="metadatawrapper" style="height:'.$height.'px; width:'.$width.'px; overflow: auto;">');
+        }
         &present_uneditable_metadata($r,$uri);
+        if ($env{'form.modal'}) {
+            $r->print('</div>');
+        }
     }
     $r->print(&Apache::loncommon::end_page());
     return OK;
@@ -1122,6 +1136,7 @@ sub print_dynamic_metadata {
         if (exists($dynmeta{'stats'})) {
             my $table=&Apache::loncommon::start_data_table()
                      .&Apache::loncommon::start_data_table_header_row()
+		     .'<th>'.&mt('Domain').'</th>'
                      .'<th>'.&mt('Course').'</th>'
                      .'<th>'.&mt('Section(s)').'</th>'
                      .'<th>'.&mt('Num Students').'</th>'
@@ -1142,6 +1157,8 @@ sub print_dynamic_metadata {
                     next;
                 }
                 $table .= &Apache::loncommon::start_data_table_row();
+		$table .=
+		    '<td><span class="LC_nobreak">'.$courseinfo{'domain'}.'</span></td>';
                 $table .= 
                     '<td><span class="LC_nobreak">'.$courseinfo{'description'}.'</span></td>';
                 $table .= 
@@ -1456,9 +1473,48 @@ ENDEDIT
 		       'lowestgradelevel','highestgradelevel','sourceavail','sourcerights',
 		       'obsolete','obsoletereplacement');
         }
+        my (%domdefs,$got_domdefs);
         if (! $Apache::lonpublisher::metadatafields{'copyright'}) {
-                $Apache::lonpublisher::metadatafields{'copyright'}=
-		    'default';
+            my $copyright = 'default';
+            if ($env{'environment.copyright'} ne '') {
+                $copyright = $env{'environment.copyright'};
+            } else {
+                my $defdom = $env{'request.role.domain'};
+                if ($disuri =~ m{^/priv/($match_domain)/}) {
+                    $defdom = $1;
+                }
+                if ($defdom ne '') {
+                    %domdefs = &Apache::lonnet::get_domain_defaults($defdom);
+                    $got_domdefs = 1;
+                    if ($domdefs{'copyright'} ne '') {
+                        $copyright = $domdefs{'copyright'};
+                    }
+                }
+            }
+            $Apache::lonpublisher::metadatafields{'copyright'}=
+		$copyright;
+        }
+        if (! $Apache::lonpublisher::metadatafields{'sourceavail'}) {
+            my $sourceavail = 'closed';
+            if ($env{'environment.sourceavail'} ne '') {
+                $sourceavail = $env{'environment.sourceavail'};
+            } else {
+                my $defdom = $env{'request.role.domain'};
+                if ($disuri =~ m{^/priv/($match_domain)/}) {
+                    $defdom = $1;
+                }
+                if ($defdom ne '') {
+                    unless ($got_domdefs) {
+                        %domdefs = &Apache::lonnet::get_domain_defaults($defdom);
+                        $got_domdefs = 1;
+                    }
+                    if ($domdefs{'sourceavail'} ne '') {
+                        $sourceavail = $domdefs{'sourceavail'};
+                    }
+                }
+            }
+            $Apache::lonpublisher::metadatafields{'sourceavail'}=
+                $sourceavail;
         }
 	if (($file_type eq 'portfolio') || ($file_type eq 'groups'))  {
 	    if (! $Apache::lonpublisher::metadatafields{'mime'}) {