[LON-CAPA-cvs] cvs: loncom(version_2_10_X) /interface coursecatalog.pm
raeburn
raeburn@source.lon-capa.org
Sat, 14 Aug 2010 02:00:27 -0000
raeburn Sat Aug 14 02:00:27 2010 EDT
Modified files: (Branch: version_2_10_X)
/loncom/interface coursecatalog.pm
Log:
- Backport 1.63.
Index: loncom/interface/coursecatalog.pm
diff -u loncom/interface/coursecatalog.pm:1.58.4.1 loncom/interface/coursecatalog.pm:1.58.4.2
--- loncom/interface/coursecatalog.pm:1.58.4.1 Sun May 30 14:49:22 2010
+++ loncom/interface/coursecatalog.pm Sat Aug 14 02:00:27 2010
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Handler for displaying the course catalog interface
#
-# $Id: coursecatalog.pm,v 1.58.4.1 2010/05/30 14:49:22 raeburn Exp $
+# $Id: coursecatalog.pm,v 1.58.4.2 2010/08/14 02:00:27 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -87,8 +87,13 @@
}
&Apache::loncommon::extract_categories($cathash,\@cats,\@trails,\%allitems,
\%idx,\@jsarray,$subcats);
+ my ($numtitles,@codetitles);
if ($env{'form.coursenum'} ne '' && &user_is_known()) {
- &course_details($r,$codedom,$formname,$domdesc,\@trails,\%allitems);
+ if ($env{'form.currcat_0'} eq 'instcode::0') {
+ $numtitles = &instcode_course_selector($r,$codedom,$formname,$domdesc,
+ undef,undef,\@codetitles);
+ }
+ &course_details($r,$codedom,$formname,$domdesc,\@trails,\%allitems,\@codetitles);
} else {
my ($catlinks,$has_subcats,$selitem) = &category_breadcrumbs($codedom,@cats);
my $catjs = <<"ENDSCRIPT";
@@ -114,12 +119,12 @@
ENDSCRIPT
$catjs .= &courselink_javascript();
- my $numtitles;
if ($env{'form.currcat_0'} eq 'instcode::0') {
$numtitles = &instcode_course_selector($r,$codedom,$formname,$domdesc,
- $catlinks,$catjs);
+ $catlinks,$catjs,\@codetitles);
if ($env{'form.state'} eq 'listing') {
- $r->print(&print_course_listing($codedom,$numtitles));
+ $r->print(&print_course_listing($codedom,$numtitles,undef,undef,undef,
+ \@codetitles));
}
} else {
my (%add_entries);
@@ -164,7 +169,7 @@
$display_button.'" /></form><br /><br />');
}
if ($env{'form.state'} eq 'listing') {
- $r->print(&print_course_listing($codedom,undef,\@trails,\%allitems,$subcats));
+ $r->print(&print_course_listing($codedom,undef,\@trails,\%allitems,$subcats,\@codetitles));
}
}
}
@@ -173,7 +178,7 @@
}
sub course_details {
- my ($r,$codedom,$formname,$domdesc,$trails,$allitems) = @_;
+ my ($r,$codedom,$formname,$domdesc,$trails,$allitems,$codetitles) = @_;
my $output;
my %add_entries = (topmargin => "0",
marginheight => "0",);
@@ -207,7 +212,7 @@
$r->print(&mt('Detailed course information:'));
}
$r->print('<br /><br />'.
- &print_course_listing($codedom,undef,$trails,$allitems).
+ &print_course_listing($codedom,undef,$trails,$allitems,undef,$codetitles).
'<br /><br />');
$r->print('<form name="'.$formname.'" method="post" action="/adm/coursecatalog">'.
'<a href = "javascript:document.coursecatalog.submit()">');
@@ -249,10 +254,9 @@
}
sub instcode_course_selector {
- my ($r,$codedom,$formname,$domdesc,$catlinks,$catjs) = @_;
+ my ($r,$codedom,$formname,$domdesc,$catlinks,$catjs,$codetitles) = @_;
my %coursecodes = ();
my %codes = ();
- my @codetitles = ();
my %cat_titles = ();
my %cat_order = ();
my %cat_items;
@@ -262,7 +266,7 @@
marginheight => "0",);
my ($jscript,$totcodes,$numtitles,$lasttitle) =
&Apache::courseclassifier::instcode_selectors_data($codedom,$formname,
- \%cat_items,\@codetitles,\%cat_titles,\%cat_order);
+ \%cat_items,$codetitles,\%cat_titles,\%cat_order);
my $js = '<script type"text/javascript">'."\n$jscript\n$catjs\n".
'</script>';
if ($totcodes) {
@@ -279,7 +283,7 @@
if ($numtitles > 0) {
$r->print('<b>'.&mt('Choose which course(s) to list.').'</b><br />'.
&Apache::courseclassifier::build_instcode_selectors($numtitles,
- $lasttitle,\%cat_items,\@codetitles,\%cat_titles,\%cat_order));
+ $lasttitle,\%cat_items,$codetitles,\%cat_titles,\%cat_order));
}
$r->print('<input type="hidden" name="coursenum" value="" />'."\n".
'<input type="hidden" name="sortby" value="" />'."\n".
@@ -581,8 +585,8 @@
}
sub search_official_courselist {
- my ($domain,$numtitles) = @_;
- my $instcode = &Apache::courseclassifier::instcode_search_str($domain,$numtitles);
+ my ($domain,$numtitles,$codetitles) = @_;
+ my $instcode = &Apache::courseclassifier::instcode_search_str($domain,$numtitles,$codetitles);
my $showhidden;
if (&user_is_dc($domain)) {
$showhidden = $env{'form.showhidden'};
@@ -639,7 +643,7 @@
}
sub print_course_listing {
- my ($domain,$numtitles,$trails,$allitems,$subcats) = @_;
+ my ($domain,$numtitles,$trails,$allitems,$subcats,$codetitles) = @_;
my $output;
my %courses;
my $knownuser = &user_is_known();
@@ -663,7 +667,7 @@
}
} else {
if ($env{'form.currcat_0'} eq 'instcode::0') {
- %courses = &search_official_courselist($domain,$numtitles);
+ %courses = &search_official_courselist($domain,$numtitles,$codetitles);
} else {
%courses = &search_courselist($domain,$subcats);
}