--- loncom/interface/loncreatecourse.pm 2004/09/25 17:52:03 1.68 +++ loncom/interface/loncreatecourse.pm 2005/07/11 17:52:19 1.81 @@ -1,7 +1,7 @@ # The LearningOnline Network # Create a course # -# $Id: loncreatecourse.pm,v 1.68 2004/09/25 17:52:03 matthew Exp $ +# $Id: loncreatecourse.pm,v 1.81 2005/07/11 17:52:19 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -38,7 +38,6 @@ use Apache::londocs; use Apache::lonlocal; use Apache::londropadd; use lib '/home/httpd/lib/perl'; -use localenroll; # ================================================ Get course directory listing @@ -87,11 +86,10 @@ sub readfile { # ============================================================ Write a userfile sub writefile { - (my $courseid, my $which,$ENV{'form.output'})=@_; + (my $courseid, my $which,$env{'form.output'})=@_; my %crsdata=&Apache::lonnet::coursedescription($courseid); return &Apache::lonnet::finishuserfileupload( $crsdata{'num'},$crsdata{'domain'}, - $crsdata{'home'}, 'output',$which); } @@ -139,6 +137,9 @@ sub copydb { my %newcrsdata= &Apache::lonnet::coursedescription($newcrsid); my %data=&Apache::lonnet::dump ($which,$origcrsdata{'domain'},$origcrsdata{'num'}); + foreach my $key (keys(%data)) { + if ($key=~/^internal./) { delete($data{$key}); } + } return &Apache::lonnet::put ($which,\%data,$newcrsdata{'domain'},$newcrsdata{'num'}); } @@ -191,7 +192,7 @@ sub copyresourcedb { my $thiskey=$_; $thiskey=~s/^$origcrsid/$newcrsid/; $newdata{$thiskey}=$data{$_}; - if ($data{$_.'.type'}=~/^date/) { + if ($data{$_.'.type'}=~/^date_(start|end)$/) { $newdata{$thiskey}=$newdata{$thiskey}+$delta; } } @@ -204,7 +205,9 @@ sub copyresourcedb { sub copyuserfiles { my ($origcrsid,$newcrsid)=@_; foreach (&crsdirlist($origcrsid,'userfiles')) { - ©file($origcrsid,$newcrsid,$_); + if ($_ !~m|^scantron_|) { + ©file($origcrsid,$newcrsid,$_); + } } } # ========================================================== Copy all userfiles @@ -216,6 +219,9 @@ sub copydbfiles { unless ($_=~/^(nohist\_|discussiontimes|classlist|versionupdate|resourcedata)/) { ©db($origcrsid,$newcrsid,$_); + my $histfile=$_; + $histfile=~s/\.db$/\.hist/; + ©file($origcrsid,$newcrsid,$histfile); } } } @@ -234,7 +240,7 @@ sub copycoursefiles { sub print_course_creation_page { my $r=shift; - my $defdom=$ENV{'request.role.domain'}; + my $defdom=$env{'request.role.domain'}; my %host_servers = &Apache::loncommon::get_library_servers($defdom); my $course_home = '
$lt{'irsp'}
@@ -543,11 +559,6 @@ $lt{'nccl'}
-
-
@@ -563,22 +574,84 @@ ENDDOCUMENT
sub create_course {
my $r=shift;
- my $topurl='/res/'.&Apache::lonnet::declutter($ENV{'form.topmap'});
- my $this_server = $Apache::lonnet::perlvar{'lonHostID'};
- my $ccuname=$ENV{'form.ccuname'};
- my $ccdomain=$ENV{'form.ccdomain'};
+ my $ccuname=$env{'form.ccuname'};
+ my $ccdomain=$env{'form.ccdomain'};
$ccuname=~s/\W//g;
$ccdomain=~s/\W//g;
- my $cdescr=$ENV{'form.title'};
- my $curl=$ENV{'form.topmap'};
+
+ my $enrollstart = &Apache::lonhtmlcommon::get_date_from_form('startenroll');
+ my $enrollend = &Apache::lonhtmlcommon::get_date_from_form('endenroll');
+ my $startaccess = &Apache::lonhtmlcommon::get_date_from_form('startaccess');
+ my $endaccess = &Apache::lonhtmlcommon::get_date_from_form('endaccess');
+
+ my $autharg;
+ my $authtype;
+
+ if ($env{'form.login'} eq 'krb') {
+ $authtype = 'krb';
+ $authtype .=$env{'form.krbver'};
+ $autharg = $env{'form.krbarg'};
+ } elsif ($env{'form.login'} eq 'int') {
+ $authtype ='internal';
+ if ((defined($env{'form.intarg'})) && ($env{'form.intarg'})) {
+ $autharg = $env{'form.intarg'};
+ }
+ } elsif ($env{'form.login'} eq 'loc') {
+ $authtype = 'localauth';
+ if ((defined($env{'form.locarg'})) && ($env{'form.locarg'})) {
+ $autharg = $env{'form.locarg'};
+ }
+ }
+
+ my $logmsg;
+ my $html=&Apache::lonxml::xmlbegin();
my $bodytag=&Apache::loncommon::bodytag('Create a New Course');
$r->print(<