';
+ if (($env{'form.currcat_0'} ne 'instcode::0') &&
+ ($env{'form.currcat_0'} ne '') && ($has_subcats)) {
+ my $include_subcat_status;
+ if ($env{'form.withsubcats'}) {
+ $include_subcat_status = 'checked="checked" ';
+ }
+ my $counter = $env{'form.catalog_maxdepth'};
+ if ($counter > 0) {
+ if ($env{'form.state'} eq 'listing') {
+ $counter --;
+ } elsif ($env{'form.currcat_'.$counter} eq '') {
+ $counter --;
+ }
+ }
+ my ($catname) = split(/:/,$env{'form.currcat_'.$counter});
+ if ($catname ne '') {
+ $output .= ' ';
+ }
+ }
+ my $show_selfenroll_status;
+ if ($env{'form.showselfenroll'}) {
+ $show_selfenroll_status = 'checked="checked" ';
+ }
+ my $selfenroll_text;
+ if ($env{'form.currcat_0'} eq 'communities::0') {
+ $selfenroll_text = &mt('Only show communities which currently allow self-enrollment (or will allow it in the future)');
+ } else {
+ $selfenroll_text = &mt('Only show courses which currently allow self-enrollment (or will allow it in the future)');
+ }
+ $output .= ''.
+ ' ';
+ if ($is_dc) {
+ my ($titlesref,$orderref) = &get_statustitles('filters');
+ my $showdetails_status;
+ if ($env{'form.showdetails'}) {
+ $showdetails_status = 'checked="checked" ';
+ }
+ my $showhidden_status;
+ if ($env{'form.showhidden'}) {
+ $showhidden_status = 'checked="checked" ';
+ }
+ my @currstatuses = &Apache::loncommon::get_env_multiple('form.showcounts');
+ my $dc_title = &Apache::lonnet::plaintext('dc');
+ my ($details_text,$hidden_text,$statusdisplay,$cellborder);
+ my $wasactivedisplay = 'none';
+ if ($env{'form.showdetails'}) {
+ $statusdisplay = 'block';
+ $cellborder = 'border-left: 1px solid;';
+ if (grep(/^Previous$/,@currstatuses)) {
+ $wasactivedisplay = 'block';
+ }
+ } else {
+ $statusdisplay = 'none';
+ $cellborder = 'border-left: 0px';
+ }
+ if ($env{'form.currcat_0'} eq 'communities::0') {
+ $details_text = &mt('Show full details for each community ([_1] only)',$dc_title);
+ $hidden_text = &mt('Include communities set to be hidden from catalog ([_1] only)',$dc_title);
+ } else {
+ $details_text = &mt('Show full details for each course ([_1] only)',$dc_title);
+ $hidden_text = &mt('Include courses set to be hidden from catalog ([_1] only)',$dc_title);
+ }
+ $output .= ''.
+ ' '."\n".
+ ''.
+ ' | '."\n".
+ ''.
+ '';
+ if (ref($orderref) eq 'ARRAY') {
+ if (@{$orderref} > 0) {
+ foreach my $type (@{$orderref}) {
+ my $checked;
+ if (grep(/^\Q$type\E$/,@currstatuses)) {
+ $checked = ' checked="checked"';
+ }
+ my $title;
+ if (ref($titlesref) eq 'HASH') {
+ $title = $titlesref->{$type};
+ }
+ unless ($title) {
+ $title = &mt($type);
+ }
+ my $onclick;
+ if ($type eq 'Previous') {
+ $onclick = ' onclick="toggleWasActive();"';
+ }
+ $output .= ' '.
+ '';
+ if ($type eq 'Previous') {
+ my %milestonetext = &Apache::lonlocal::texthash (
+ accessend => 'immediately prior to default end access date',
+ enrollend => 'immediately prior to end date for auto-enrollment',
+ date => 'immediately prior to specific date:',
+ );
+ my @statuses = &Apache::loncommon::get_env_multiple('form.showcounts');
+ $output .= ' ';
+ if ($checked) {
+ $output .= &get_wasactive_text();
+ }
+ $output .= ''.
+ ' '.
+ ' ';
+ my @milestones = ('accessend');
+ if (&Apache::lonnet::auto_run(undef,$codedom)) {
+ push(@milestones,'enrollend');
+ }
+ push(@milestones,'date');
+ foreach my $item (@milestones) {
+ my $checked;
+ if ($env{'form.state'} eq 'listing') {
+ if ($env{'form.wasactive'} eq $item) {
+ $checked = ' checked="checked"';
+ }
+ } elsif ($item eq 'accessend') {
+ $checked = ' checked="checked"';
+ }
+ $output .=
+ ' | '.
+ '';
+ if ($item eq 'date') {
+ my $wasactiveon;
+ if (grep(/^Previous$/,@currstatuses)) {
+ $wasactiveon =
+ &Apache::lonhtmlcommon::get_date_from_form('wasactiveon');
+ } else {
+ $wasactiveon = 'now';
+ }
+ $output .= ' '.
+ &Apache::lonhtmlcommon::date_setter('coursecatalog',
+ 'wasactiveon',
+ $wasactiveon,
+ '','','',1,'',
+ '','',1);
+ }
+ $output .= ' | ';
+ }
+ $output .= ' ';
+ }
+ $output .= ' ';
+ }
+ }
+ }
+ $output .= ' | ';
+ } else {
+ $output .= '';
+ }
+ $output .= '