Diff for /loncom/interface/coursecatalog.pm between versions 1.104 and 1.105

version 1.104, 2021/04/30 18:19:41 version 1.105, 2021/06/15 20:52:26
Line 1511  sub construct_data_table { Line 1511  sub construct_data_table {
     }      }
     my $count = 1;      my $count = 1;
     my $totalsec = 0;      my $totalsec = 0;
       my %clutteredxlists;
       foreach my $course (keys(%courseinfo)) {
           if (ref($courseinfo{$course}) eq 'HASH') {
               if ($courseinfo{$course}{'xlist'} ne '') {
                   my $crskey = $courseinfo{$course}{'cnum'}.':'.$courseinfo{$course}{'code'};
                   my @xlists = split(/,\s/,$courseinfo{$course}{'xlist'});
                   $clutteredxlists{$crskey} = \@xlists;
               }
           }
       }
       if (keys(%clutteredxlists)) {
           my %reformattedxlists = &Apache::lonnet::auto_instsec_reformat($domain,'declutter',\%clutteredxlists);
           foreach my $crskey (keys(%reformattedxlists)) {
               if (ref($reformattedxlists{$crskey}) eq 'ARRAY') {
                   my $course = $domain.'_'.(split(/:/,$crskey))[0];
                   $courseinfo{$course}{'xlist'} = join(', ',@{$reformattedxlists{$crskey}});
               }
           }
       }
     foreach my $item (@sorted_courses) {      foreach my $item (@sorted_courses) {
         foreach my $course (@{$Sortby{$item}}) {          foreach my $course (@{$Sortby{$item}}) {
             $output.=&Apache::loncommon::start_data_table_row();               $output.=&Apache::loncommon::start_data_table_row(); 
Line 1971  sub identify_sections { Line 1990  sub identify_sections {
 sub get_valid_classes {  sub get_valid_classes {
     my ($seclist,$xlist_items,$crscode,$owners,$cdom,$cnum) = @_;      my ($seclist,$xlist_items,$crscode,$owners,$cdom,$cnum) = @_;
     my $response;      my $response;
     my (@sections,@xlists,%possclasses,%okclasses,%validations);      my (@sections,@format_sections,@xlists,%possclasses,%okclasses,%validations);
     @{$validations{'sections'}} = ();      @{$validations{'sections'}} = ();
     @{$validations{'xlists'}} = ();      @{$validations{'xlists'}} = ();
     my $totalitems = 0;      my $totalitems = 0;
     if ($seclist) {      if ($seclist) {
         @sections = split(/,\s+/,$seclist);          @sections = split(/,\s+/,$seclist);
         map { $possclasses{$crscode.$_} = 1; } @sections;          my $crskey = $cnum.':'.$crscode;
           my %formattedsec = &Apache::lonnet::auto_instsec_reformat($cdom,'clutter',
                                                                     {$crskey => \@sections});
           if (ref($formattedsec{$crskey}) eq 'ARRAY') {
               @format_sections = @{$formattedsec{$crskey}};
               map { $possclasses{$crscode.$_} = 1; } @format_sections;
           }
     }      }
     if ($xlist_items) {      if ($xlist_items) {
         @xlists = split(/,\s+/,$xlist_items);          @xlists = split(/,\s+/,$xlist_items);
Line 1986  sub get_valid_classes { Line 2011  sub get_valid_classes {
     my %okclasses = &Apache::lonnet::auto_validate_instclasses($cdom,$cnum,$owners,      my %okclasses = &Apache::lonnet::auto_validate_instclasses($cdom,$cnum,$owners,
                                                                \%possclasses);                                                                 \%possclasses);
     if (keys(%okclasses)) {      if (keys(%okclasses)) {
         foreach my $sec (@sections) {          for (my $i=0; $i<@sections; $i++) {
             if ($okclasses{$crscode.$sec}) {              if ($okclasses{$crscode.$format_sections[$i]}) {
                 if (!grep(/^\Q$sec$\E/,@{$validations{'sections'}})) {                  my $sec = $sections[$i];
                   if (!grep(/^\Q$sec\E$/,@{$validations{'sections'}})) {
                     push(@{$validations{'sections'}},$sec);                      push(@{$validations{'sections'}},$sec);
                     $totalitems ++;                      $totalitems ++;
                 }                  }
Line 2009  sub get_valid_classes { Line 2035  sub get_valid_classes {
                         join(', ',@{$validations{'sections'}}).'<br />';                          join(', ',@{$validations{'sections'}}).'<br />';
         }          }
         if (@{$validations{'xlists'}}) {          if (@{$validations{'xlists'}}) {
               my $crskey = $cnum.':'.$crscode;
               my %reformattedxlists =
                   &Apache::lonnet::auto_instsec_reformat($cdom,'declutter',
                                                          {$crskey => $validations{'xlists'}});
               if (ref($reformattedxlists{$crskey}) eq 'ARRAY') {
                   $validations{'xlists'} = $reformattedxlists{$crskey};
               }
             $response .= &mt('Courses:').' '.              $response .= &mt('Courses:').' '.
                         join(', ',@{$validations{'xlists'}});                          join(', ',@{$validations{'xlists'}});
         }          }

Removed from v.1.104  
changed lines
  Added in v.1.105


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>