version 1.79, 2009/05/04 13:24:12
|
version 1.80, 2009/05/05 05:30:00
|
Line 521 sub build_filters {
|
Line 521 sub build_filters {
|
); |
); |
|
|
$typeselectform = '<select name="type" size="1">'."\n"; |
$typeselectform = '<select name="type" size="1">'."\n"; |
|
my $officialjs; |
if ($type eq 'Course') { |
if ($type eq 'Course') { |
if ($env{'form.fixeddom'}) { |
if ($env{'form.fixeddom'}) { |
|
$officialjs = 1; |
($instcodeform,$jscript,$$numtitlesref) = |
($instcodeform,$jscript,$$numtitlesref) = |
&instcode_selectors($codedom,'filterpicker'); |
&instcode_selectors($codedom,'filterpicker',$officialjs); |
} |
} |
if ($instcodeform eq '') { |
if ($instcodeform eq '') { |
$instcodeform = |
$instcodeform = |
Line 631 $multelement
|
Line 633 $multelement
|
} |
} |
|
|
sub instcode_selectors { |
sub instcode_selectors { |
my ($codedom,$formname) = @_; |
my ($codedom,$formname,$officialjs) = @_; |
my ($output,@codetitles,%cat_titles,%cat_order,%cat_items); |
my ($output,@codetitles,%cat_titles,%cat_order,%cat_items); |
my ($jscript,$totcodes,$numtitles,$lasttitle) = |
my ($jscript,$totcodes,$numtitles,$lasttitle) = |
&Apache::courseclassifier::instcode_selectors_data($codedom,$formname, |
&Apache::courseclassifier::instcode_selectors_data($codedom,$formname, |
\%cat_items,\@codetitles,\%cat_titles,\%cat_order); |
\%cat_items,\@codetitles,\%cat_titles,\%cat_order,$officialjs); |
if ($numtitles > 0) { |
if ($numtitles > 0) { |
$output = &Apache::courseclassifier::build_instcode_selectors($numtitles, |
my $unofficial = ' checked="checked" '; |
$lasttitle,\%cat_items,\@codetitles,\%cat_titles,\%cat_order)."\n". |
my $official = ''; |
'<input type="hidden" name="numtitles" value="'.$numtitles.'" />'."\n". |
if ($env{'form.official'}) { |
'<input type="hidden" name="state" value="listing" />'."\n"; |
$official = $unofficial; |
|
$unofficial = ''; |
|
} |
|
$output .= '<span class="LC_nobreak">'.&mt('Official course:').' <label>'. |
|
'<input type="radio" name="official" value="1"'.$official.' />'. |
|
&mt('Yes').'</label>'.(' 'x3).'<label>'. |
|
'<input type="radio" name="official" value="0"'.$unofficial. |
|
' onclick="toggleOfficial();" />'.&mt('No').'</label></span><br />'. |
|
&Apache::courseclassifier::build_instcode_selectors($numtitles, |
|
$lasttitle,\%cat_items,\@codetitles,\%cat_titles,\%cat_order)."\n". |
|
'<input type="hidden" name="numtitles" value="'.$numtitles.'" />'."\n". |
|
'<input type="hidden" name="state" value="listing" />'."\n"; |
|
|
} |
} |
return ($output,$jscript,$numtitles); |
return ($output,$jscript,$numtitles); |
Line 657 sub search_courses {
|
Line 670 sub search_courses {
|
$filter->{'combownerfilter'} = $filter->{'ownerfilter'}.':'. |
$filter->{'combownerfilter'} = $filter->{'ownerfilter'}.':'. |
$filter->{'ownerdomfilter'}; |
$filter->{'ownerdomfilter'}; |
} |
} |
foreach my $item ('descriptfilter','instcodefilter','coursefilter', |
foreach my $item ('descriptfilter','coursefilter','combownerfilter') { |
'combownerfilter') { |
|
if (!$filter->{$item}) { |
if (!$filter->{$item}) { |
$filter->{$item}='.'; |
$filter->{$item}='.'; |
} |
} |
} |
} |
if ($type eq '') { $type = '.'; } |
|
my $timefilter = |
my $timefilter = |
($filter->{'sincefilter'}==-1?1:time-$filter->{'sincefilter'}); |
($filter->{'sincefilter'}==-1?1:time-$filter->{'sincefilter'}); |
my ($instcodefilter,$regexpok); |
my ($instcodefilter,$regexpok); |
if ($numtitles) { |
if ($numtitles) { |
$instcodefilter = |
if ($env{'form.official'}) { |
&Apache::courseclassifier::instcode_search_str($filter->{'domainfilter'}, |
$instcodefilter = |
$numtitles); |
&Apache::courseclassifier::instcode_search_str($filter->{'domainfilter'}, |
$regexpok = 1; |
$numtitles); |
|
$regexpok = 1; |
|
} |
} else { |
} else { |
$instcodefilter = $filter->{'instcodefilter'}; |
$instcodefilter = $filter->{'instcodefilter'}; |
} |
} |
|
if ($instcodefilter eq '') { $instcodefilter = '.'; } |
|
if ($type eq '') { $type = '.'; } |
%courses = |
%courses = |
&Apache::lonnet::courseiddump($filter->{'domainfilter'}, |
&Apache::lonnet::courseiddump($filter->{'domainfilter'}, |
$filter->{'descriptfilter'}, |
$filter->{'descriptfilter'}, |