--- loncom/interface/lonpickcourse.pm 2006/06/28 16:06:06 1.50 +++ loncom/interface/lonpickcourse.pm 2006/11/03 18:42:11 1.53 @@ -1,7 +1,7 @@ # The LearningOnline Network # Pick a course # -# $Id: lonpickcourse.pm,v 1.50 2006/06/28 16:06:06 albertel Exp $ +# $Id: lonpickcourse.pm,v 1.53 2006/11/03 18:42:11 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -53,7 +53,7 @@ sub handler { 'cdomelement','cnameelement','roleelement', 'pickedcourse','instcodefilter', 'ownerfilter','coursefilter','multiple', - 'type']); + 'type','ownerdomfilter']); # domain filter and selection my $domainfilter=$env{'form.domainfilter'}; $domainfilter=~s/\W//g; @@ -70,8 +70,13 @@ sub handler { my $listinstcode=&HTML::Entities::encode($instcodefilter,'<>&"'); # course owner filter my $ownerfilter=$env{'form.ownerfilter'}; - unless ($ownerfilter) { $ownerfilter=''; } + $ownerfilter=~s/\W//g; my $listowner=&HTML::Entities::encode($ownerfilter,'<>&"'); +# course ownerdomain filter + my $ownerdomfilter=$env{'form.ownerdomfilter'}; + $ownerdomfilter=~s/\W//g; + my $ownerdomselectform= + &Apache::loncommon::select_dom_form($ownerdomfilter,'ownerdomfilter',1); # course ID filter for DCs only my ($courseidtag,$coursefilter); if ($env{'user.adv'} && $domainfilter && exists($env{'user.role.dc./'. @@ -220,7 +225,7 @@ function setGroups() { my $jscript; my $typeselectform = '
'; } - my %elements = ( - Course => { + 'Course' => { name => 'coursepick', total => 'coursetotal', list => 'courselist', }, - Group => { + 'Non-standard course' => { name => 'grouppick', total => 'grouptotal', list => 'grouplist', @@ -403,6 +408,8 @@ $instcodeform $lt{'cow'}:
+$lt{'cod'}: $ownerdomselectform +
$courseidtag $lt{'cde'}: @@ -416,13 +423,17 @@ ENDSCRIPT $r->rflush(); unless ($descriptfilter) { $descriptfilter='.'; } unless ($instcodefilter) { $instcodefilter='.'; } - unless ($ownerfilter) { $ownerfilter='.'; } - unless ($coursefilter) { $coursefilter='.'; } - unless ($type) { $type = '.'; } + my $combownerfilter; + if (($ownerfilter ne '') || ($ownerdomfilter ne '')) { + $combownerfilter = $ownerfilter.':'.$ownerdomfilter; + } + if ($combownerfilter eq '') { $combownerfilter='.'; } + if ($coursefilter eq '') { $coursefilter='.'; } + if ($type eq '') { $type = '.'; } my $timefilter=($sincefilter==-1?1:time-$sincefilter); - my %courses= - &Apache::lonnet::courseiddump - ($domainfilter,$descriptfilter,$timefilter,$instcodefilter,$ownerfilter,$coursefilter,undef,undef,$type); + my %courses = &Apache::lonnet::courseiddump($domainfilter,$descriptfilter, + $timefilter,$instcodefilter,$combownerfilter, + $coursefilter,undef,undef,$type); $r->print('
'); my %by_descrip; my $numcourses = keys(%courses);