--- loncom/interface/loncreatecourse.pm 2004/05/04 20:43:21 1.55 +++ loncom/interface/loncreatecourse.pm 2004/05/11 06:02:58 1.57 @@ -1,7 +1,7 @@ # 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.57 2004/05/11 06:02:58 albertel 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 (<tt>id@domain</tt>) if other than course', 'cc' => "Course Coordinator", 'user' => "Username", 'ierc' => "Immediately expire own role as Course Coordinator", @@ -411,7 +415,9 @@ $lt{'asov'}. <h2>$lt{'acco'}</h2> <p> <b>$lt{'snak'}: </b> -<input type="checkbox" name="setkeys" /> +<input type="checkbox" name="setkeys" /><br /> +<b>$lt{'kaut'}: </b> +<input type="text" size="30" name="keyauth" /> </p> <h2>$lt{'rshm'}</h2> <p> @@ -678,9 +684,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'; }