Diff for /loncom/lonnet/perl/lonnet.pm between versions 1.680 and 1.682

version 1.680, 2005/11/17 16:58:23 version 1.682, 2005/11/21 19:08:29
Line 2693  sub set_userprivs { Line 2693  sub set_userprivs {
     my $author=0;      my $author=0;
     my $adv=0;      my $adv=0;
     my %grouproles = ();      my %grouproles = ();
     my %groups_checked = ();  
     if (keys(%{$allgroups}) > 0) {      if (keys(%{$allgroups}) > 0) {
         foreach my $role (keys %{$allroles}) {          foreach my $role (keys %{$allroles}) {
             my ($trole,$area);              my ($trole,$area,$sec,$extendedarea);
             if ($role =~ m|^(\w+)\.(/\w+/\w+)|) {              if ($role =~ m|^(\w+)\.(/\w+/\w+)(/?\w*)|) {
                 $trole = $1;                  $trole = $1;
                 $area = $2;                  $area = $2;
                 unless ($groups_checked{$area}) {                  $sec = $3;
                     $groups_checked{$area} = 1;                  $extendedarea = $area.$sec;
                     if (exists($$allgroups{$area})) {                  if (exists($$allgroups{$area})) {
                         foreach my $group (keys(%{$$allgroups{$area}})) {                      foreach my $group (keys(%{$$allgroups{$area}})) {
                             my $spec = $trole.'.'.$area;                          my $spec = $trole.'.'.$extendedarea;
                             $grouproles{$spec.'.'.$area.'/'.$group} =                           $grouproles{$spec.'.'.$area.'/'.$group} = 
                                                     $$allgroups{$area}{$group};                                                  $$allgroups{$area}{$group};
                         }  
                     }                      }
                 }                  }
             }              }
Line 3745  sub modify_coursegroup_membership { Line 3743  sub modify_coursegroup_membership {
     return $result;      return $result;
 }  }
   
   sub get_active_groups {
       my ($udom,$uname,$cdom,$cnum) = @_;
       my $now = time;
       my %groups = ();
       foreach my $key (keys(%env)) {
           if ($key =~ m-user\.role\.gr\./([^/]+)/([^/]+)/(\w+)$-) {
               my ($start,$end) = split(/\./,$env{$key});
               if (($end!=0) && ($end<$now)) { next; }
               if (($start!=0) && ($start>$now)) { next; }
               if ($1 eq $cdom && $2 eq $cnum) {
                   $groups{$3} = $env{$key} ;
               }
           }
       }
       return %groups;
   }
   
 # ------------------------------------------------------------------ Plain Text  # ------------------------------------------------------------------ Plain Text
   
 sub plaintext {  sub plaintext {

Removed from v.1.680  
changed lines
  Added in v.1.682


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