--- loncom/interface/lonpickcourse.pm 2009/05/04 13:24:12 1.79 +++ loncom/interface/lonpickcourse.pm 2009/05/08 17:22:17 1.81 @@ -1,7 +1,7 @@ # The LearningOnline Network # Pick a course # -# $Id: lonpickcourse.pm,v 1.79 2009/05/04 13:24:12 raeburn Exp $ +# $Id: lonpickcourse.pm,v 1.81 2009/05/08 17:22:17 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -51,7 +51,6 @@ sub handler { ($ENV{'QUERY_STRING'},['domainfilter','form','cnumelement', 'cdomelement','cnameelement','roleelement', 'multiple','type','setroles','fixeddom']); - my ($type,$title,$jscript,$multelement,$multiple,$roleelement, $lastaction,$autosubmit,$submitopener); @@ -423,12 +422,14 @@ sub multiples_tag { sub build_filters { my ($filterlist,$type,$roleelement,$multelement,$filter,$action, - $numtitlesref) = @_; + $numtitlesref,$caller) = @_; my $list; my $formname; my ($fixeddom,$codedom,$jscript); if (defined($env{'form.form'})) { - $formname = $env{'form.form'}; + $formname = $env{'form.form'}; + } else { + $formname = $caller; } my ($domainselectform,$sincefilterform,$ownerdomselectform,$persondomselectform, $instcodeform,$typeselectform,$instcodetitle); @@ -521,10 +522,12 @@ sub build_filters { ); $typeselectform = ''."\n". - ''."\n"; + my $unofficial = ' checked="checked" '; + my $official = ''; + if ($env{'form.official'}) { + $official = $unofficial; + $unofficial = ''; + } + $output .= ''.&mt('Official course:').' '.(' 'x3).'
'. + &Apache::courseclassifier::build_instcode_selectors($numtitles, + $lasttitle,\%cat_items,\@codetitles,\%cat_titles,\%cat_order)."\n". + ''."\n". + ''."\n"; } return ($output,$jscript,$numtitles); @@ -657,24 +671,26 @@ sub search_courses { $filter->{'combownerfilter'} = $filter->{'ownerfilter'}.':'. $filter->{'ownerdomfilter'}; } - foreach my $item ('descriptfilter','instcodefilter','coursefilter', - 'combownerfilter') { + foreach my $item ('descriptfilter','coursefilter','combownerfilter') { if (!$filter->{$item}) { $filter->{$item}='.'; } } - if ($type eq '') { $type = '.'; } my $timefilter = ($filter->{'sincefilter'}==-1?1:time-$filter->{'sincefilter'}); my ($instcodefilter,$regexpok); if ($numtitles) { - $instcodefilter = - &Apache::courseclassifier::instcode_search_str($filter->{'domainfilter'}, - $numtitles); - $regexpok = 1; + if ($env{'form.official'}) { + $instcodefilter = + &Apache::courseclassifier::instcode_search_str($filter->{'domainfilter'}, + $numtitles); + $regexpok = 1; + } } else { $instcodefilter = $filter->{'instcodefilter'}; } + if ($instcodefilter eq '') { $instcodefilter = '.'; } + if ($type eq '') { $type = '.'; } %courses = &Apache::lonnet::courseiddump($filter->{'domainfilter'}, $filter->{'descriptfilter'}, @@ -939,10 +955,10 @@ Side Effects: None =item * X -B: +B: -Input: 7 - anonymous array of search criteria; course type; $roleelement ; $multelement ; anonymous hash of criteria and their values; form action; ref to scalar (count of number of elements in institutional codes -- e.g., 4 for year, semester, department, and number). +Input: 7 - anonymous array of search criteria; course type; $roleelement ; $multelement ; anonymous hash of criteria and their values; form action; ref to scalar (count of number of elements in institutional codes -- e.g., 4 for year, semester, department, and number); caller context (e.g., set to 'modifycourse' when routine is called from lonmodifycourse.pm). Output: 1 - $output - HTML for display of search criteria, and hidden form elements.