Diff for /loncom/interface/coursecatalog.pm between versions 1.92 and 1.95

version 1.92, 2017/02/20 18:29:22 version 1.95, 2018/02/01 04:51:02
Line 57  sub handler { Line 57  sub handler {
     &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},      &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
                                             ['sortby','showdom']);                                              ['sortby','showdom']);
   
     my $codedom = &Apache::lonnet::default_login_domain();      my $serverdefdom = &Apache::lonnet::default_login_domain();
       my $codedom = $serverdefdom;
   
     if (($env{'user.domain'} ne '') && ($env{'user.domain'} ne 'public')) {       if (($env{'user.domain'} ne '') && ($env{'user.domain'} ne 'public')) { 
         $codedom = $env{'user.domain'};          $codedom = $env{'user.domain'};
Line 74  sub handler { Line 75  sub handler {
             $env{'form.showdom'} = '';              $env{'form.showdom'} = '';
         }          }
     }      }
     my $domdesc = &Apache::lonnet::domain($codedom,'description');      my $domdesc = &Apache::lonnet::domain($serverdefdom,'description');
     &Apache::lonhtmlcommon::clear_breadcrumbs();      &Apache::lonhtmlcommon::clear_breadcrumbs();
       
       unless (($serverdefdom eq $codedom) ||
               (&Apache::lonnet::will_trust('catalog',$serverdefdom,$codedom))) {
           my $serverdomdesc = &Apache::lonnet::domain($serverdefdom,'description');
           $r->print(&Apache::loncommon::start_page('Course/Community Catalog'));
           &Apache::lonhtmlcommon::add_breadcrumb
               ({href=>"/adm/coursecatalog",
                 text=>"Course/Community Catalog"});
           $r->print(&Apache::lonhtmlcommon::breadcrumbs('Course/Community Catalog'));
           $r->print('<div>'.&mt('Access to catalog LON-CAPA courses/communities unavailable for: "[_1]" on servers run by: "[_2]".',
                     $domdesc,$serverdomdesc).'</div>');
           $r->print(&Apache::loncommon::end_page());
           return OK;
       }
     my %domconfig =      my %domconfig =
         &Apache::lonnet::get_dom('configuration',['coursecategories'],$codedom);          &Apache::lonnet::get_dom('configuration',['coursecategories'],$codedom);
     my $knownuser = &user_is_known();      my $knownuser = &user_is_known();
Line 1655  sub identify_sections { Line 1669  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 %validations;      my (@sections,@xlists,%possclasses,%okclasses,%validations);
     @{$validations{'sections'}} = ();      @{$validations{'sections'}} = ();
     @{$validations{'xlists'}} = ();      @{$validations{'xlists'}} = ();
     my $totalitems = 0;      my $totalitems = 0;
     if ($seclist) {      if ($seclist) {
         foreach my $sec (split(/, /,$seclist)) {          @sections = split(/,\s+/,$seclist);
           map { $possclasses{$crscode.$_} = 1; } @sections;
       }
       if ($xlist_items) {
           @xlists = split(/,\s+/,$xlist_items);
           map { $possclasses{$_} = 1; } @xlists;
       }
       my %okclasses = &Apache::lonnet::auto_validate_instclasses($cdom,$cnum,$owners,
                                                                  \%possclasses);
       if (keys(%okclasses)) {
           foreach my $sec (@sections) {
             my $class = $crscode.$sec;              my $class = $crscode.$sec;
             if (&Apache::lonnet::auto_validate_class_sec($cdom,$cnum,$owners,              if ($okclasses{$crscode.$sec}) {
  $class) eq 'ok') {  
                 if (!grep(/^\Q$sec$\E/,@{$validations{'sections'}})) {                  if (!grep(/^\Q$sec$\E/,@{$validations{'sections'}})) {
                     push(@{$validations{'sections'}},$sec);                      push(@{$validations{'sections'}},$sec);
                     $totalitems ++;                      $totalitems ++;
                 }                  }
             }              }
         }          }
     }          foreach my $item (@xlists) {
     if ($xlist_items) {              if ($okclasses{$item}) {
         foreach my $item (split(/, /,$xlist_items)) {                  if (!grep(/^\Q$item\E$/,@{$validations{'xlists'}})) {
             if (&Apache::lonnet::auto_validate_class_sec($cdom,$cnum,$owners,  
  $item) eq 'ok') {  
                 if (!grep(/^\Q$item$\E/,@{$validations{'xlists'}})) {  
                     push(@{$validations{'xlists'}},$item);                      push(@{$validations{'xlists'}},$item);
                     $totalitems ++;                      $totalitems ++;
                 }                  }

Removed from v.1.92  
changed lines
  Added in v.1.95


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