[LON-CAPA-cvs] cvs: loncom /interface londocs.pm
raeburn
raeburn at source.lon-capa.org
Mon Jan 6 20:25:58 EST 2025
raeburn Tue Jan 7 01:25:58 2025 EDT
Modified files:
/loncom/interface londocs.pm
Log:
- Copying files from Course Authoring Space to User's Authoring Space.
Store information in a copycourseauthor.db file in course's data directory
about who/where files were copied, and whether files in /res were copied.
Index: loncom/interface/londocs.pm
diff -u loncom/interface/londocs.pm:1.718 loncom/interface/londocs.pm:1.719
--- loncom/interface/londocs.pm:1.718 Sat Jan 4 21:16:45 2025
+++ loncom/interface/londocs.pm Tue Jan 7 01:25:57 2025
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Documents
#
-# $Id: londocs.pm,v 1.718 2025/01/04 21:16:45 raeburn Exp $
+# $Id: londocs.pm,v 1.719 2025/01/07 01:25:57 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -884,7 +884,7 @@
if (keys(%tocopy)) {
my (%resdirs,%resfiles);
&Apache::lonnet::recursedirs($is_course_home,1,undef,$res_exclude,0,0,$resurl,'',\%resdirs,\%resfiles);
- my ($notopdir,%newdir,%newfile,%checkdeps);
+ my ($notopdir,%newdir,%newfile,%checkdeps,%newresfile);
$r->print('<p>'.&mt('Copy to: [_1]',
'<span class="LC_filename">'.$desturl.'/'.$subdir.'</span>').
'</p>'."\n");
@@ -1026,7 +1026,7 @@
}
} else {
if (&File::Copy::copy($src,$dest)) {
- $newfile{$file} = 1;
+ $newfile{$file} = $desturl.'/'.$subdir.'/'.$file;
if ($embstyle eq 'ssi') {
&crsres_fixup($dest,$coursenum,$coursedom,$ca,$cd,$subdir);
}
@@ -1055,6 +1055,9 @@
my $destresfile = $docroot.$destresurl.'/'.$subdir.'/'.$file;
if (-e $dest) {
my $output = &Apache::lonpublisher::batchpublish($r,$dest,$destresfile,$nokeyref,1);
+ if (-e $destresfile) {
+ $newresfile{$file} = $destresurl.'/'.$subdir.'/'.$file;
+ }
}
}
} else {
@@ -1065,7 +1068,7 @@
}
if ($needpriv) {
if (&File::Copy::copy($src,$dest)) {
- $newfile{$file} = 1;
+ $newfile{$file} = $desturl.'/'.$subdir.'/'.$file;
if ($embstyle eq 'ssi') {
&crsres_fixup($dest,$coursenum,$coursedom,$ca,$cd,$subdir);
}
@@ -1099,7 +1102,7 @@
if ($embstyle eq 'ssi') {
&crsres_fixup($dest,$coursenum,$coursedom,$ca,$cd,$subdir);
}
- $newfile{$file} = 1;
+ $newfile{$file} = $desturl.'/'.$subdir.'/'.$file;
}
}
} else {
@@ -1127,6 +1130,9 @@
my $destresfile = $docroot.$destresurl.'/'.$subdir.'/'.$file;
if (-e $dest) {
my $output = &Apache::lonpublisher::batchpublish($r,$dest,$destresfile,$nokeyref,1);
+ if (-e $destresfile) {
+ $newresfile{$file} = $destresurl.'/'.$subdir.'/'.$file;
+ }
}
}
} else {
@@ -1140,7 +1146,7 @@
if ($embstyle eq 'ssi') {
&crsres_fixup($dest,$coursenum,$coursedom,$ca,$cd,$subdir);
}
- $newfile{$file} = 1;
+ $newfile{$file} = $desturl.'/'.$subdir.'/'.$file;
}
}
if ($needprivmeta) {
@@ -1171,6 +1177,16 @@
$r->print('<p>'.&mt('Copied the following files to [_1]:','<span class="LC_filename">'.$desturl.'/'.$subdir.'</span>').
'</p>'."\n".
'<ul><li>'.join('</li><li>',sort(keys(%newfile))).'</li></ul></p>'."\n");
+ foreach my $key (keys(%newfile)) {
+ my %storehash = (
+ 'priv' => $newfile{$key},
+ 'who' => $env{'user.name'}.':'.$env{'user.domain'},
+ );
+ if (exists($newresfile{$file})) {
+ $storehash{'res'} = 1;
+ }
+ &Apache::lonnet::store_userdata(\%storehash,$file,'copycourseauthor',$coursedom,$coursenum);
+ }
}
if (keys(%checkdeps)) {
my %missingdep;
More information about the LON-CAPA-cvs
mailing list