--- loncom/interface/loncreatecourse.pm 2004/05/04 20:43:21 1.55 +++ loncom/interface/loncreatecourse.pm 2004/06/09 17:01:55 1.59 @@ -1,7 +1,7 @@ -# The LearningOnline Network +#meserver The LearningOnline Network # Create a course # -# $Id: loncreatecourse.pm,v 1.55 2004/05/04 20:43:21 www Exp $ +# $Id: loncreatecourse.pm,v 1.59 2004/06/09 17:01:55 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -42,6 +42,7 @@ use localenroll; # ================================================ Get course directory listing +#FIXME - doesn't support directories under /userfiles/ BUG#2999 sub crsdirlist { my ($courseid,$which)=@_; unless ($which) { $which=''; } @@ -51,6 +52,7 @@ sub crsdirlist { &Apache::loncommon::propath($crsdata{'domain'},$crsdata{'num'})); my @output=(); foreach (@listing) { + #FIXME if list is a DIR need to recurse unless ($_=~/^\./) { push (@output,(split(/\&/,$_))[0]); } @@ -286,6 +288,8 @@ sub print_course_creation_page { 'dsuc' => "Disable student use of chatrooms", 'acco' => "Access Control", 'snak' => "Students need access key to enter course", + 'kaut' => + 'Key authority (id@domain) if other than course', 'cc' => "Course Coordinator", 'user' => "Username", 'ierc' => "Immediately expire own role as Course Coordinator", @@ -411,7 +415,9 @@ $lt{'asov'}.
$lt{'snak'}:
-
+
+$lt{'kaut'}:
+
@@ -473,6 +479,7 @@ 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'}; $ccuname=~s/\W//g; @@ -621,7 +628,7 @@ ENDENHEAD if (@affiliates > 0) { my @badclasses = (); foreach my $class (@affiliates) { - my $addcheck = &localenroll::new_course($class,$cenv{'internal.courseowner'}); + my $addcheck = &Apache::lonnet::auto_new_course($crsunum,$crsudom,$class,$cenv{'internal.courseowner'}); unless ($addcheck eq 'ok') { push @badclasses, $class; } @@ -678,9 +685,21 @@ ENDENHEAD $cenv{'reshome'}=$ENV{'form.reshome'}.'/'; $cenv{'reshome'}=~s/\/+$/\//; } +# +# course has keyed access +# if ($ENV{'form.setkeys'}) { $cenv{'keyaccess'}='yes'; } +# if specified, key authority is not course, but user +# only active if keyaccess is yes + if ($ENV{'form.keyauth'}) { + $ENV{'form.keyauth'}=~s/[^\w\@]//g; + if ($ENV{'form.keyauth'}) { + $cenv{'keyauth'}=$ENV{'form.keyauth'}; + } + } + if ($ENV{'form.disresdis'}) { $cenv{'pch.roles.denied'}='st'; }