--- loncom/interface/loncreatecourse.pm 2003/08/30 18:49:10 1.29 +++ loncom/interface/loncreatecourse.pm 2003/09/02 15:21:42 1.30 @@ -1,7 +1,7 @@ # The LearningOnline Network # Create a course # -# $Id: loncreatecourse.pm,v 1.29 2003/08/30 18:49:10 www Exp $ +# $Id: loncreatecourse.pm,v 1.30 2003/09/02 15:21:42 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -90,9 +90,8 @@ sub readfile { # ============================================================ Write a userfile sub writefile { - my ($courseid,$which,$data)=@_; + (my $courseid, my $which,$ENV{'form.output'})=@_; my %crsdata=&Apache::lonnet::coursedescription($courseid); - $ENV{'form.output'}=$data; return &Apache::lonnet::finishuserfileupload( $crsdata{'num'},$crsdata{'domain'}, $crsdata{'home'}, @@ -106,6 +105,41 @@ sub copyfile { return &writefile($newcrsid,$which,&readfile($origcrsid,$which)); } +# =============================================================== Copy a dbfile + +sub copydb { + my ($origcrsid,$newcrsid,$which)=@_; + $which=~s/\.db$//; + my %origcrsdata=&Apache::lonnet::coursedescription($origcrsid); + my %newcrsdata= &Apache::lonnet::coursedescription($newcrsid); + my %data=&Apache::lonnet::dump + ($which,$origcrsdata{'domain'},$origcrsdata{'num'}); + return &Apache::lonnet::put + ($which,\%data,$newcrsdata{'domain'},$newcrsdata{'num'}); +} + +# ========================================================== Copy all userfiles + +sub copyuserfiles { + my ($origcrsid,$newcrsid)=@_; + foreach (&crsdirlist($origcrsid,'userfiles')) { + ©file($origcrsid,$newcrsid,$_); + } +} +# ========================================================== Copy all userfiles + +sub copydbfiles { + my ($origcrsid,$newcrsid)=@_; + foreach (&crsdirlist($origcrsid)) { + if ($_=~/\.db$/) { + unless + ($_=~/^(nohist\_|discussiontimes|classlist|versionupdate)/) { + ©db($origcrsid,$newcrsid,$_); + } + } + } +} + # ===================================================== Phase one: fill-in form sub print_course_creation_page {