version 1.170, 2015/06/09 21:22:57
|
version 1.171, 2015/08/05 18:47:21
|
Line 4297 sub upfile_drop_add {
|
Line 4297 sub upfile_drop_add {
|
my $newuserdom = $env{'request.role.domain'}; |
my $newuserdom = $env{'request.role.domain'}; |
map { $cancreate{$_} = &can_create_user($newuserdom,$context,$_); } keys(%longtypes); |
map { $cancreate{$_} = &can_create_user($newuserdom,$context,$_); } keys(%longtypes); |
# Get new users list |
# Get new users list |
|
my (%existinguser,%userinfo,%disallow,%rulematch,%inst_results,%idinst_results,%alerts,%checkuname); |
|
my $counter = -1; |
foreach my $line (@userdata) { |
foreach my $line (@userdata) { |
|
$counter ++; |
my @secs; |
my @secs; |
my %entries=&Apache::loncommon::record_sep($line); |
my %entries=&Apache::loncommon::record_sep($line); |
# Determine user name |
# Determine user name |
Line 4329 sub upfile_drop_add {
|
Line 4332 sub upfile_drop_add {
|
if ($entries{$fields{'username'}} =~ /\s/) { |
if ($entries{$fields{'username'}} =~ /\s/) { |
$nowhitespace = ' - '.&mt('usernames may not contain spaces.'); |
$nowhitespace = ' - '.&mt('usernames may not contain spaces.'); |
} |
} |
$r->print( |
$disallow{$counter} = |
'<br />'. |
|
&mt('Unacceptable username [_1] for user [_2] [_3] [_4] [_5]', |
&mt('Unacceptable username [_1] for user [_2] [_3] [_4] [_5]', |
'"<b>'.$entries{$fields{'username'}}.'</b>"', |
'"<b>'.$entries{$fields{'username'}}.'</b>"', |
$fname,$mname,$lname,$gen). |
$fname,$mname,$lname,$gen).$nowhitespace; |
$nowhitespace); |
|
next; |
next; |
} else { |
} else { |
$entries{$fields{'domain'}} =~ s/^\s+|\s+$//g; |
$entries{$fields{'domain'}} =~ s/^\s+|\s+$//g; |
if ($entries{$fields{'domain'}} |
if ($entries{$fields{'domain'}} |
ne &LONCAPA::clean_domain($entries{$fields{'domain'}})) { |
ne &LONCAPA::clean_domain($entries{$fields{'domain'}})) { |
$r->print( |
$disallow{$counter} = |
'<br />'. |
|
&mt('Unacceptable domain [_1] for user [_2] [_3] [_4] [_5]', |
&mt('Unacceptable domain [_1] for user [_2] [_3] [_4] [_5]', |
'"<b>'.$entries{$fields{'domain'}}.'</b>"', |
'"<b>'.$entries{$fields{'domain'}}.'</b>"', |
$fname,$mname,$lname,$gen)); |
$fname,$mname,$lname,$gen); |
next; |
next; |
} |
} |
my $username = $entries{$fields{'username'}}; |
my $username = $entries{$fields{'username'}}; |
my $userdomain = $entries{$fields{'domain'}}; |
my $userdomain = $entries{$fields{'domain'}}; |
Line 4357 sub upfile_drop_add {
|
Line 4357 sub upfile_drop_add {
|
$entries{$fields{'sec'}} =~ s/\W//g; |
$entries{$fields{'sec'}} =~ s/\W//g; |
my $item = $entries{$fields{'sec'}}; |
my $item = $entries{$fields{'sec'}}; |
if ($item eq "none" || $item eq 'all') { |
if ($item eq "none" || $item eq 'all') { |
$r->print('<br />'.&mt('[_1]: Unable to enroll user [_2] [_3] [_4] [_5] in a section named "[_6]" - this is a reserved word.','<b>'.$username.'</b>',$fname,$mname,$lname,$gen,$item)); |
$disallow{$counter} = |
|
&mt('[_1]: Unable to enroll user [_2] [_3] [_4] [_5] in a section named "[_6]" - this is a reserved word.', |
|
'<b>'.$username.'</b>',$fname,$mname,$lname,$gen,$item); |
next; |
next; |
} elsif (exists($curr_groups{$item})) { |
} elsif (exists($curr_groups{$item})) { |
$r->print('<br />'.&mt('[_1]: Unable to enroll user [_2] [_3] [_4] [_5] in a section named "[_6]" - this is a course group.','<b>'.$username.'</b>',$fname,$mname,$lname,$gen,$item).' '.&mt('Section names and group names must be distinct.')); |
$disallow{$counter} = |
|
&mt('[_1]: Unable to enroll user [_2] [_3] [_4] [_5] in a section named "[_6]" - this is a course group.', |
|
'<b>'.$username.'</b>',$fname,$mname,$lname,$gen,$item).' '. |
|
&mt('Section names and group names must be distinct.'); |
next; |
next; |
} else { |
} else { |
push(@secs,$item); |
push(@secs,$item); |
Line 4372 sub upfile_drop_add {
|
Line 4377 sub upfile_drop_add {
|
if (ref($userlist{$username.':'.$userdomain}) eq 'ARRAY') { |
if (ref($userlist{$username.':'.$userdomain}) eq 'ARRAY') { |
my $currsec = $userlist{$username.':'.$userdomain}[$secidx]; |
my $currsec = $userlist{$username.':'.$userdomain}[$secidx]; |
if ($currsec ne $env{'request.course.sec'}) { |
if ($currsec ne $env{'request.course.sec'}) { |
$r->print('<br />'.&mt('[_1]: Unable to enroll user [_2] [_3] [_4] [_5] in a section named "[_6]".','<b>'.$username.'</b>',$fname,$mname,$lname,$gen,$secs[0]).'<br />'); |
$disallow{$counter} = |
|
&mt('[_1]: Unable to enroll user [_2] [_3] [_4] [_5] in a section named "[_6]".', |
|
'<b>'.$username.'</b>',$fname,$mname,$lname,$gen,$secs[0]); |
if ($currsec eq '') { |
if ($currsec eq '') { |
$r->print(&mt('This user already has an active/future student role in the course, unaffiliated to any section.')); |
$disallow{$counter} .= |
|
&mt('This user already has an active/future student role in the course, unaffiliated to any section.'); |
|
|
} else { |
} else { |
$r->print(&mt('This user already has an active/future role in section "[_1]" of the course.',$currsec)); |
$disallow{$counter} .= |
|
&mt('This user already has an active/future role in section "[_1]" of the course.',$currsec); |
} |
} |
$r->print('<br />'.&mt('Although your current role has privileges to add students to section "[_1]", you do not have privileges to modify existing enrollments in other sections.',$secs[0]).'<br />'); |
$disallow{$counter} .= |
|
'<br />'. |
|
&mt('Although your current role has privileges to add students to section "[_1]", you do not have privileges to modify existing enrollments in other sections.', |
|
$secs[0]); |
next; |
next; |
} |
} |
} |
} |
Line 4431 sub upfile_drop_add {
|
Line 4443 sub upfile_drop_add {
|
} |
} |
if ($role eq '') { |
if ($role eq '') { |
my $rolestr = join(', ',@permitted_roles); |
my $rolestr = join(', ',@permitted_roles); |
$r->print('<br />' |
$disallow{$counter} = |
.&mt('[_1]: You do not have permission to add the requested role [_2] for the user.' |
&mt('[_1]: You do not have permission to add the requested role [_2] for the user.' |
,'<b>'.$entries{$fields{'username'}}.'</b>' |
,'<b>'.$entries{$fields{'username'}}.'</b>' |
,$entries{$fields{'role'}}) |
,$entries{$fields{'role'}}) |
.'<br />' |
.'<br />' |
.&mt('Allowable role(s) is/are: [_1].',$rolestr)."\n" |
.&mt('Allowable role(s) is/are: [_1].',$rolestr); |
); |
|
next; |
next; |
} |
} |
} |
} |
Line 4467 sub upfile_drop_add {
|
Line 4478 sub upfile_drop_add {
|
# check against rules |
# check against rules |
my $checkid = 0; |
my $checkid = 0; |
my $newuser = 0; |
my $newuser = 0; |
my (%rulematch,%inst_results,%idinst_results); |
|
my $uhome=&Apache::lonnet::homeserver($username,$userdomain); |
my $uhome=&Apache::lonnet::homeserver($username,$userdomain); |
if ($uhome eq 'no_host') { |
if ($uhome eq 'no_host') { |
if ($userdomain ne $newuserdom) { |
if ($userdomain ne $newuserdom) { |
if ($context eq 'course') { |
if ($context eq 'course') { |
$r->print('<br />'. |
$disallow{$counter} = |
&mt('[_1]: The domain specified ([_2]) is different to that of the course.', |
&mt('[_1]: The domain specified ([_2]) is different to that of the course.', |
'<b>'.$username.'</b>',$userdomain).'<br />'); |
'<b>'.$username.'</b>',$userdomain); |
} elsif ($context eq 'author') { |
} elsif ($context eq 'author') { |
$r->print(&mt('[_1]: The domain specified ([_2]) is different to that of the author.', |
$disallow{$counter} = |
'<b>'.$username.'</b>',$userdomain).'<br />'); |
&mt('[_1]: The domain specified ([_2]) is different to that of the author.', |
|
'<b>'.$username.'</b>',$userdomain); |
} else { |
} else { |
$r->print(&mt('[_1]: The domain specified ([_2]) is different to that of your current role.', |
$disallow{$counter} = |
'<b>'.$username.'</b>',$userdomain).'<br />'); |
&mt('[_1]: The domain specified ([_2]) is different to that of your current role.', |
|
'<b>'.$username.'</b>',$userdomain); |
} |
} |
$r->print(&mt('The user does not already exist, and you may not create a new user in a different domain.')); |
$disallow{$counter} .= |
|
&mt('The user does not already exist, and you may not create a new user in a different domain.'); |
next; |
next; |
|
} else { |
|
unless ($password || $env{'form.login'} eq 'loc') { |
|
$disallow{$counter} = |
|
&mt('[_1]: This is a new user but no default password was provided, and the authentication type requires one.', |
|
'<b>'.$username.'</b>'); |
|
next; |
|
} |
} |
} |
$checkid = 1; |
$checkid = 1; |
$newuser = 1; |
$newuser = 1; |
my $user = $username.':'.$newuserdom; |
$checkuname{$username.':'.$newuserdom} = { 'newuser' => 1, 'id' => 1 }; |
my $checkhash; |
|
my $checks = { 'username' => 1 }; |
|
$checkhash->{$username.':'.$newuserdom} = { 'newuser' => 1, }; |
|
&Apache::loncommon::user_rule_check($checkhash,$checks, |
|
\%alerts,\%rulematch,\%inst_results,\%curr_rules, |
|
\%got_rules); |
|
if (ref($alerts{'username'}) eq 'HASH') { |
|
if (ref($alerts{'username'}{$newuserdom}) eq 'HASH') { |
|
if ($alerts{'username'}{$newuserdom}{$username}) { |
|
$r->print('<br />'. |
|
&mt('[_1]: matches the username format at your institution, but is not known to your directory service.','<b>'.$username.'</b>').'<br />'. |
|
&mt('Consequently, the user was not created.')); |
|
next; |
|
} |
|
} |
|
} |
|
my $usertype = 'unofficial'; |
|
if (ref($rulematch{$user}) eq 'HASH') { |
|
if ($rulematch{$user}{'username'}) { |
|
$usertype = 'official'; |
|
} |
|
} |
|
unless ($cancreate{$usertype}) { |
|
my $showtype = $longtypes{$usertype}; |
|
$r->print('<br />'. |
|
&mt('[_1]: The user does not exist, and you are not permitted to create users of type: [_2].','<b>'.$username.'</b>',$showtype)); |
|
next; |
|
} |
|
} else { |
} else { |
if ($context eq 'course' || $context eq 'author') { |
if ($context eq 'course' || $context eq 'author') { |
if ($userdomain eq $domain ) { |
if ($userdomain eq $domain ) { |
Line 4548 sub upfile_drop_add {
|
Line 4540 sub upfile_drop_add {
|
} |
} |
} |
} |
} |
} |
|
if ($id) { |
|
$existinguser{$userdomain}{$username} = $id; |
|
} |
} |
} |
if ($id ne '') { |
$userinfo{$counter} = { |
if (!$newuser) { |
username => $username, |
my %idhash = &Apache::lonnet::idrget($userdomain,($username)); |
domain => $userdomain, |
if ($idhash{$username} ne $id) { |
fname => $fname, |
$checkid = 1; |
mname => $mname, |
|
lname => $lname, |
|
gen => $gen, |
|
email => $email, |
|
id => $id, |
|
password => $password, |
|
inststatus => $inststatus, |
|
role => $role, |
|
sections => \@secs, |
|
credits => $credits, |
|
newuser => $newuser, |
|
checkid => $checkid, |
|
}; |
|
} |
|
} |
|
} # end of foreach (@userdata) |
|
if ($counter > -1) { |
|
my $total = $counter + 1; |
|
my %prog_state = &Apache::lonhtmlcommon::Create_PrgWin($r,$total); |
|
my %checkids; |
|
if (keys(%existinguser)) { |
|
foreach my $dom (keys(%existinguser)) { |
|
if (ref($existinguser{$dom}) eq 'HASH') { |
|
my %idhash = &Apache::lonnet::idrget($dom,keys(%{$existinguser{$dom}})); |
|
foreach my $username (keys(%{$existinguser{$dom}})) { |
|
if ($idhash{$username} ne $existinguser{$dom}{$username}) { |
|
$checkids{$username.':'.$dom} = { 'id' => $existinguser{$dom}{$username} }; |
|
} |
|
} |
|
if (keys(%checkids)) { |
|
&Apache::loncommon::user_rule_check(\%checkids,{ 'id' => 1 }, |
|
\%alerts,\%rulematch, |
|
\%idinst_results,\%curr_rules, |
|
\%got_rules); |
|
} |
|
} |
|
} |
|
} |
|
if (keys(%checkuname)) { |
|
&Apache::loncommon::user_rule_check(\%checkuname,{ 'username' => 1 }, |
|
\%alerts,\%rulematch,\%inst_results, |
|
\%curr_rules,\%got_rules); |
|
} |
|
$r->print('<ul>'); |
|
for (my $i=0; $i<=$counter; $i++) { |
|
&Apache::lonhtmlcommon::Increment_PrgWin($r,\%prog_state); |
|
if ($disallow{$i}) { |
|
$r->print('<li>'.$disallow{$i}.'</li>'); |
|
} elsif (ref($userinfo{$i}) eq 'HASH') { |
|
my $password = $userinfo{$i}{'password'}; |
|
my $newuser = $userinfo{$i}{'newuser'}; |
|
my $checkid = $userinfo{$i}{'checkid'}; |
|
my $id = $userinfo{$i}{'id'}; |
|
my $role = $userinfo{$i}{'role'}; |
|
my @secs; |
|
if (ref($userinfo{$i}{'sections'}) eq 'ARRAY') { |
|
@secs = @{$userinfo{$i}{'sections'}}; |
|
} |
|
my $fname = $userinfo{$i}{'fname'}; |
|
my $mname = $userinfo{$i}{'mname'}; |
|
my $lname = $userinfo{$i}{'lname'}; |
|
my $gen = $userinfo{$i}{'gen'}; |
|
my $email = $userinfo{$i}{'email'}; |
|
my $inststatus = $userinfo{$i}{'inststatus'}; |
|
my $credits = $userinfo{$i}{'credits'}; |
|
my $username = $userinfo{$i}{'username'}; |
|
my $userdomain = $userinfo{$i}{'domain'}; |
|
my $user = $username.':'.$userdomain; |
|
if ($newuser) { |
|
if (ref($alerts{'username'}) eq 'HASH') { |
|
if (ref($alerts{'username'}{$userdomain}) eq 'HASH') { |
|
if ($alerts{'username'}{$userdomain}{$username}) { |
|
$r->print('<li>'. |
|
&mt('[_1]: matches the username format at your institution, but is not known to your directory service.','<b>'.$username.'</b>').'<br />'. |
|
&mt('Consequently, the user was not created.').'</li>'); |
|
next; |
|
} |
|
} |
|
} |
|
my $usertype = 'unofficial'; |
|
if (ref($rulematch{$user}) eq 'HASH') { |
|
if ($rulematch{$user}{'username'}) { |
|
$usertype = 'official'; |
} |
} |
} |
} |
if ($checkid) { |
unless ($cancreate{$usertype}) { |
my $checkhash; |
my $showtype = $longtypes{$usertype}; |
my $checks = { 'id' => 1 }; |
$r->print('<li>'. |
$checkhash->{$username.':'.$userdomain} = { 'newuser' => $newuser, |
&mt('[_1]: The user does not exist, and you are not permitted to create users of type: [_2].','<b>'.$username.'</b>',$showtype).'</li>'); |
'id' => $id }; |
next; |
&Apache::loncommon::user_rule_check($checkhash,$checks, |
} |
\%alerts,\%rulematch,\%idinst_results,\%curr_rules, |
} |
\%got_rules); |
if ($id ne '') { |
|
if (exists($checkids{$user})) { |
|
$checkid = 1; |
if (ref($alerts{'id'}) eq 'HASH') { |
if (ref($alerts{'id'}) eq 'HASH') { |
if (ref($alerts{'id'}{$userdomain}) eq 'HASH') { |
if (ref($alerts{'id'}{$userdomain}) eq 'HASH') { |
if ($alerts{'id'}{$userdomain}{$id}) { |
if ($alerts{'id'}{$userdomain}{$id}) { |
$r->print(&mt('[_1]: has a student/employee ID matching the format at your institution, but the ID is found by your directory service.', |
$r->print('<li>'. |
|
&mt('[_1]: has a student/employee ID matching the format at your institution, but the ID is found by your directory service.', |
'<b>'.$username.'</b>').'<br />'. |
'<b>'.$username.'</b>').'<br />'. |
&mt('Consequently, the user was not created.')); |
&mt('Consequently, the user was not created.').'</li>'); |
next; |
next; |
} |
} |
} |
} |
} |
} |
} |
} |
} |
} |
if ($password || $env{'form.login'} eq 'loc') { |
my $multiple = 0; |
my $multiple = 0; |
my ($userresult,$authresult,$roleresult,$idresult); |
my ($userresult,$authresult,$roleresult,$idresult); |
my (%userres,%authres,%roleres,%idres); |
my (%userres,%authres,%roleres,%idres); |
my $singlesec = ''; |
my $singlesec = ''; |
if ($role eq 'st') { |
if ($role eq 'st') { |
my $sec; |
my $sec; |
if (ref($userinfo{$i}{'sections'}) eq 'ARRAY') { |
if (@secs > 0) { |
if (@secs > 0) { |
$sec = $secs[0]; |
$sec = $secs[0]; |
} |
} |
&modifystudent($userdomain,$username,$cid,$sec, |
} |
$desiredhost,$context); |
&modifystudent($userdomain,$username,$cid,$sec, |
$roleresult = |
$desiredhost,$context); |
&Apache::lonnet::modifystudent |
$roleresult = |
($userdomain,$username,$id,$amode,$password, |
&Apache::lonnet::modifystudent |
$fname,$mname,$lname,$gen,$sec,$enddate, |
($userdomain,$username,$id,$amode,$password, |
$startdate,$env{'form.forceid'}, |
$fname,$mname,$lname,$gen,$sec,$enddate, |
$desiredhost,$email,'manual','',$cid, |
$startdate,$env{'form.forceid'}, |
'',$context,$inststatus,$credits); |
$desiredhost,$email,'manual','',$cid, |
$userresult = $roleresult; |
'',$context,$inststatus,$credits); |
} else { |
$userresult = $roleresult; |
if ($role ne '') { |
} else { |
if ($context eq 'course' || $setting eq 'course') { |
if ($role ne '') { |
if ($customroles{$role}) { |
if ($context eq 'course' || $setting eq 'course') { |
$role = 'cr_'.$env{'user.domain'}.'_'. |
if ($customroles{$role}) { |
$env{'user.name'}.'_'.$role; |
$role = 'cr_'.$env{'user.domain'}.'_'. |
} |
$env{'user.name'}.'_'.$role; |
if (($role ne 'cc') && ($role ne 'co')) { |
} |
if (@secs > 1) { |
if (($role ne 'cc') && ($role ne 'co')) { |
$multiple = 1; |
if (@secs > 1) { |
foreach my $sec (@secs) { |
$multiple = 1; |
($userres{$sec},$authres{$sec},$roleres{$sec},$idres{$sec}) = |
foreach my $sec (@secs) { |
&modifyuserrole($context,$setting, |
($userres{$sec},$authres{$sec},$roleres{$sec},$idres{$sec}) = |
$changeauth,$cid,$userdomain,$username, |
&modifyuserrole($context,$setting, |
$id,$amode,$password,$fname, |
$changeauth,$cid,$userdomain,$username, |
$mname,$lname,$gen,$sec, |
$id,$amode,$password,$fname, |
$env{'form.forceid'},$desiredhost, |
$mname,$lname,$gen,$sec, |
$email,$role,$enddate, |
$env{'form.forceid'},$desiredhost, |
$startdate,$checkid,$inststatus); |
$email,$role,$enddate, |
} |
$startdate,$checkid,$inststatus); |
} elsif (@secs > 0) { |
|
$singlesec = $secs[0]; |
|
} |
} |
|
} elsif (@secs > 0) { |
|
$singlesec = $secs[0]; |
} |
} |
} |
} |
} |
} |
Line 4633 sub upfile_drop_add {
|
Line 4713 sub upfile_drop_add {
|
$checkid,$inststatus); |
$checkid,$inststatus); |
} |
} |
} |
} |
if ($multiple) { |
} |
foreach my $sec (sort(keys(%userres))) { |
if ($multiple) { |
$flushc = |
foreach my $sec (sort(keys(%userres))) { |
|
$flushc = |
&user_change_result($r,$userres{$sec},$authres{$sec}, |
&user_change_result($r,$userres{$sec},$authres{$sec}, |
$roleres{$sec},$idres{$sec},\%counts,$flushc, |
$roleres{$sec},$idres{$sec},\%counts,$flushc, |
$username,$userdomain,\%userchg); |
$username,$userdomain,\%userchg); |
|
|
} |
|
} else { |
|
$flushc = |
|
&user_change_result($r,$userresult,$authresult, |
|
$roleresult,$idresult,\%counts,$flushc, |
|
$username,$userdomain,\%userchg); |
|
} |
} |
} else { |
} else { |
if ($context eq 'course') { |
$flushc = |
$r->print('<br />'. |
&user_change_result($r,$userresult,$authresult, |
&mt('[_1]: Unable to enroll. No password specified.','<b>'.$username.'</b>') |
$roleresult,$idresult,\%counts,$flushc, |
); |
$username,$userdomain,\%userchg); |
} elsif ($context eq 'author') { |
|
$r->print('<br />'. |
|
&mt('[_1]: Unable to add co-author. No password specified.','<b>'.$username.'</b>') |
|
); |
|
} else { |
|
$r->print('<br />'. |
|
&mt('[_1]: Unable to add user. No password specified.','<b>'.$username.'</b>') |
|
); |
|
} |
|
} |
} |
} |
} |
} |
$r->print('</ul>'); |
} # end of foreach (@userdata) |
} # end of loop |
|
&Apache::lonhtmlcommon::Close_PrgWin($r,\%prog_state); |
|
} |
# Flush the course logs so reverse user roles immediately updated |
# Flush the course logs so reverse user roles immediately updated |
$r->register_cleanup(\&Apache::lonnet::flushcourselogs); |
$r->register_cleanup(\&Apache::lonnet::flushcourselogs); |
$r->print("</p>\n<p>\n".&mt('Processed [quant,_1,user].',$counts{'user'}). |
$r->print("</p>\n<p>\n".&mt('Processed [quant,_1,user].',$counts{'user'}). |
Line 4757 sub user_change_result {
|
Line 4825 sub user_change_result {
|
my ($r,$userresult,$authresult,$roleresult,$idresult,$counts,$flushc, |
my ($r,$userresult,$authresult,$roleresult,$idresult,$counts,$flushc, |
$username,$userdomain,$userchg) = @_; |
$username,$userdomain,$userchg) = @_; |
my $okresult = 0; |
my $okresult = 0; |
|
my @status; |
if ($userresult ne 'ok') { |
if ($userresult ne 'ok') { |
if ($userresult =~ /^error:(.+)$/) { |
if ($userresult =~ /^error:(.+)$/) { |
my $error = $1; |
my $error = $1; |
$r->print('<br />'. |
push(@status, |
&mt('[_1]: Unable to add/modify: [_2]','<b>'.$username.':'.$userdomain.'</b>',$error)); |
&mt('[_1]: Unable to add/modify: [_2]','<b>'.$username.':'.$userdomain.'</b>',$error)); |
} |
} |
} else { |
} else { |
$counts->{'user'} ++; |
$counts->{'user'} ++; |
Line 4770 sub user_change_result {
|
Line 4839 sub user_change_result {
|
if ($authresult ne 'ok') { |
if ($authresult ne 'ok') { |
if ($authresult =~ /^error:(.+)$/) { |
if ($authresult =~ /^error:(.+)$/) { |
my $error = $1; |
my $error = $1; |
$r->print('<br />'. |
push(@status, |
&mt('[_1]: Unable to modify authentication: [_2]','<b>'.$username.':'.$userdomain.'</b>',$error)); |
&mt('[_1]: Unable to modify authentication: [_2]','<b>'.$username.':'.$userdomain.'</b>',$error)); |
} |
} |
} else { |
} else { |
$counts->{'auth'} ++; |
$counts->{'auth'} ++; |
Line 4780 sub user_change_result {
|
Line 4849 sub user_change_result {
|
if ($roleresult ne 'ok') { |
if ($roleresult ne 'ok') { |
if ($roleresult =~ /^error:(.+)$/) { |
if ($roleresult =~ /^error:(.+)$/) { |
my $error = $1; |
my $error = $1; |
$r->print('<br />'. |
push(@status, |
&mt('[_1]: Unable to add role: [_2]','<b>'.$username.':'.$userdomain.'</b>',$error)); |
&mt('[_1]: Unable to add role: [_2]','<b>'.$username.':'.$userdomain.'</b>',$error)); |
} |
} |
} else { |
} else { |
$counts->{'role'} ++; |
$counts->{'role'} ++; |
Line 4790 sub user_change_result {
|
Line 4859 sub user_change_result {
|
if ($okresult) { |
if ($okresult) { |
$flushc++; |
$flushc++; |
$userchg->{$username.':'.$userdomain}=1; |
$userchg->{$username.':'.$userdomain}=1; |
$r->print('. '); |
|
if ($flushc>15) { |
if ($flushc>15) { |
$r->rflush; |
$r->rflush; |
$flushc=0; |
$flushc=0; |
} |
} |
} |
} |
if ($idresult) { |
if ($idresult) { |
$r->print($idresult); |
push(@status,$idresult); |
|
} |
|
if (@status) { |
|
$r->print('<li>'.join('<br />',@status).'</li>'); |
} |
} |
return $flushc; |
return $flushc; |
} |
} |