--- loncom/interface/coursecatalog.pm 2010/08/14 02:00:27 1.58.4.2 +++ loncom/interface/coursecatalog.pm 2013/11/21 16:34:23 1.58.4.9 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler for displaying the course catalog interface # -# $Id: coursecatalog.pm,v 1.58.4.2 2010/08/14 02:00:27 raeburn Exp $ +# $Id: coursecatalog.pm,v 1.58.4.9 2013/11/21 16:34:23 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -66,13 +66,20 @@ 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); @@ -89,10 +96,6 @@ 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); @@ -288,7 +291,6 @@ sub instcode_course_selector { $r->print(''."\n". ''."\n". ''."\n". - ''."\n". ''. ''.&mt('De-select').''; for (my $j=0; $j<@{$cats[$shallower]{$container}}; $j++) { my $name = $cats[$shallower]{$container}[$j]; - my $item = &escape($name).':'.$container.':'.$shallower; + my $item = &escape($name).':'.&escape($container).':'.$shallower; my $selected = ''; if ($item eq $env{'form.currcat_'.$shallower}) { $selected = ' selected="selected"'; @@ -809,8 +811,8 @@ sub build_courseinfo_hash { $selfenroll_end = $courses->{$course}{'selfenroll_end_date'}; $categories = $courses->{$course}{'categories'}; push(@owners,$singleowner); - if (ref($courses->{$course}{'co-owners'}) eq 'ARRAY') { - foreach my $item (@{$courses->{$course}{'co-owners'}}) { + if ($courses->{$course}{'co-owners'} ne '') { + foreach my $item (split(/,/,$courses->{$course}{'co-owners'})) { push(@owners,$item); } } @@ -1027,7 +1029,13 @@ sub courseinfo_row { if (($info->{'selfenroll_start'} > 0) && ($info->{'selfenroll_start'} > $now)) { $output .= ''.&mt('Starts: [_1]',''.$showstart.'').'
'.&mt('Ends: [_1]',''.$showend.'').''; } else { - $output .= ''.&mt('Enroll in course').''; + $output .= ''.&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 .= ''; } $selfenroll = 1; }