Diff for /loncom/interface/loncommon.pm between versions 1.1226 and 1.1227

version 1.1226, 2015/08/05 18:47:21 version 1.1227, 2015/08/09 21:43:18
Line 9779  sub user_rule_check { Line 9779  sub user_rule_check {
                 if ($checkid) {                  if ($checkid) {
                     if (ref($usershash->{$user}) eq 'HASH') {                      if (ref($usershash->{$user}) eq 'HASH') {
                         if ($usershash->{$user}->{'id'} ne '') {                          if ($usershash->{$user}->{'id'} ne '') {
                             $by_id{$udom}{$usershash->{$user}->{'id'}} = 1;                               $by_id{$udom}{$usershash->{$user}->{'id'}} = $uname; 
                             $userdoms{$udom} = 1;                              $userdoms{$udom} = 1;
                               if (ref($inst_results) eq 'HASH') {
                                   $inst_results->{$uname.':'.$udom} = {};
                               }
                         }                          }
                     }                      }
                 } else {                  } else {
                     $by_username{$udom}{$uname} = 1;                      $by_username{$udom}{$uname} = 1;
                     $userdoms{$udom} = 1;                      $userdoms{$udom} = 1;
                       if (ref($inst_results) eq 'HASH') {
                           $inst_results->{$uname.':'.$udom} = {};
                       }
                 }                  }
             }              }
             foreach my $udom (keys(%userdoms)) {              foreach my $udom (keys(%userdoms)) {
Line 9795  sub user_rule_check { Line 9801  sub user_rule_check {
                     if (ref($domconfig{'usercreation'}) eq 'HASH') {                      if (ref($domconfig{'usercreation'}) eq 'HASH') {
                         foreach my $item ('username','id') {                          foreach my $item ('username','id') {
                             if (ref($domconfig{'usercreation'}{$item.'_rule'}) eq 'ARRAY') {                              if (ref($domconfig{'usercreation'}{$item.'_rule'}) eq 'ARRAY') {
                                $$curr_rules{$udom}{$item} =                                  $$curr_rules{$udom}{$item} =
                                    $domconfig{'usercreation'}{$item.'_rule'};                                      $domconfig{'usercreation'}{$item.'_rule'};
                             }                              }
                         }                          }
                     }                      }
Line 9807  sub user_rule_check { Line 9813  sub user_rule_check {
                 foreach my $udom (keys(%by_id)) {                  foreach my $udom (keys(%by_id)) {
                     my ($outcome,$results) = &Apache::lonnet::get_multiple_instusers($udom,$by_id{$udom},'id');                      my ($outcome,$results) = &Apache::lonnet::get_multiple_instusers($udom,$by_id{$udom},'id');
                     if ($outcome eq 'ok') {                      if ($outcome eq 'ok') {
                           foreach my $id (keys(%{$by_id{$udom}})) {
                               my $uname = $by_id{$udom}{$id};
                               $inst_response{$uname.':'.$udom} = $outcome;
                           }
                         if (ref($results) eq 'HASH') {                          if (ref($results) eq 'HASH') {
                             foreach my $uname (keys(%{$results})) {                              foreach my $uname (keys(%{$results})) {
                                 $inst_response{$uname.':'.$udom} = $outcome;                                  if (exists($inst_response{$uname.':'.$udom})) {
                                 $inst_results->{$uname.':'.$udom} = $results->{$uname};                                      $inst_response{$uname.':'.$udom} = $outcome;
                                       $inst_results->{$uname.':'.$udom} = $results->{$uname};
                                   }
                             }                              }
                         }                          }
                     }                      }
Line 9819  sub user_rule_check { Line 9831  sub user_rule_check {
                 foreach my $udom (keys(%by_username)) {                  foreach my $udom (keys(%by_username)) {
                     my ($outcome,$results) = &Apache::lonnet::get_multiple_instusers($udom,$by_username{$udom});                      my ($outcome,$results) = &Apache::lonnet::get_multiple_instusers($udom,$by_username{$udom});
                     if ($outcome eq 'ok') {                      if ($outcome eq 'ok') {
                           foreach my $uname (keys(%{$by_username{$udom}})) {
                               $inst_response{$uname.':'.$udom} = $outcome;
                           }
                         if (ref($results) eq 'HASH') {                          if (ref($results) eq 'HASH') {
                             foreach my $uname (keys(%{$results})) {                              foreach my $uname (keys(%{$results})) {
                                 $inst_response{$uname.':'.$udom} = $outcome;  
                                 $inst_results->{$uname.':'.$udom} = $results->{$uname};                                  $inst_results->{$uname.':'.$udom} = $results->{$uname};
                             }                              }
                         }                          }
Line 9876  sub user_rule_check { Line 9890  sub user_rule_check {
             my ($uname,$udom) = split(/:/,$user);              my ($uname,$udom) = split(/:/,$user);
             next if (($udom eq '') || ($uname eq ''));              next if (($udom eq '') || ($uname eq ''));
             my $id;              my $id;
             if (ref($usershash->{$user})) {              if (ref($inst_results) eq 'HASH') {
                 $id = $usershash->{$user}->{'id'};                  if (ref($inst_results->{$user}) eq 'HASH') {
                       $id = $inst_results->{$user}->{'id'};
                   }
               }
               if ($id eq '') { 
                   if (ref($usershash->{$user})) {
                       $id = $usershash->{$user}->{'id'};
                   }
             }              }
             foreach my $item (keys(%{$checks})) {              foreach my $item (keys(%{$checks})) {
                 if (ref($$curr_rules{$udom}) eq 'HASH') {                  if (ref($$curr_rules{$udom}) eq 'HASH') {
Line 9893  sub user_rule_check { Line 9914  sub user_rule_check {
                                             if (ref($inst_results->{$user}) eq 'HASH') {                                              if (ref($inst_results->{$user}) eq 'HASH') {
                                                 if (keys(%{$inst_results->{$user}}) == 0) {                                                  if (keys(%{$inst_results->{$user}}) == 0) {
                                                     $$alerts{$item}{$udom}{$uname} = 1;                                                      $$alerts{$item}{$udom}{$uname} = 1;
                                                   } elsif ($item eq 'id') {
                                                       if ($inst_results->{$user}->{'id'} eq '') {
                                                           $$alerts{$item}{$udom}{$uname} = 1;
                                                       }
                                                 }                                                  }
                                             }                                              }
                                         }                                          }

Removed from v.1.1226  
changed lines
  Added in v.1.1227


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