--- loncom/interface/coursecatalog.pm 2013/11/21 16:34:23 1.58.4.9 +++ loncom/interface/coursecatalog.pm 2010/07/08 23:19:19 1.63 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler for displaying the course catalog interface # -# $Id: coursecatalog.pm,v 1.58.4.9 2013/11/21 16:34:23 raeburn Exp $ +# $Id: coursecatalog.pm,v 1.63 2010/07/08 23:19:19 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -66,20 +66,13 @@ sub handler { } my $formname = 'coursecatalog'; if ($env{'form.showdom'} ne '') { - $env{'form.showdom'} = &LONCAPA::clean_domain($env{'form.showdom'}); if (&Apache::lonnet::domain($env{'form.showdom'}) ne '') { $codedom = $env{'form.showdom'}; - } else { - $env{'form.showdom'} = ''; } } my $domdesc = &Apache::lonnet::domain($codedom,'description'); &Apache::lonhtmlcommon::clear_breadcrumbs(); - if ($env{'form.catalog_maxdepth'} ne '') { - $env{'form.catalog_maxdepth'} =~ s{\D}{}g; - } - my %domconfig = &Apache::lonnet::get_dom('configuration',['coursecategories'],$codedom); my (@cats,@trails,%allitems,%idx,@jsarray,%subcathash,$cathash); @@ -96,6 +89,10 @@ sub handler { \%idx,\@jsarray,$subcats); my ($numtitles,@codetitles); if ($env{'form.coursenum'} ne '' && &user_is_known()) { + 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); @@ -189,16 +186,14 @@ sub course_details { &courselink_javascript().''."\n"; my $start_page = &Apache::loncommon::start_page('Course/Community Catalog',$js, - { - 'add_entries' => \%add_entries, - 'no_inline_link' => 1,}); + {'add_entries' => \%add_entries, }); $r->print($start_page); if ($env{'form.numtitles'} > 0) { &Apache::lonhtmlcommon::add_breadcrumb ({href=>"/adm/coursecatalog", text=>"Course/Community Catalog"}); } - my $brtextone = 'Course listing'; + my $brtextone = 'Course listing'; my $brtexttwo = 'Course details'; if ($env{'form.currcat_0'} eq 'communities::0') { $brtextone = 'Community listing'; @@ -208,6 +203,7 @@ sub course_details { ({href=>"javascript:document.$formname.submit()", text=>$brtextone}, {text=>$brtexttwo}); + $r->print(&Apache::lonhtmlcommon::breadcrumbs('Course/Community Catalog')); $r->print('
'); if ($env{'form.currcat_0'} eq 'communities::0') { $r->print(&mt('Detailed community information:')); @@ -291,6 +287,7 @@ sub instcode_course_selector { $r->print(''."\n". ''."\n". ''."\n". + ''."\n". ''. 'print(&Apache::lonhtmlcommon::breadcrumbs('Course/Community Catalog')); - my $onchange; - unless ($env{'form.interface'} eq 'textual') { - $onchange = 'this.form.submit()'; - } + my $onchange = 'this.form.submit()'; $r->print('
'. ''; - } else { + } else { $output .= - ''. + ''. ''. ''; } @@ -1029,13 +1021,7 @@ sub courseinfo_row { if (($info->{'selfenroll_start'} > 0) && ($info->{'selfenroll_start'} > $now)) { $output .= ''; } else { - $output .= ''; + $output .= ''; } $selfenroll = 1; }
'.&mt('Domain:').''. &Apache::loncommon::select_dom_form($codedom,'showdom','',1,$onchange)); @@ -407,7 +399,7 @@ sub category_breadcrumbs { $catlinks .= ''; for (my $j=0; $j<@{$cats[$shallower]{$container}}; $j++) { my $name = $cats[$shallower]{$container}[$j]; - my $item = &escape($name).':'.&escape($container).':'.$shallower; + my $item = &escape($name).':'.$container.':'.$shallower; my $selected = ''; if ($item eq $env{'form.currcat_'.$shallower}) { $selected = ' selected="selected"'; @@ -662,7 +654,7 @@ sub print_course_listing { 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 { + } else { $output .= &mt('The courseID provided does not match a course in this domain.'); } return $output; @@ -811,8 +803,8 @@ sub build_courseinfo_hash { $selfenroll_end = $courses->{$course}{'selfenroll_end_date'}; $categories = $courses->{$course}{'categories'}; push(@owners,$singleowner); - if ($courses->{$course}{'co-owners'} ne '') { - foreach my $item (split(/,/,$courses->{$course}{'co-owners'})) { + if (ref($courses->{$course}{'co-owners'}) eq 'ARRAY') { + foreach my $item (@{$courses->{$course}{'co-owners'}}) { push(@owners,$item); } } @@ -1011,9 +1003,9 @@ sub courseinfo_row { if ($details) { if ($env{'form.currcat_0'} eq 'communities::0') { $output .= ''.$accessdates.''.$accessdates.''.$accessdates.''.$counts.''.$autoenrollment.''.&mt('Starts: [_1]',''.$showstart.'').'
'.&mt('Ends: [_1]',''.$showend.'').'
'.&mt('Enroll in course').'
'; - if ($info->{'selfenroll_end'} == 0) { - $output .= &mt('Available permanently'); - } elsif ($info->{'selfenroll_end'} > $now) { - $output .= &mt('Self-enrollment ends: [_1]',''.$showend.''); - } - $output .= '
'.&mt('Enroll in course').'