--- loncom/interface/coursecatalog.pm 2010/04/14 18:58:37 1.53.4.5 +++ loncom/interface/coursecatalog.pm 2009/11/23 21:45:18 1.57 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler for displaying the course catalog interface # -# $Id: coursecatalog.pm,v 1.53.4.5 2010/04/14 18:58:37 raeburn Exp $ +# $Id: coursecatalog.pm,v 1.57 2009/11/23 21:45:18 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -190,34 +190,17 @@ sub course_details { ({href=>"/adm/coursecatalog", text=>"Course/Community Catalog"}); } - my $brtextone = 'Course listing'; - my $brtexttwo = 'Course details'; - if ($env{'form.currcat_0'} eq 'communities::0') { - $brtextone = 'Community listing'; - $brtextone = 'Community details'; - } &Apache::lonhtmlcommon::add_breadcrumb ({href=>"javascript:document.$formname.submit()", - text=>$brtextone}, - {text=>$brtexttwo}); + text=>"Course listing"}, + {text=>"Course details"}); $r->print(&Apache::lonhtmlcommon::breadcrumbs('Course/Community Catalog')); - $r->print('
'); - if ($env{'form.currcat_0'} eq 'communities::0') { - $r->print(&mt('Detailed community information:')); - } else { - $r->print(&mt('Detailed course information:')); - } - $r->print('

'. + $r->print('
'.&mt('Detailed course information:').'

'. &print_course_listing($codedom,undef,$trails,$allitems). '

'); $r->print('
'. - ''); - if ($env{'form.currcat_0'} eq 'communities::0') { - $r->print(&mt('Back to community listing')); - } else { - $r->print(&mt('Back to course listing')); - } - $r->print(''. + ''. + &mt('Back to course listing').''. &Apache::lonhtmlcommon::echo_form_input(['coursenum','catalogfilter', 'showdetails','courseid']).'
'); return; @@ -306,24 +289,20 @@ sub instcode_course_selector { sub cat_header { my ($r,$codedom,$js,$add_entries,$catlinks,$numtitles) = @_; my $start_page = - &Apache::loncommon::start_page('Course/Community Catalog',$js, + &Apache::loncommon::start_page('Other',$js, { 'add_entries' => $add_entries, 'no_inline_link' => 1,}); $r->print($start_page); - my $brtext = 'Course listing'; - if ($env{'form.currcat_0'} eq 'communities::0') { - $brtext = 'Community listing'; - } if ($env{'form.state'} eq 'listing') { if ($numtitles > 0) { &Apache::lonhtmlcommon::add_breadcrumb ({href=>"/adm/coursecatalog", text=>"Course/Community Catalog"}, - {text=>$brtext}); + {text=>"Course listing"}); } else { &Apache::lonhtmlcommon::add_breadcrumb - ({text=>$brtext}); + ({text=>"Course listing"}); } } else { &Apache::lonhtmlcommon::add_breadcrumb @@ -332,7 +311,7 @@ sub cat_header { } $r->print(&Apache::lonhtmlcommon::breadcrumbs('Course/Community Catalog')); my $onchange; - unless (($env{'browser.interface'} eq 'textual') || ($env{'form.interface'} eq 'textual')) { + unless ($env{'form.interface'} eq 'textual') { $onchange = 'this.form.submit()'; } $r->print('
'. @@ -355,68 +334,78 @@ sub category_breadcrumbs { my $currcat_str = ''. ''; - my $catlinks = ''.&mt('Catalog:').''; return ($catlinks,$has_subcats,$selitem); } -sub main_category_selector { - my (@cats) = @_; - my $maincatlinks = ''."\n"; - } - return $maincatlinks; -} - sub get_depth_values { my $currdepth = 0; my $deeper = 0; @@ -655,11 +618,7 @@ sub print_course_listing { $env{'form.coursenum'}, undef,undef,'.',1); if (keys(%courses) == 0) { - if ($env{'form.currcat_0'} eq 'communities::0') { - $output .= &mt('The courseID provided does not match a community in this domain.'); - } else { - $output .= &mt('The courseID provided does not match a course in this domain.'); - } + $output .= &mt('The courseID provided does not match a course in this domain.'); return $output; } } else { @@ -728,14 +687,10 @@ sub construct_data_table { } if ($knownuser) { if ($details) { - if ($env{'form.currcat_0'} eq 'communities::0') { - $output .= ''; - } else { - $output .= - ''. - ''. - ''; - } + $output .= + ''. + ''. + ''; } else { $output .= ''; } @@ -1004,14 +959,10 @@ sub courseinfo_row { ''; if ($knownuser) { if ($details) { - if ($env{'form.currcat_0'} eq 'communities::0') { - $output .= ''; - } else { - $output .= - ''. - ''. - ''; - } + $output .= + ''. + ''. + ''; } else { $output .= "'; }
'; + my $catlinks = ''.&mt('Catalog:').''; my $has_subcats; my $selitem; - if (ref($cats[0]) eq 'ARRAY') { - if (@{$cats[0]} == 0) { - $catlinks .= &mt('No categories defined in this domain'); - } elsif (@{$cats[0]} == 1) { - if ($cats[0][0] eq 'instcode') { - $catlinks .= &mt('Official courses (with institutional codes)'); - $env{'form.currcat_0'} = 'instcode::0'; - } elsif ($cats[0][0] eq 'communities') { - $catlinks .= &mt('Communities'); - $env{'form.currcat_0'} = 'communities::0'; - } else { - my $name = $cats[0][0]; - my $item = &escape($name).'::0'; - $catlinks .= $name; - $env{'form.currcat_0'} = $item; - } - $currcat_str .= ''; - } else { - $catlinks .= &main_category_selector(@cats); - if (($env{'form.currcat_0'} ne '') && - ($env{'form.currcat_0'} ne 'instcode::0')) { - $catlinks .= $crumbsymbol; - } else { - $catlinks .= ''; + for (my $i=0; $i<$deeper; $i++) { + $currcat_str .= ''; + my ($cattitle,$shallower); + if ($i == 0) { + if (ref($cats[0]) eq 'ARRAY') { + if (@{$cats[0]} > 1) { + $cattitle = &mt('Main Categories'); + } } + } else { + $shallower = $i-1; + my ($cat,$container,$depth) = map { &unescape($_); } split(/:/,$env{'form.currcat_'.$shallower}); + $cattitle = $cat; + } + if ($cattitle ne '') { + $catlinks .= ''; } - } else { - $catlinks .= &mt('Official courses (with institutional codes)'); - $env{'form.currcat_0'} = 'instcode::0'; - $currcat_str .= ''; } - if ($deeper) { - for (my $i=1; $i<=$deeper; $i++) { - my $shallower = $i-1; - next if ($shallower == 0); - my ($cat,$container,$depth) = map { &unescape($_); } split(/:/,$env{'form.currcat_'.$shallower}); - if ($cat ne '') { - $catlinks .= '
'.$cattitle.''.$crumbsymbol.''. - ''; + if (ref($cats[0]) eq 'ARRAY') { + if ((@{$cats[0]} == 1) && (@cats == 1)) { + if ($cats[0][0] eq 'instcode') { + $catlinks .= &mt('Official courses (with institutional codes)'). + ''; + $env{'form.currcat_0'} = 'instcode::0'; + } elsif ($cats[0][0] eq 'communities') { + $catlinks .= &mt('Communities'). + ''; + $env{'form.currcat_0'} = 'communities::0'; + } else { + my $name = $cats[0][0]; + my $item = &escape($name).'::0'; + $catlinks .= $name. + ''; + $env{'form.currcat_0'} = $item; + } + } else { + $has_subcats = 1; + my $buttontext = &mt('Show subcategories'); + $selitem = 'currcat_0'; + $catlinks .= ''; + $catlinks .= ''."\n". + ' '; } - unless ($i == $deeper) { - $catlinks .= $crumbsymbol; - } + } else { + $catlinks .= &mt('Official courses (with institutional codes)'). + ''; + $env{'form.currcat_0'} = 'instcode::0'; } + } else { my ($cat,$container,$depth); if ($env{'form.currcat_'.$currdepth} eq '') { my $shallower = $currdepth - 1; @@ -424,66 +413,40 @@ sub category_breadcrumbs { } else { ($cat,$container,$depth) = map { &unescape($_); } split(/:/,$env{'form.currcat_'.$currdepth}); } - my $deeperlevel = $depth +1; - if (ref($cats[$deeperlevel]{$cat}) eq 'ARRAY') { + my $deeper = $depth +1; + my $currcat = $cat; + if ($cat eq 'instcode') { + $currcat = &mt('Official courses (with institutional codes)'); + } elsif ($cat eq 'communities') { + $currcat = &mt('Communities'); + } + $catlinks .= ''.$currcat.''; + if (ref($cats[$deeper]{$cat}) eq 'ARRAY') { $has_subcats = 1; my $buttontext = &mt('Show subcategories'); - my $selitem = 'currcat_'.$deeperlevel; - $catlinks .= ' '; + if (@{$cats[$deeper]{$cat}} > 1) { $catlinks .= ''; + &mt('Select').''; + $buttontext = &mt('Pick subcategory'); } - for (my $k=0; $k<@{$cats[$deeperlevel]{$cat}}; $k++) { - my $name = $cats[$deeperlevel]{$cat}[$k]; - my $item = &escape($name).':'.&escape($cat).':'.$deeperlevel; + for (my $k=0; $k<@{$cats[$deeper]{$cat}}; $k++) { + my $name = $cats[$deeper]{$cat}[$k]; + my $item = &escape($name).':'.&escape($cat).':'.$deeper; $catlinks .= ''."\n"; } - $catlinks .= ''."\n"; + $catlinks .= ''."\n". + ' '; } elsif ($cat ne 'instcode') { $catlinks .= ' '.&mt('(No subcategories)'); } - } else { - $selitem = 'currcat_0'; } $catlinks .= $currcat_str.'
'.&mt('Default Access Dates for Members').''.&mt('Default Access Dates for Students').''.&mt('Student Counts').''.&mt('Auto-enrollment of[_1]registered students','
').'
'.&mt('Default Access Dates for Students').''.&mt('Student Counts').''.&mt('Auto-enrollment of[_1]registered students','
').'
'.&mt('Details').''.$ownerlast.''.$accessdates.''.$accessdates.''.$counts.''.$autoenrollment.''.$accessdates.''.$counts.''.$autoenrollment.'".&mt('Show more details').'