--- loncom/interface/lonpickcourse.pm 2006/01/10 21:36:45 1.37 +++ loncom/interface/lonpickcourse.pm 2006/05/09 15:09:27 1.45 @@ -1,7 +1,7 @@ # The LearningOnline Network # Pick a course # -# $Id: lonpickcourse.pm,v 1.37 2006/01/10 21:36:45 albertel Exp $ +# $Id: lonpickcourse.pm,v 1.45 2006/05/09 15:09:27 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -42,13 +42,7 @@ sub handler { return OK if $r->header_only; # ------------------------------------------------------------ Print the screen - my $html=&Apache::lonxml::xmlbegin(); - $r->print(< -The LearningOnline Network with CAPA - -ENDDOCUMENT + # Get parameters from query string &Apache::loncommon::get_unprocessed_cgi ($ENV{'QUERY_STRING'},['domainfilter','descriptfilter', @@ -102,18 +96,18 @@ ENDDOCUMENT ['-1','86400','604800','2592000','7776000', '15552000','31104000'])); # if called from loncreateuser, report sections, then close - my ($loaditem,$seclist); + my (%loaditem,$seclist,$groupslist); my $num_sections = 0; if ($env{'form.form'} eq 'cu' && $env{'form.pickedcourse'}) { - $loaditem = 'onLoad="setSections()"'; + $loaditem{'onload'} ="setSections()"; my ($cdom,$cnum) = split/_/,$env{'form.pickedcourse'}; - my %sections_count = (); - $num_sections = &Apache::loncommon::get_sections($cdom,$cnum,\%sections_count); - my @sections = (); - if ($num_sections > 0) { - @sections = (sort {$a <=> $b} keys(%sections_count)); - $seclist = join('","',@sections); - } + + my %sections_count = &Apache::loncommon::get_sections($cdom,$cnum); + my @sections = (sort {$a <=> $b} keys(%sections_count)); + $seclist = join('","',@sections); + + my %curr_groups = &Apache::loncommon::coursegroups($cdom,$cnum); + $groupslist = join(',',sort(keys(%curr_groups))); } my $jscript; my $title = 'Selecting a course'; @@ -125,13 +119,15 @@ ENDDOCUMENT $jscript = &Apache::loncommon::check_uncheck_jscript(); $multelement = ''; } - $r->print(&Apache::loncommon::bodytag($title,undef,$loaditem,undef,undef,undef,undef,1)); + $r->print(&Apache::loncommon::start_page($title,undef, + {'add_entries' => \%loaditem, + 'no_nav_bar' => 1, })); my %lt=&Apache::lonlocal::texthash( 'cac' => 'Course Activity', 'cde' => 'Course Description', 'cdo' => 'Course Domain', 'cin' => 'Course Institutional Code', - 'cow' => "Course Owner's usename"); + 'cow' => "Course Owner's Username"); my ($name_code,$name_input); if (defined($env{'form.cnameelement'}) && $env{'form.cnameelement'} ne '') { $name_code = "opener.document.$env{'form.form'}.$env{'form.cnameelement'}.value=cdesc;"; @@ -240,6 +236,7 @@ function setSections() { opener.document.$env{"form.form"}.currsec.options[0].selected = false } } + opener.document.$env{"form.form"}.groups.value='$groupslist'; self.close() } @@ -287,12 +284,12 @@ ENDSCRIPT my $numcourses = keys(%courses); foreach my $course (keys(%courses)) { my $descr; - if ($courses{$course} =~ m/^([^:]*):/) { + if ($courses{$course} =~ m/^([^:]*):/i) { $descr = &Apache::lonnet::unescape($1); } else { $descr = &Apache::lonnet::unescape($courses{$course}); } - my $description = lc($descr); + my $description = $descr; push (@{$by_descrip{$description}}, $course); } if ($numcourses > 1 && $multiple) { @@ -301,7 +298,8 @@ ENDSCRIPT onclick="javascript:uncheckAll(document.courselist.course_id)" />

'); } - foreach my $description (sort(keys(%by_descrip))) { + foreach my $description (sort + { lc($a) cmp lc($b) } (keys(%by_descrip))) { foreach my $course (@{$by_descrip{$description}}) { my $cleandesc=&HTML::Entities::encode($description,'<>&"'); $cleandesc=~s/'/\\'/g; @@ -335,7 +333,7 @@ ENDSCRIPT } $r->print("\n"); } - $r->print(''); + $r->print(&Apache::loncommon::end_page()); return OK; }