Diff for /loncom/interface/lonclonecourse.pm between versions 1.13 and 1.14

version 1.13, 2019/06/29 23:21:05 version 1.14, 2020/06/01 20:35:02
Line 130  sub copyfile { Line 130  sub copyfile {
 # =============================================================== Copy a dbfile  # =============================================================== Copy a dbfile
   
 sub copydb {  sub copydb {
     my ($origcrsid,$newcrsid,$which)=@_;      my ($origcrsid,$newcrsid,$which,$newinstcode)=@_;
     $which=~s/\.db$//;      $which=~s/\.db$//;
     my %origcrsdata=&Apache::lonnet::coursedescription($origcrsid);      my %origcrsdata=&Apache::lonnet::coursedescription($origcrsid);
     my %newcrsdata= &Apache::lonnet::coursedescription($newcrsid);      my %newcrsdata= &Apache::lonnet::coursedescription($newcrsid);
Line 139  sub copydb { Line 139  sub copydb {
     foreach my $key (keys(%data)) {      foreach my $key (keys(%data)) {
  if ($key=~/^internal./) { delete($data{$key}); }   if ($key=~/^internal./) { delete($data{$key}); }
     }      }
       if ($which =~ /^exttool_\d+$/) {
           if ($origcrsdata{'description'} ne $newcrsdata{'description'}) {
               $data{'crstitle'} =~s/\Q$origcrsdata{'description'}\E/$newcrsdata{'description'}/;
           }
           if ($origcrsdata{'internal.coursecode'} ne $newinstcode) {
               $data{'crslabel'} =~ s/\Q$origcrsdata{'internal.coursecode'}\E/$newinstcode/;
           }
       }
     return &Apache::lonnet::put      return &Apache::lonnet::put
  ($which,\%data,$newcrsdata{'domain'},$newcrsdata{'num'});   ($which,\%data,$newcrsdata{'domain'},$newcrsdata{'num'});
 }  }
Line 255  sub copyuserfiles { Line 263  sub copyuserfiles {
 # ========================================================== Copy all userfiles  # ========================================================== Copy all userfiles
   
 sub copydbfiles {  sub copydbfiles {
     my ($origcrsid,$newcrsid)=@_;      my ($origcrsid,$newcrsid,$newinstcode)=@_;
   
     my ($origcrs_discussion) = ($origcrsid=~m|^/(.*)|);      my ($origcrs_discussion) = ($origcrsid=~m|^/(.*)|);
     $origcrs_discussion=~s|/|_|g;      $origcrs_discussion=~s|/|_|g;
Line 264  sub copydbfiles { Line 272  sub copydbfiles {
         unless ($_=~/^(nohist\_|disclikes|discussiontimes|classlist|versionupdate          unless ($_=~/^(nohist\_|disclikes|discussiontimes|classlist|versionupdate
                 |resourcedata|\Q$origcrs_discussion\E|slots|slot_reservations                  |resourcedata|\Q$origcrs_discussion\E|slots|slot_reservations
                 |gradingqueue|reviewqueue|CODEs|groupmembership|comm_block)/) {                  |gradingqueue|reviewqueue|CODEs|groupmembership|comm_block)/) {
             &copydb($origcrsid,$newcrsid,$_);              &copydb($origcrsid,$newcrsid,$_,$newinstcode);
         }          }
  }   }
     }      }
Line 273  sub copydbfiles { Line 281  sub copydbfiles {
 # ======================================================= Copy all course files  # ======================================================= Copy all course files
   
 sub copycoursefiles {  sub copycoursefiles {
     my ($origcrsid,$newcrsid,$date_mode,$date_shift)=@_;      my ($origcrsid,$newcrsid,$date_mode,$date_shift,$newinstcode)=@_;
     &copyuserfiles($origcrsid,$newcrsid);      &copyuserfiles($origcrsid,$newcrsid);
     &copydbfiles($origcrsid,$newcrsid);      &copydbfiles($origcrsid,$newcrsid,$newinstcode);
     &copyresourcedb($origcrsid,$newcrsid,$date_mode,$date_shift);      &copyresourcedb($origcrsid,$newcrsid,$date_mode,$date_shift);
 }  }
   

Removed from v.1.13  
changed lines
  Added in v.1.14


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>