Diff for /loncom/enrollment/Enrollment.pm between versions 1.8 and 1.10

version 1.8, 2003/12/11 03:26:15 version 1.10, 2004/01/14 21:03:31
Line 185  sub update_LC { Line 185  sub update_LC {
 # Check for section changes  # Check for section changes
                 unless ($$currlist{$uname}[$sec] eq $stuinfo[ $place{groupID} ]) {                  unless ($$currlist{$uname}[$sec] eq $stuinfo[ $place{groupID} ]) {
                     if ( ($$currlist{$uname}[$type] eq "auto") && ($adds == 1) ) {                      if ( ($$currlist{$uname}[$type] eq "auto") && ($adds == 1) ) {
                         my $modify_section_result = &Apache::lonnet::modify_student_enrollment($dom,$uname,undef,undef,undef,undef,undef,$stuinfo[ $place{groupID} ],$$currlist{$uname}[$cend],$$currlist{$uname}[$cstart],'auto',$cid);  # Delete from roles.db for current section
                         if ($modify_section_result =~ /^ok/) {                          my $expiretime = time;
                             $$logmsg .= "Section for $uname switched from old section: ".$$currlist{$uname}[$sec] ." to new section: ".$stuinfo[ $place{groupID} ].".".$linefeed;                          my $uurl='/'.$cid;
                           $uurl=~s/\_/\//g;
                           if ($$currlist{$uname}[$sec]) {
                               $uurl.='/'.$$currlist{$uname}[$sec];
                           }
                           my $expire_role_result = &Apache::lonnet::assignrole($dom,$uname,$uurl,'st',$expiretime);
                           if ($expire_role_result eq 'ok') {
                               my $modify_section_result = &Apache::lonnet::modify_student_enrollment($dom,$uname,undef,undef,undef,undef,undef,$stuinfo[ $place{groupID} ],$$currlist{$uname}[$cend],$$currlist{$uname}[$cstart],'auto',$cid);
                               if ($modify_section_result =~ /^ok/) {
                                   $$logmsg .= "Section for $uname switched from old section: ".$$currlist{$uname}[$sec] ." to new section: ".$stuinfo[ $place{groupID} ].".".$linefeed;
                               } else {
                                   $$logmsg .= "Error when attempting section change for $uname from old section ".$$currlist{$uname}[$sec]." to new section: ".$stuinfo[ $place{groupID} ]." -error: $modify_section_result".$linefeed;
                               }
                         } else {                          } else {
                             $$logmsg .= "Error when attempting section change for $uname from old section ".$$currlist{$uname}[$sec]." to new section: ".$stuinfo[ $place{groupID} ]." -error: $modify_section_result".$linefeed;                              $$logmsg .= "Error when attempting to expire role for $uname in old section" .$$currlist{$uname}[$sec]." -error: $expire_role_result".$linefeed;
                         }                          }
                     }                      }
                 }                  }
Line 545  sub create_password { Line 557  sub create_password {
     return ($passwd);      return ($passwd);
 }  }
   
   sub check_user_status {
       my ($udom,$uname,$cdom,$crs,$role,$secgrp) = @_;
       my %userinfo = &Apache::lonnet::dump('roles',$udom,$uname);
       my @uroles = keys %userinfo;
       my $srchstr;
       my $active_chk = 'none';
       if (@uroles > 0) {
           if ( ($role eq 'cc') || ($secgrp eq '') || ( !defined($secgrp) ) ) {
               $srchstr = '/'.$cdom.'/'.$crs.'_'.$role;
           } else {
               $srchstr = '/'.$cdom.'/'.$crs.'/'.$secgrp.'_'.$role;
           }
           if (grep/^$srchstr$/,@uroles) {
               my $role_end = 0;
               my $role_start = 0;
               $active_chk = 'ok';
               if ( $userinfo{$srchstr} =~ m/^($role)_(\d+)/ ) {
                   $role_end = $2;
                   if ( $userinfo{$srchstr} =~ m/^($role)_($role_end)_(\d+)$/ )
                   {
                       $role_start = $3;
                   }
               }   
               if ($role_start > 0) {
                   if (time < $role_start) {
                       $active_chk = 'expired';
                   }
               }
               if ($role_end > 0) {
                   if (time > $role_end) {
                       $active_chk = 'expired';
                   }
               }
           }
       }
       return $active_chk;
   }
   
 sub CL_autharg { return 0; }  sub CL_autharg { return 0; }
 sub CL_authtype { return 1;}  sub CL_authtype { return 1;}
 sub CL_email { return 2;}  sub CL_email { return 2;}

Removed from v.1.8  
changed lines
  Added in v.1.10


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