--- loncom/interface/lonclonecourse.pm 2019/06/29 23:21:05 1.13 +++ loncom/interface/lonclonecourse.pm 2020/06/01 20:35:02 1.14 @@ -1,7 +1,7 @@ # The LearningOnline Network # routines for clone a course # -# $Id: lonclonecourse.pm,v 1.13 2019/06/29 23:21:05 raeburn Exp $ +# $Id: lonclonecourse.pm,v 1.14 2020/06/01 20:35:02 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -130,7 +130,7 @@ sub copyfile { # =============================================================== Copy a dbfile sub copydb { - my ($origcrsid,$newcrsid,$which)=@_; + my ($origcrsid,$newcrsid,$which,$newinstcode)=@_; $which=~s/\.db$//; my %origcrsdata=&Apache::lonnet::coursedescription($origcrsid); my %newcrsdata= &Apache::lonnet::coursedescription($newcrsid); @@ -139,6 +139,14 @@ sub copydb { foreach my $key (keys(%data)) { 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 ($which,\%data,$newcrsdata{'domain'},$newcrsdata{'num'}); } @@ -255,7 +263,7 @@ sub copyuserfiles { # ========================================================== Copy all userfiles sub copydbfiles { - my ($origcrsid,$newcrsid)=@_; + my ($origcrsid,$newcrsid,$newinstcode)=@_; my ($origcrs_discussion) = ($origcrsid=~m|^/(.*)|); $origcrs_discussion=~s|/|_|g; @@ -264,7 +272,7 @@ sub copydbfiles { unless ($_=~/^(nohist\_|disclikes|discussiontimes|classlist|versionupdate |resourcedata|\Q$origcrs_discussion\E|slots|slot_reservations |gradingqueue|reviewqueue|CODEs|groupmembership|comm_block)/) { - ©db($origcrsid,$newcrsid,$_); + ©db($origcrsid,$newcrsid,$_,$newinstcode); } } } @@ -273,9 +281,9 @@ sub copydbfiles { # ======================================================= Copy all course files sub copycoursefiles { - my ($origcrsid,$newcrsid,$date_mode,$date_shift)=@_; + my ($origcrsid,$newcrsid,$date_mode,$date_shift,$newinstcode)=@_; ©userfiles($origcrsid,$newcrsid); - ©dbfiles($origcrsid,$newcrsid); + ©dbfiles($origcrsid,$newcrsid,$newinstcode); ©resourcedb($origcrsid,$newcrsid,$date_mode,$date_shift); }