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;} |