version 1.435, 2017/03/19 18:06:23
|
version 1.451, 2019/04/29 22:19:24
|
Line 78 my $authformkrb;
|
Line 78 my $authformkrb;
|
my $authformint; |
my $authformint; |
my $authformfsys; |
my $authformfsys; |
my $authformloc; |
my $authformloc; |
|
my $authformlti; |
|
|
sub initialize_authen_forms { |
sub initialize_authen_forms { |
my ($dom,$formname,$curr_authtype,$mode) = @_; |
my ($dom,$formname,$curr_authtype,$mode) = @_; |
Line 88 sub initialize_authen_forms {
|
Line 89 sub initialize_authen_forms {
|
domain => $dom, |
domain => $dom, |
); |
); |
my %abv_auth = &auth_abbrev(); |
my %abv_auth = &auth_abbrev(); |
if ($curr_authtype =~ /^(krb4|krb5|internal|localauth|unix):(.*)$/) { |
if ($curr_authtype =~ /^(krb4|krb5|internal|localauth|unix|lti):(.*)$/) { |
my $long_auth = $1; |
my $long_auth = $1; |
my $curr_autharg = $2; |
my $curr_autharg = $2; |
my %abv_auth = &auth_abbrev(); |
my %abv_auth = &auth_abbrev(); |
Line 107 sub initialize_authen_forms {
|
Line 108 sub initialize_authen_forms {
|
$authformint = &Apache::loncommon::authform_internal(%param); |
$authformint = &Apache::loncommon::authform_internal(%param); |
$authformfsys = &Apache::loncommon::authform_filesystem(%param); |
$authformfsys = &Apache::loncommon::authform_filesystem(%param); |
$authformloc = &Apache::loncommon::authform_local(%param); |
$authformloc = &Apache::loncommon::authform_local(%param); |
|
$authformlti = &Apache::loncommon::authform_lti(%param); |
} |
} |
|
|
sub auth_abbrev { |
sub auth_abbrev { |
Line 116 sub auth_abbrev {
|
Line 118 sub auth_abbrev {
|
internal => 'int', |
internal => 'int', |
localauth => 'loc', |
localauth => 'loc', |
unix => 'fsys', |
unix => 'fsys', |
|
lti => 'lti', |
); |
); |
return %abv_auth; |
return %abv_auth; |
} |
} |
Line 253 sub build_tools_display {
|
Line 256 sub build_tools_display {
|
'community' => 'Can request creation of communities', |
'community' => 'Can request creation of communities', |
'textbook' => 'Can request creation of textbook courses', |
'textbook' => 'Can request creation of textbook courses', |
'placement' => 'Can request creation of placement tests', |
'placement' => 'Can request creation of placement tests', |
|
'lti' => 'Can request creation of LTI courses', |
'requestauthor' => 'Can request author space', |
'requestauthor' => 'Can request author space', |
); |
); |
if ($context eq 'requestcourses') { |
if ($context eq 'requestcourses') { |
%userenv = &Apache::lonnet::userenvironment($ccdomain,$ccuname, |
%userenv = &Apache::lonnet::userenvironment($ccdomain,$ccuname, |
'requestcourses.official','requestcourses.unofficial', |
'requestcourses.official','requestcourses.unofficial', |
'requestcourses.community','requestcourses.textbook', |
'requestcourses.community','requestcourses.textbook', |
'requestcourses.placement'); |
'requestcourses.placement','requestcourses.lti'); |
@usertools = ('official','unofficial','community','textbook','placement'); |
@usertools = ('official','unofficial','community','textbook','placement','lti'); |
@options =('norequest','approval','autolimit','validate'); |
@options =('norequest','approval','autolimit','validate'); |
%validations = &Apache::lonnet::auto_courserequest_checks($ccdomain); |
%validations = &Apache::lonnet::auto_courserequest_checks($ccdomain); |
%reqtitles = &courserequest_titles(); |
%reqtitles = &courserequest_titles(); |
Line 543 sub courserequest_titles {
|
Line 547 sub courserequest_titles {
|
community => 'Communities', |
community => 'Communities', |
textbook => 'Textbook', |
textbook => 'Textbook', |
placement => 'Placement Tests', |
placement => 'Placement Tests', |
|
lti => 'LTI Provider', |
norequest => 'Not allowed', |
norequest => 'Not allowed', |
approval => 'Approval by Dom. Coord.', |
approval => 'Approval by Dom. Coord.', |
validate => 'With validation', |
validate => 'With validation', |
Line 647 sub curr_requestauthor {
|
Line 652 sub curr_requestauthor {
|
# =================================================================== Phase one |
# =================================================================== Phase one |
|
|
sub print_username_entry_form { |
sub print_username_entry_form { |
my ($r,$context,$response,$srch,$forcenewuser,$crstype,$brcrum) = @_; |
my ($r,$context,$response,$srch,$forcenewuser,$crstype,$brcrum, |
|
$permission) = @_; |
my $defdom=$env{'request.role.domain'}; |
my $defdom=$env{'request.role.domain'}; |
my $formtoset = 'crtuser'; |
my $formtoset = 'crtuser'; |
if (exists($env{'form.startrolename'})) { |
if (exists($env{'form.startrolename'})) { |
Line 673 sub print_username_entry_form {
|
Line 679 sub print_username_entry_form {
|
} |
} |
my $helpitem = 'Course_Change_Privileges'; |
my $helpitem = 'Course_Change_Privileges'; |
if ($env{'form.action'} eq 'custom') { |
if ($env{'form.action'} eq 'custom') { |
$helpitem = 'Course_Editing_Custom_Roles'; |
if ($context eq 'course') { |
|
$helpitem = 'Course_Editing_Custom_Roles'; |
|
} elsif ($context eq 'domain') { |
|
$helpitem = 'Domain_Editing_Custom_Roles'; |
|
} |
} elsif ($env{'form.action'} eq 'singlestudent') { |
} elsif ($env{'form.action'} eq 'singlestudent') { |
$helpitem = 'Course_Add_Student'; |
$helpitem = 'Course_Add_Student'; |
} elsif ($env{'form.action'} eq 'accesslogs') { |
} elsif ($env{'form.action'} eq 'accesslogs') { |
$helpitem = 'Domain_User_Access_Logs'; |
$helpitem = 'Domain_User_Access_Logs'; |
|
} elsif ($context eq 'author') { |
|
$helpitem = 'Author_Change_Privileges'; |
|
} elsif ($context eq 'domain') { |
|
if ($permission->{'cusr'}) { |
|
$helpitem = 'Domain_Change_Privileges'; |
|
} elsif ($permission->{'view'}) { |
|
$helpitem = 'Domain_View_Privileges'; |
|
} else { |
|
undef($helpitem); |
|
} |
} |
} |
my %breadcrumb_text = &singleuser_breadcrumb($crstype,$context,$defdom); |
my %breadcrumb_text = &singleuser_breadcrumb($crstype,$context,$defdom); |
if ($env{'form.action'} eq 'custom') { |
if ($env{'form.action'} eq 'custom') { |
Line 755 sub print_username_entry_form {
|
Line 775 sub print_username_entry_form {
|
} |
} |
} else { |
} else { |
my $actiontext = $lt{'srad'}; |
my $actiontext = $lt{'srad'}; |
|
my $fixeddom; |
if ($env{'form.action'} eq 'singlestudent') { |
if ($env{'form.action'} eq 'singlestudent') { |
if ($crstype eq 'Community') { |
if ($crstype eq 'Community') { |
$actiontext = $lt{'srme'}; |
$actiontext = $lt{'srme'}; |
Line 763 sub print_username_entry_form {
|
Line 784 sub print_username_entry_form {
|
} |
} |
} elsif ($env{'form.action'} eq 'accesslogs') { |
} elsif ($env{'form.action'} eq 'accesslogs') { |
$actiontext = $lt{'srva'}; |
$actiontext = $lt{'srva'}; |
|
$fixeddom = 1; |
} elsif (($env{'form.action'} eq 'singleuser') && |
} elsif (($env{'form.action'} eq 'singleuser') && |
($context eq 'domain') && (!&Apache::lonnet::allowed('mau',$defdom))) { |
($context eq 'domain') && (!&Apache::lonnet::allowed('mau',$defdom))) { |
$actiontext = $lt{'srvu'}; |
$actiontext = $lt{'srvu'}; |
|
$fixeddom = 1; |
} |
} |
$r->print("<h3>$actiontext</h3>"); |
$r->print("<h3>$actiontext</h3>"); |
if ($env{'form.origform'} ne 'crtusername') { |
if ($env{'form.origform'} ne 'crtusername') { |
Line 774 sub print_username_entry_form {
|
Line 797 sub print_username_entry_form {
|
'<br clear="all" />'); |
'<br clear="all" />'); |
} |
} |
} |
} |
$r->print(&entry_form($defdom,$srch,$forcenewuser,$context,$response,$crstype,1)); |
$r->print(&entry_form($defdom,$srch,$forcenewuser,$context,$response,$crstype,$fixeddom)); |
} |
} |
} |
} |
|
|
Line 833 sub entry_form {
|
Line 856 sub entry_form {
|
$inexact = 1; |
$inexact = 1; |
} |
} |
} |
} |
my $cancreate = |
my ($cancreate,$noinstd); |
&Apache::lonuserutils::can_create_user($dom,$context,$usertype); |
if ($env{'form.action'} eq 'accesslogs') { |
|
$noinstd = 1; |
|
} else { |
|
$cancreate = |
|
&Apache::lonuserutils::can_create_user($dom,$context,$usertype); |
|
} |
my ($userpicker,$cansearch) = |
my ($userpicker,$cansearch) = |
&Apache::loncommon::user_picker($dom,$srch,$forcenewuser, |
&Apache::loncommon::user_picker($dom,$srch,$forcenewuser, |
'document.crtuser',$cancreate,$usertype,$context,$fixeddom); |
'document.crtuser',$cancreate,$usertype,$context,$fixeddom,$noinstd); |
my $srchbutton = &mt('Search'); |
my $srchbutton = &mt('Search'); |
if ($env{'form.action'} eq 'singlestudent') { |
if ($env{'form.action'} eq 'singlestudent') { |
$srchbutton = &mt('Search and Enroll'); |
$srchbutton = &mt('Search and Enroll'); |
Line 863 ENDBLOCK
|
Line 891 ENDBLOCK
|
(!(($env{'form.action'} eq 'singleuser') && ($context eq 'domain') && |
(!(($env{'form.action'} eq 'singleuser') && ($context eq 'domain') && |
(!&Apache::lonnet::allowed('mau',$env{'request.role.domain'}))))) { |
(!&Apache::lonnet::allowed('mau',$env{'request.role.domain'}))))) { |
my $defdom=$env{'request.role.domain'}; |
my $defdom=$env{'request.role.domain'}; |
my $domform = &Apache::loncommon::select_dom_form($defdom,'srchdomain'); |
my ($trusted,$untrusted); |
|
if ($context eq 'course') { |
|
($trusted,$untrusted) = &Apache::lonnet::trusted_domains('enroll',$defdom); |
|
} elsif ($context eq 'author') { |
|
($trusted,$untrusted) = &Apache::lonnet::trusted_domains('othcoau',$defdom); |
|
} elsif ($context eq 'domain') { |
|
($trusted,$untrusted) = &Apache::lonnet::trusted_domains('domroles',$defdom); |
|
} |
|
my $domform = &Apache::loncommon::select_dom_form($defdom,'srchdomain',undef,undef,undef,$trusted,$untrusted); |
my %lt=&Apache::lonlocal::texthash( |
my %lt=&Apache::lonlocal::texthash( |
'enro' => 'Enroll one student', |
'enro' => 'Enroll one student', |
'enrm' => 'Enroll one member', |
'enrm' => 'Enroll one member', |
Line 999 ENDSCRIPT
|
Line 1035 ENDSCRIPT
|
$helpitem = 'Course_Change_Privileges'; |
$helpitem = 'Course_Change_Privileges'; |
} elsif ($env{'form.action'} eq 'singlestudent') { |
} elsif ($env{'form.action'} eq 'singlestudent') { |
$helpitem = 'Course_Add_Student'; |
$helpitem = 'Course_Add_Student'; |
|
} elsif ($context eq 'author') { |
|
$helpitem = 'Author_Change_Privileges'; |
|
} elsif ($context eq 'domain') { |
|
$helpitem = 'Domain_Change_Privileges'; |
} |
} |
push (@{$brcrum}, |
push (@{$brcrum}, |
{href => "javascript:backPage(document.usersrchform,'','')", |
{href => "javascript:backPage(document.usersrchform,'','')", |
Line 1044 ENDSCRIPT
|
Line 1084 ENDSCRIPT
|
$r->print('</h3>'); |
$r->print('</h3>'); |
} elsif ($env{'form.action'} eq 'accesslogs') { |
} elsif ($env{'form.action'} eq 'accesslogs') { |
$r->print("<b>$lt{'srcva'}</b><br />"); |
$r->print("<b>$lt{'srcva'}</b><br />"); |
$r->print(&entry_form($srch->{'srchdomain'},$srch,undef,'accesslogs',undef,undef,1)); |
$r->print(&entry_form($srch->{'srchdomain'},$srch,undef,$context,undef,undef,1)); |
$r->print('<h3>'.$lt{'vacsel'}.'</h3>'); |
$r->print('<h3>'.$lt{'vacsel'}.'</h3>'); |
} |
} |
} |
} |
Line 1125 sub print_user_modification_page {
|
Line 1165 sub print_user_modification_page {
|
if (($ccuname eq '') || ($ccdomain eq '')) { |
if (($ccuname eq '') || ($ccdomain eq '')) { |
my $usermsg = &mt('No username and/or domain provided.'); |
my $usermsg = &mt('No username and/or domain provided.'); |
$env{'form.phase'} = ''; |
$env{'form.phase'} = ''; |
&print_username_entry_form($r,$context,$usermsg,'','',$crstype,$brcrum); |
&print_username_entry_form($r,$context,$usermsg,'','',$crstype,$brcrum, |
|
$permission); |
return; |
return; |
} |
} |
my ($form,$formname); |
my ($form,$formname); |
Line 1174 sub print_user_modification_page {
|
Line 1215 sub print_user_modification_page {
|
} |
} |
$response .= '</p><br />'; |
$response .= '</p><br />'; |
$env{'form.phase'} = ''; |
$env{'form.phase'} = ''; |
&print_username_entry_form($r,$context,$response,undef,undef,$crstype,$brcrum); |
&print_username_entry_form($r,$context,$response,undef,undef,$crstype,$brcrum, |
|
$permission); |
return; |
return; |
} |
} |
$newuser = 1; |
$newuser = 1; |
Line 1198 sub print_user_modification_page {
|
Line 1240 sub print_user_modification_page {
|
'username'); |
'username'); |
} |
} |
$env{'form.phase'} = ''; |
$env{'form.phase'} = ''; |
&print_username_entry_form($r,$context,$userchkmsg,undef,undef,$crstype,$brcrum); |
&print_username_entry_form($r,$context,$userchkmsg,undef,undef,$crstype,$brcrum, |
|
$permission); |
return; |
return; |
} |
} |
} |
} |
Line 1223 sub print_user_modification_page {
|
Line 1266 sub print_user_modification_page {
|
my $helpitem = 'Course_Change_Privileges'; |
my $helpitem = 'Course_Change_Privileges'; |
if ($env{'form.action'} eq 'singlestudent') { |
if ($env{'form.action'} eq 'singlestudent') { |
$helpitem = 'Course_Add_Student'; |
$helpitem = 'Course_Add_Student'; |
|
} elsif ($context eq 'author') { |
|
$helpitem = 'Author_Change_Privileges'; |
|
} elsif ($context eq 'domain') { |
|
$helpitem = 'Domain_Change_Privileges'; |
} |
} |
push (@{$brcrum}, |
push (@{$brcrum}, |
{href => "javascript:backPage($form)", |
{href => "javascript:backPage($form)", |
Line 1437 ENDAUTH
|
Line 1484 ENDAUTH
|
$inst_results{$ccuname.':'.$ccdomain})); |
$inst_results{$ccuname.':'.$ccdomain})); |
if ((&Apache::lonnet::allowed('ccc',$env{'request.role.domain'})) || |
if ((&Apache::lonnet::allowed('ccc',$env{'request.role.domain'})) || |
(&Apache::lonnet::allowed('udp',$env{'request.role.domain'}))) { |
(&Apache::lonnet::allowed('udp',$env{'request.role.domain'}))) { |
$r->print('<br /><h3>'.&mt('User Can Request Creation of Courses/Communities in this Domain?').'</h3>'. |
$r->print('<br /><h3>'.&mt('User Can Request Creation of Courses/Communities in this Domain?').'</h3>'."\n"); |
&Apache::loncommon::start_data_table()); |
if (($env{'request.role.domain'} eq $ccdomain) || |
if ($env{'request.role.domain'} eq $ccdomain) { |
(&Apache::lonnet::will_trust('reqcrs',$ccdomain,$env{'request.role.domain'}))) { |
$r->print(&build_tools_display($ccuname,$ccdomain,'requestcourses')); |
$r->print(&Apache::loncommon::start_data_table()); |
|
if ($env{'request.role.domain'} eq $ccdomain) { |
|
$r->print(&build_tools_display($ccuname,$ccdomain,'requestcourses')); |
|
} else { |
|
$r->print(&coursereq_externaluser($ccuname,$ccdomain, |
|
$env{'request.role.domain'})); |
|
} |
|
$r->print(&Apache::loncommon::end_data_table()); |
} else { |
} else { |
$r->print(&coursereq_externaluser($ccuname,$ccdomain, |
$r->print(&mt('Domain configuration for this domain prohibits course creation by users from domain: "[_1]"', |
$env{'request.role.domain'})); |
&Apache::lonnet::domain($ccdomain,'description'))); |
} |
} |
$r->print(&Apache::loncommon::end_data_table()); |
|
} |
} |
$r->print('</div>'); |
$r->print('</div>'); |
my @order = ('auth','quota','tools','requestauthor'); |
my @order = ('auth','quota','tools','requestauthor'); |
Line 1458 ENDAUTH
|
Line 1511 ENDAUTH
|
($env{'request.role.domain'} eq $ccdomain)) { |
($env{'request.role.domain'} eq $ccdomain)) { |
$user_text{'requestauthor'} = &domainrole_req($ccuname,$ccdomain); |
$user_text{'requestauthor'} = &domainrole_req($ccuname,$ccdomain); |
} |
} |
$user_text{'auth'} = &user_authentication($ccuname,$ccdomain,$formname); |
$user_text{'auth'} = &user_authentication($ccuname,$ccdomain,$formname,$crstype,$permission); |
if ((&Apache::lonnet::allowed('mpq',$ccdomain)) || |
if ((&Apache::lonnet::allowed('mpq',$ccdomain)) || |
(&Apache::lonnet::allowed('mut',$ccdomain)) || |
(&Apache::lonnet::allowed('mut',$ccdomain)) || |
(&Apache::lonnet::allowed('udp',$ccdomain))) { |
(&Apache::lonnet::allowed('udp',$ccdomain))) { |
Line 2101 sub new_domain_roles {
|
Line 2154 sub new_domain_roles {
|
'<th>'.&mt('Start').'</th><th>'.&mt('End').'</th>'. |
'<th>'.&mt('Start').'</th><th>'.&mt('End').'</th>'. |
&Apache::loncommon::end_data_table_header_row(); |
&Apache::loncommon::end_data_table_header_row(); |
my @allroles = &Apache::lonuserutils::roles_by_context('domain'); |
my @allroles = &Apache::lonuserutils::roles_by_context('domain'); |
|
my $uprimary = &Apache::lonnet::domain($env{'request.role.domain'},'primary'); |
|
my $uintdom = &Apache::lonnet::internet_dom($uprimary); |
foreach my $thisdomain (sort(&Apache::lonnet::all_domains())) { |
foreach my $thisdomain (sort(&Apache::lonnet::all_domains())) { |
foreach my $role (@allroles) { |
foreach my $role (@allroles) { |
next if ($role eq 'ad'); |
next if ($role eq 'ad'); |
next if (($role eq 'au') && ($ccdomain ne $thisdomain)); |
next if (($role eq 'au') && ($ccdomain ne $thisdomain)); |
if (&Apache::lonnet::allowed('c'.$role,$thisdomain)) { |
if (&Apache::lonnet::allowed('c'.$role,$thisdomain)) { |
|
if ($role eq 'dc') { |
|
unless ($thisdomain eq $env{'request.role.domain'}) { |
|
my $domprim = &Apache::lonnet::domain($thisdomain,'primary'); |
|
my $intdom = &Apache::lonnet::internet_dom($domprim); |
|
next unless ($uintdom eq $intdom); |
|
} |
|
} |
my $plrole=&Apache::lonnet::plaintext($role); |
my $plrole=&Apache::lonnet::plaintext($role); |
my %lt=&Apache::lonlocal::texthash( |
my %lt=&Apache::lonlocal::texthash( |
'ssd' => "Set Start Date", |
'ssd' => "Set Start Date", |
Line 2136 sub new_domain_roles {
|
Line 2198 sub new_domain_roles {
|
} |
} |
|
|
sub user_authentication { |
sub user_authentication { |
my ($ccuname,$ccdomain,$formname) = @_; |
my ($ccuname,$ccdomain,$formname,$crstype,$permission) = @_; |
my $currentauth=&Apache::lonnet::queryauthenticate($ccuname,$ccdomain); |
my $currentauth=&Apache::lonnet::queryauthenticate($ccuname,$ccdomain); |
my $outcome; |
my $outcome; |
my %lt=&Apache::lonlocal::texthash( |
my %lt=&Apache::lonlocal::texthash( |
Line 2147 sub user_authentication {
|
Line 2209 sub user_authentication {
|
'ld' => "Login Data" |
'ld' => "Login Data" |
); |
); |
# Check for a bad authentication type |
# Check for a bad authentication type |
if ($currentauth !~ /^(krb4|krb5|unix|internal|localauth):/) { |
if ($currentauth !~ /^(krb4|krb5|unix|internal|localauth|lti):/) { |
# bad authentication scheme |
# bad authentication scheme |
if (&Apache::lonnet::allowed('mau',$ccdomain)) { |
if (&Apache::lonnet::allowed('mau',$ccdomain)) { |
&initialize_authen_forms($ccdomain,$formname); |
&initialize_authen_forms($ccdomain,$formname); |
Line 2209 ENDBADAUTH
|
Line 2271 ENDBADAUTH
|
} |
} |
$outcome .= &Apache::loncommon::end_data_table(); |
$outcome .= &Apache::loncommon::end_data_table(); |
} else { |
} else { |
|
if (($currentauth =~ /^internal:/) && |
|
(&Apache::lonuserutils::can_change_internalpass($ccuname,$ccdomain,$crstype,$permission))) { |
|
$outcome = <<"ENDJS"; |
|
<script type="text/javascript"> |
|
// <![CDATA[ |
|
function togglePwd(form) { |
|
if (form.newintpwd.length) { |
|
if (document.getElementById('LC_ownersetpwd')) { |
|
for (var i=0; i<form.newintpwd.length; i++) { |
|
if (form.newintpwd[i].checked) { |
|
if (form.newintpwd[i].value == 1) { |
|
document.getElementById('LC_ownersetpwd').style.display = 'inline-block'; |
|
} else { |
|
document.getElementById('LC_ownersetpwd').style.display = 'none'; |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
// ]]> |
|
</script> |
|
ENDJS |
|
|
|
$outcome .= '<h3>'.$lt{'ld'}.'</h3>'. |
|
&Apache::loncommon::start_data_table(). |
|
&Apache::loncommon::start_data_table_row(). |
|
'<td>'.&mt('Internally authenticated').'<br />'.&mt("Change user's password?"). |
|
'<label><input type="radio" name="newintpwd" value="0" checked="checked" onclick="togglePwd(this.form);" />'. |
|
&mt('No').'</label>'.(' 'x2). |
|
'<label><input type="radio" name="newintpwd" value="1" onclick="togglePwd(this.form);" />'.&mt('Yes').'</label>'. |
|
'<div id="LC_ownersetpwd" style="display:none">'. |
|
' '.&mt('Password').' <input type="password" size="15" name="intarg" value="" />'. |
|
'<label><input type="checkbox" name="visible" onclick="if (this.checked) { this.form.intarg.type='."'text'".' } else { this.form.intarg.type='."'password'".' }" />'.&mt('Visible input').'</label></div></td>'. |
|
&Apache::loncommon::end_data_table_row(). |
|
&Apache::loncommon::end_data_table(); |
|
} |
if (&Apache::lonnet::allowed('udp',$ccdomain)) { |
if (&Apache::lonnet::allowed('udp',$ccdomain)) { |
# Current user has rights to view domain preferences for user's domain |
# Current user has rights to view domain preferences for user's domain |
my $result; |
my $result; |
Line 2226 ENDBADAUTH
|
Line 2325 ENDBADAUTH
|
$result = &mt('Currently using local (institutional) authentication.'); |
$result = &mt('Currently using local (institutional) authentication.'); |
} elsif ($currentauth =~ /^unix:/) { |
} elsif ($currentauth =~ /^unix:/) { |
$result = &mt('Currently Filesystem Authenticated.'); |
$result = &mt('Currently Filesystem Authenticated.'); |
|
} elsif ($currentauth =~ /^lti:/) { |
|
$result = &mt('Currently LTI authenticated.'); |
} |
} |
$outcome = '<h3>'.$lt{'ld'}.'</h3>'. |
$outcome = '<h3>'.$lt{'ld'}.'</h3>'. |
&Apache::loncommon::start_data_table(). |
&Apache::loncommon::start_data_table(). |
Line 2264 sub modify_login_block {
|
Line 2365 sub modify_login_block {
|
if ($can_assign{'loc'}) { |
if ($can_assign{'loc'}) { |
push(@authform_others,$authformloc); |
push(@authform_others,$authformloc); |
} |
} |
|
if ($can_assign{'lti'}) { |
|
push(@authform_others,$authformlti); |
|
} |
if (($can_assign{'krb4'}) || ($can_assign{'krb5'})) { |
if (($can_assign{'krb4'}) || ($can_assign{'krb5'})) { |
$show_override_msg = 1; |
$show_override_msg = 1; |
} |
} |
Line 2275 sub modify_login_block {
|
Line 2379 sub modify_login_block {
|
if ($can_assign{'loc'}) { |
if ($can_assign{'loc'}) { |
push(@authform_others,$authformloc); |
push(@authform_others,$authformloc); |
} |
} |
|
if ($can_assign{'lti'}) { |
|
push(@authform_others,$authformlti); |
|
} |
if ($can_assign{'int'}) { |
if ($can_assign{'int'}) { |
$show_override_msg = 1; |
$show_override_msg = 1; |
} |
} |
Line 2289 sub modify_login_block {
|
Line 2396 sub modify_login_block {
|
if ($can_assign{'loc'}) { |
if ($can_assign{'loc'}) { |
push(@authform_others,$authformloc); |
push(@authform_others,$authformloc); |
} |
} |
|
if ($can_assign{'lti'}) { |
|
push(@authform_others,$authformlti); |
|
} |
if ($can_assign{'fsys'}) { |
if ($can_assign{'fsys'}) { |
$show_override_msg = 1; |
$show_override_msg = 1; |
} |
} |
Line 2300 sub modify_login_block {
|
Line 2410 sub modify_login_block {
|
if ($can_assign{'int'}) { |
if ($can_assign{'int'}) { |
push(@authform_others,$authformint); |
push(@authform_others,$authformint); |
} |
} |
|
if ($can_assign{'lti'}) { |
|
push(@authform_others,$authformlti); |
|
} |
if ($can_assign{'loc'}) { |
if ($can_assign{'loc'}) { |
$show_override_msg = 1; |
$show_override_msg = 1; |
} |
} |
|
} elsif ($currentauth=~/^lti:/) { |
|
$authformcurrent=$authformlti; |
|
if (($can_assign{'krb4'}) || ($can_assign{'krb5'})) { |
|
push(@authform_others,$authformkrb); |
|
} |
|
if ($can_assign{'int'}) { |
|
push(@authform_others,$authformint); |
|
} |
|
if ($can_assign{'loc'}) { |
|
push(@authform_others,$authformloc); |
|
} |
} |
} |
if ($show_override_msg) { |
if ($show_override_msg) { |
$authformcurrent = '<table><tr><td colspan="3">'.$authformcurrent. |
$authformcurrent = '<table><tr><td colspan="3">'.$authformcurrent. |
Line 2318 sub modify_login_block {
|
Line 2442 sub modify_login_block {
|
|
|
sub personal_data_display { |
sub personal_data_display { |
my ($ccuname,$ccdomain,$newuser,$context,$inst_results,$rolesarray, |
my ($ccuname,$ccdomain,$newuser,$context,$inst_results,$rolesarray, |
$now,$captchaform,$emailusername,$usertype) = @_; |
$now,$captchaform,$emailusername,$usertype,$usernameset,$condition,$excluded) = @_; |
my ($output,%userenv,%canmodify,%canmodify_status); |
my ($output,%userenv,%canmodify,%canmodify_status); |
my @userinfo = ('firstname','middlename','lastname','generation', |
my @userinfo = ('firstname','middlename','lastname','generation', |
'permanentemail','id'); |
'permanentemail','id'); |
Line 2345 sub personal_data_display {
|
Line 2469 sub personal_data_display {
|
'inststatus' => "Affiliation", |
'inststatus' => "Affiliation", |
'email' => 'E-mail address', |
'email' => 'E-mail address', |
'valid' => 'Validation', |
'valid' => 'Validation', |
|
'username' => 'Username', |
); |
); |
|
|
%canmodify_status = |
%canmodify_status = |
Line 2363 sub personal_data_display {
|
Line 2488 sub personal_data_display {
|
if (ref($emailusername) eq 'HASH') { |
if (ref($emailusername) eq 'HASH') { |
if (ref($emailusername->{$usertype}) eq 'HASH') { |
if (ref($emailusername->{$usertype}) eq 'HASH') { |
my ($infofields,$infotitles) = &Apache::loncommon::emailusername_info(); |
my ($infofields,$infotitles) = &Apache::loncommon::emailusername_info(); |
@userinfo = (); |
@userinfo = (); |
if ((ref($infofields) eq 'ARRAY') && (ref($infotitles) eq 'HASH')) { |
if ((ref($infofields) eq 'ARRAY') && (ref($infotitles) eq 'HASH')) { |
foreach my $field (@{$infofields}) { |
foreach my $field (@{$infofields}) { |
if ($emailusername->{$usertype}->{$field}) { |
if ($emailusername->{$usertype}->{$field}) { |
Line 2393 sub personal_data_display {
|
Line 2518 sub personal_data_display {
|
$output = '<h3>'.$lt{'pd'}.'</h3>'. |
$output = '<h3>'.$lt{'pd'}.'</h3>'. |
&Apache::lonhtmlcommon::start_pick_box(); |
&Apache::lonhtmlcommon::start_pick_box(); |
if (($context eq 'selfcreate') && ($newuser eq 'email')) { |
if (($context eq 'selfcreate') && ($newuser eq 'email')) { |
|
my $size = 25; |
|
if ($condition) { |
|
if ($condition =~ /^\@[^\@]+$/) { |
|
$size = 10; |
|
} else { |
|
undef($condition); |
|
} |
|
} |
|
if ($excluded) { |
|
unless ($excluded =~ /^\@[^\@]+$/) { |
|
undef($condition); |
|
} |
|
} |
$output .= &Apache::lonhtmlcommon::row_title($lt{'email'}.'<b>*</b>',undef, |
$output .= &Apache::lonhtmlcommon::row_title($lt{'email'}.'<b>*</b>',undef, |
'LC_oddrow_value')."\n". |
'LC_oddrow_value')."\n". |
'<input type="text" name="uname" size="25" value="" autocomplete="off" />'; |
'<input type="text" name="uname" size="'.$size.'" value="" autocomplete="off" />'; |
|
if ($condition) { |
|
$output .= $condition; |
|
} elsif ($excluded) { |
|
$output .= '<br /><span style="font-size: smaller">'.&mt('You must use an e-mail address that does not end with [_1]', |
|
$excluded).'</span>'; |
|
} |
|
if ($usernameset eq 'first') { |
|
$output .= '<br /><span style="font-size: smaller">'; |
|
if ($condition) { |
|
$output .= &mt('Your username in LON-CAPA will be the part of your e-mail address before [_1]', |
|
$condition); |
|
} else { |
|
$output .= &mt('Your username in LON-CAPA will be the part of your e-mail address before the @'); |
|
} |
|
$output .= '</span>'; |
|
} |
$rowcount ++; |
$rowcount ++; |
$output .= &Apache::lonhtmlcommon::row_closure(1); |
$output .= &Apache::lonhtmlcommon::row_closure(1); |
my $upassone = '<input type="password" name="upass'.$now.'" size="20" autocomplete="off" />'; |
my $upassone = '<input type="password" name="upass'.$now.'" size="20" autocomplete="off" />'; |
Line 2410 sub personal_data_display {
|
Line 2564 sub personal_data_display {
|
'LC_oddrow_value')."\n". |
'LC_oddrow_value')."\n". |
$upasstwo. |
$upasstwo. |
&Apache::lonhtmlcommon::row_closure()."\n"; |
&Apache::lonhtmlcommon::row_closure()."\n"; |
|
if ($usernameset eq 'free') { |
|
my $onclick = "toggleUsernameDisp(this,'selfcreateusername');"; |
|
$output .= &Apache::lonhtmlcommon::row_title($lt{'username'},undef,'LC_oddrow_value')."\n". |
|
&mt('Use e-mail address: '). |
|
'<label><input type="radio" name="emailused" value="1" checked="checked" onclick="'.$onclick.'" />'.&mt('Yes').'</label>'."\n". |
|
(' 'x2). |
|
'<label><input type="radio" name="emailused" value="0" onclick="'.$onclick.'" />'.&mt('No').'</label>'."\n". |
|
'<div id="selfcreateusername" style="display: none; font-size: smaller">'. |
|
'<br /><span class="LC_nobreak">'.&mt('Preferred username'). |
|
' <input type="text" name="username" value="" size="20" autocomplete="off"/>'. |
|
'</span></div>'."\n".&Apache::lonhtmlcommon::row_closure(1); |
|
$rowcount ++; |
|
} |
} |
} |
foreach my $item (@userinfo) { |
foreach my $item (@userinfo) { |
my $rowtitle = $lt{$item}; |
my $rowtitle = $lt{$item}; |
Line 2600 sub get_inststatuses {
|
Line 2767 sub get_inststatuses {
|
|
|
# ================================================================= Phase Three |
# ================================================================= Phase Three |
sub update_user_data { |
sub update_user_data { |
my ($r,$context,$crstype,$brcrum,$showcredits) = @_; |
my ($r,$context,$crstype,$brcrum,$showcredits,$permission) = @_; |
my $uhome=&Apache::lonnet::homeserver($env{'form.ccuname'}, |
my $uhome=&Apache::lonnet::homeserver($env{'form.ccuname'}, |
$env{'form.ccdomain'}); |
$env{'form.ccdomain'}); |
# Error messages |
# Error messages |
Line 2641 sub update_user_data {
|
Line 2808 sub update_user_data {
|
my $helpitem = 'Course_Change_Privileges'; |
my $helpitem = 'Course_Change_Privileges'; |
if ($env{'form.action'} eq 'singlestudent') { |
if ($env{'form.action'} eq 'singlestudent') { |
$helpitem = 'Course_Add_Student'; |
$helpitem = 'Course_Add_Student'; |
|
} elsif ($context eq 'author') { |
|
$helpitem = 'Author_Change_Privileges'; |
|
} elsif ($context eq 'domain') { |
|
$helpitem = 'Domain_Change_Privileges'; |
} |
} |
push(@{$brcrum}, |
push(@{$brcrum}, |
{href => "javascript:backPage(document.userupdate,'$env{'form.prevphase'}','modify')", |
{href => "javascript:backPage(document.userupdate,'$env{'form.prevphase'}','modify')", |
Line 2714 sub update_user_data {
|
Line 2885 sub update_user_data {
|
$amode='localauth'; |
$amode='localauth'; |
$genpwd=$env{'form.locarg'}; |
$genpwd=$env{'form.locarg'}; |
$genpwd=" " if (!$genpwd); |
$genpwd=" " if (!$genpwd); |
|
} elsif ($env{'form.login'} eq 'lti') { |
|
$amode='lti'; |
|
$genpwd=" "; |
} elsif (($env{'form.login'} eq 'nochange') || |
} elsif (($env{'form.login'} eq 'nochange') || |
($env{'form.login'} eq '' )) { |
($env{'form.login'} eq '' )) { |
# There is no need to tell the user we did not change what they |
# There is no need to tell the user we did not change what they |
Line 2733 sub update_user_data {
|
Line 2907 sub update_user_data {
|
my (%alerts,%rulematch,%inst_results,%curr_rules); |
my (%alerts,%rulematch,%inst_results,%curr_rules); |
my @userinfo = ('firstname','middlename','lastname','generation','permanentemail','id'); |
my @userinfo = ('firstname','middlename','lastname','generation','permanentemail','id'); |
my @usertools = ('aboutme','blog','webdav','portfolio'); |
my @usertools = ('aboutme','blog','webdav','portfolio'); |
my @requestcourses = ('official','unofficial','community','textbook','placement'); |
my @requestcourses = ('official','unofficial','community','textbook','placement','lti'); |
my @requestauthor = ('requestauthor'); |
my @requestauthor = ('requestauthor'); |
my ($othertitle,$usertypes,$types) = |
my ($othertitle,$usertypes,$types) = |
&Apache::loncommon::sorted_inst_types($env{'form.ccdomain'}); |
&Apache::loncommon::sorted_inst_types($env{'form.ccdomain'}); |
Line 2883 sub update_user_data {
|
Line 3057 sub update_user_data {
|
# Okay, this is a non-fatal error. |
# Okay, this is a non-fatal error. |
$r->print($error.&mt('You do not have the authority to modify this users authentication information.').$end); |
$r->print($error.&mt('You do not have the authority to modify this users authentication information.').$end); |
} |
} |
|
} elsif (($env{'form.intarg'} ne '') && |
|
(&Apache::lonnet::queryauthenticate($env{'form.ccuname'},$env{'form.ccdomain'}) =~ /^internal:/) && |
|
(&Apache::lonuserutils::can_change_internalpass($env{'form.ccuname'},$env{'form.ccdomain'},$crstype,$permission))) { |
|
$r->print('Modifying authentication: '. |
|
&Apache::lonnet::modifyuserauth( |
|
$env{'form.ccdomain'},$env{'form.ccuname'}, |
|
'internal',$env{'form.intarg'})); |
} |
} |
$r->rflush(); # Finish display of header before time consuming actions start |
$r->rflush(); # Finish display of header before time consuming actions start |
&Apache::lonhtmlcommon::Increment_PrgWin($r,\%prog_state); |
&Apache::lonhtmlcommon::Increment_PrgWin($r,\%prog_state); |
Line 3199 sub update_user_data {
|
Line 3380 sub update_user_data {
|
foreach my $key (keys(%changed)) { |
foreach my $key (keys(%changed)) { |
if (($key eq 'official') || ($key eq 'unofficial') || |
if (($key eq 'official') || ($key eq 'unofficial') || |
($key eq 'community') || ($key eq 'textbook') || |
($key eq 'community') || ($key eq 'textbook') || |
($key eq 'placement')) { |
($key eq 'placement') || ($key eq 'lti')) { |
$newenvhash{'environment.requestcourses.'.$key} = |
$newenvhash{'environment.requestcourses.'.$key} = |
$changeHash{'requestcourses.'.$key}; |
$changeHash{'requestcourses.'.$key}; |
if ($changeHash{'requestcourses.'.$key}) { |
if ($changeHash{'requestcourses.'.$key}) { |
Line 3409 sub display_userinfo {
|
Line 3590 sub display_userinfo {
|
'community' => 'Can Request Communities', |
'community' => 'Can Request Communities', |
'textbook' => 'Can Request Textbook Courses', |
'textbook' => 'Can Request Textbook Courses', |
'placement' => 'Can Request Placement Tests', |
'placement' => 'Can Request Placement Tests', |
|
'lti' => 'Can Request LTI Courses', |
'requestauthor' => 'Can Request Author Role', |
'requestauthor' => 'Can Request Author Role', |
'inststatus' => "Affiliation", |
'inststatus' => "Affiliation", |
'prvs' => 'Previous Value:', |
'prvs' => 'Previous Value:', |
Line 4305 sub build_roles {
|
Line 4487 sub build_roles {
|
# ========================================================== Custom Role Editor |
# ========================================================== Custom Role Editor |
|
|
sub custom_role_editor { |
sub custom_role_editor { |
my ($r,$brcrum,$prefix) = @_; |
my ($r,$context,$brcrum,$prefix,$permission) = @_; |
my $action = $env{'form.customroleaction'}; |
my $action = $env{'form.customroleaction'}; |
my $rolename; |
my ($rolename,$helpitem); |
if ($action eq 'new') { |
if ($action eq 'new') { |
$rolename=$env{'form.newrolename'}; |
$rolename=$env{'form.newrolename'}; |
} else { |
} else { |
Line 4318 sub custom_role_editor {
|
Line 4500 sub custom_role_editor {
|
if ($env{'request.course.id'}) { |
if ($env{'request.course.id'}) { |
$crstype = &Apache::loncommon::course_type(); |
$crstype = &Apache::loncommon::course_type(); |
$context = 'course'; |
$context = 'course'; |
|
$helpitem = 'Course_Editing_Custom_Roles'; |
} else { |
} else { |
$context = 'domain'; |
$context = 'domain'; |
$crstype = 'course'; |
$crstype = 'course'; |
|
$helpitem = 'Domain_Editing_Custom_Roles'; |
} |
} |
|
|
$rolename=~s/[^A-Za-z0-9]//gs; |
$rolename=~s/[^A-Za-z0-9]//gs; |
if (!$rolename || $env{'form.phase'} eq 'pickrole') { |
if (!$rolename || $env{'form.phase'} eq 'pickrole') { |
&print_username_entry_form($r,undef,undef,undef,undef,$crstype,$brcrum); |
&print_username_entry_form($r,$context,undef,undef,undef,$crstype,$brcrum, |
|
$permission); |
return; |
return; |
} |
} |
|
|
Line 4380 sub custom_role_editor {
|
Line 4565 sub custom_role_editor {
|
text => "Edit custom role", |
text => "Edit custom role", |
faq => 282, |
faq => 282, |
bug => 'Instructor Interface', |
bug => 'Instructor Interface', |
help => 'Course_Editing_Custom_Roles'} |
help => $helpitem} |
); |
); |
my $args = { bread_crumbs => $brcrum, |
my $args = { bread_crumbs => $brcrum, |
bread_crumbs_component => 'User Management'}; |
bread_crumbs_component => 'User Management'}; |
Line 4407 ENDCCF
|
Line 4592 ENDCCF
|
|
|
# ---------------------------------------------------------- Call to definerole |
# ---------------------------------------------------------- Call to definerole |
sub set_custom_role { |
sub set_custom_role { |
my ($r,$context,$brcrum,$prefix) = @_; |
my ($r,$context,$brcrum,$prefix,$permission) = @_; |
my $rolename=$env{'form.rolename'}; |
my $rolename=$env{'form.rolename'}; |
$rolename=~s/[^A-Za-z0-9]//gs; |
$rolename=~s/[^A-Za-z0-9]//gs; |
if (!$rolename) { |
if (!$rolename) { |
&custom_role_editor($r,$brcrum,$prefix); |
&custom_role_editor($r,$context,$brcrum,$prefix,$permission); |
return; |
return; |
} |
} |
my ($jsback,$elements) = &crumb_utilities(); |
my ($jsback,$elements) = &crumb_utilities(); |
Line 4420 sub set_custom_role {
|
Line 4605 sub set_custom_role {
|
.$jsback."\n" |
.$jsback."\n" |
.'// ]]>'."\n" |
.'// ]]>'."\n" |
.'</script>'."\n"; |
.'</script>'."\n"; |
|
my $helpitem = 'Course_Editing_Custom_Roles'; |
|
if ($context eq 'domain') { |
|
$helpitem = 'Domain_Editing_Custom_Roles'; |
|
} |
push(@{$brcrum}, |
push(@{$brcrum}, |
{href => "javascript:backPage(document.customresult,'pickrole','')", |
{href => "javascript:backPage(document.customresult,'pickrole','')", |
text => "Pick custom role", |
text => "Pick custom role", |
Line 4433 sub set_custom_role {
|
Line 4622 sub set_custom_role {
|
text => "Result", |
text => "Result", |
faq => 282, |
faq => 282, |
bug => 'Instructor Interface', |
bug => 'Instructor Interface', |
help => 'Course_Editing_Custom_Roles'}, |
help => $helpitem,} |
); |
); |
my $args = { bread_crumbs => $brcrum, |
my $args = { bread_crumbs => $brcrum, |
bread_crumbs_component => 'User Management'}; |
bread_crumbs_component => 'User Management'}; |
Line 4504 sub handler {
|
Line 4693 sub handler {
|
$r->send_http_header; |
$r->send_http_header; |
return OK; |
return OK; |
} |
} |
my ($context,$crstype); |
my ($context,$crstype,$cid,$cnum,$cdom,$allhelpitems); |
|
|
if ($env{'request.course.id'}) { |
if ($env{'request.course.id'}) { |
$context = 'course'; |
$context = 'course'; |
$crstype = &Apache::loncommon::course_type(); |
$crstype = &Apache::loncommon::course_type(); |
Line 4514 sub handler {
|
Line 4704 sub handler {
|
$context = 'domain'; |
$context = 'domain'; |
} |
} |
|
|
|
my ($permission,$allowed) = |
|
&Apache::lonuserutils::get_permission($context,$crstype); |
|
|
|
if ($allowed) { |
|
my @allhelp; |
|
if ($context eq 'course') { |
|
$cid = $env{'request.course.id'}; |
|
$cdom = $env{'course.'.$cid.'.domain'}; |
|
$cnum = $env{'course.'.$cid.'.num'}; |
|
|
|
if ($permission->{'cusr'}) { |
|
push(@allhelp,'Course_Create_Class_List'); |
|
} |
|
if ($permission->{'view'} || $permission->{'cusr'}) { |
|
push(@allhelp,('Course_Change_Privileges','Course_View_Class_List')); |
|
} |
|
if ($permission->{'custom'}) { |
|
push(@allhelp,'Course_Editing_Custom_Roles'); |
|
} |
|
if ($permission->{'cusr'}) { |
|
push(@allhelp,('Course_Add_Student','Course_Drop_Student')); |
|
} |
|
unless ($permission->{'cusr_section'}) { |
|
if (&Apache::lonnet::auto_run($cnum,$cdom) && (($permission->{'cusr'}) || ($permission->{'view'}))) { |
|
push(@allhelp,'Course_Automated_Enrollment'); |
|
} |
|
if ($permission->{'selfenrolladmin'}) { |
|
push(@allhelp,'Course_Approve_Selfenroll'); |
|
} |
|
} |
|
if ($permission->{'grp_manage'}) { |
|
push(@allhelp,'Course_Manage_Group'); |
|
} |
|
if ($permission->{'view'} || $permission->{'cusr'}) { |
|
push(@allhelp,'Course_User_Logs'); |
|
} |
|
} elsif ($context eq 'author') { |
|
push(@allhelp,('Author_Change_Privileges','Author_Create_Coauthor_List', |
|
'Author_View_Coauthor_List','Author_User_Logs')); |
|
} else { |
|
if ($permission->{'cusr'}) { |
|
push(@allhelp,'Domain_Change_Privileges'); |
|
if ($permission->{'activity'}) { |
|
push(@allhelp,'Domain_User_Access_Logs'); |
|
} |
|
push(@allhelp,('Domain_Create_Users','Domain_View_Users_List')); |
|
if ($permission->{'custom'}) { |
|
push(@allhelp,'Domain_Editing_Custom_Roles'); |
|
} |
|
push(@allhelp,('Domain_Role_Approvals','Domain_Username_Approvals','Domain_Change_Logs')); |
|
} elsif ($permission->{'view'}) { |
|
push(@allhelp,'Domain_View_Privileges'); |
|
if ($permission->{'activity'}) { |
|
push(@allhelp,'Domain_User_Access_Logs'); |
|
} |
|
push(@allhelp,('Domain_View_Users_List','Domain_Change_Logs')); |
|
} |
|
} |
|
if (@allhelp) { |
|
$allhelpitems = join(',',@allhelp); |
|
} |
|
} |
|
|
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
['action','state','callingform','roletype','showrole','bulkaction','popup','phase', |
['action','state','callingform','roletype','showrole','bulkaction','popup','phase', |
'username','domain','srchterm','srchdomain','srchin','srchby','srchtype','queue']); |
'username','domain','srchterm','srchdomain','srchin','srchby','srchtype','queue']); |
Line 4524 sub handler {
|
Line 4777 sub handler {
|
if (($env{'form.action'} ne 'dateselect') && ($env{'form.action'} ne 'displayuserreq')) { |
if (($env{'form.action'} ne 'dateselect') && ($env{'form.action'} ne 'displayuserreq')) { |
$brcrum = [{href=>"/adm/createuser", |
$brcrum = [{href=>"/adm/createuser", |
text=>"User Management", |
text=>"User Management", |
help=>'Course_Create_Class_List,Course_Change_Privileges,Course_View_Class_List,Course_Editing_Custom_Roles,Course_Add_Student,Course_Drop_Student,Course_Automated_Enrollment,Course_Self_Enrollment,Course_Manage_Group'} |
help=>$allhelpitems} |
]; |
]; |
} |
} |
#SD Following files not added to help, because the corresponding .tex-files seem to |
|
#be missing: Course_Approve_Selfenroll,Course_User_Logs, |
|
my ($permission,$allowed) = |
|
&Apache::lonuserutils::get_permission($context,$crstype); |
|
if (!$allowed) { |
if (!$allowed) { |
if ($context eq 'course') { |
if ($context eq 'course') { |
$r->internal_redirect('/adm/viewclasslist'); |
$r->internal_redirect('/adm/viewclasslist'); |
Line 4562 sub handler {
|
Line 4811 sub handler {
|
$r->print(&header(undef,$args)); |
$r->print(&header(undef,$args)); |
$r->print(&print_main_menu($permission,$context,$crstype)); |
$r->print(&print_main_menu($permission,$context,$crstype)); |
} elsif ($env{'form.action'} eq 'upload' && $permission->{'cusr'}) { |
} elsif ($env{'form.action'} eq 'upload' && $permission->{'cusr'}) { |
|
my $helpitem = 'Course_Create_Class_List'; |
|
if ($context eq 'author') { |
|
$helpitem = 'Author_Create_Coauthor_List'; |
|
} elsif ($context eq 'domain') { |
|
$helpitem = 'Domain_Create_Users'; |
|
} |
push(@{$brcrum}, |
push(@{$brcrum}, |
{ href => '/adm/createuser?action=upload&state=', |
{ href => '/adm/createuser?action=upload&state=', |
text => 'Upload Users List', |
text => 'Upload Users List', |
help => 'Course_Create_Class_List', |
help => $helpitem, |
}); |
}); |
$bread_crumbs_component = 'Upload Users List'; |
$bread_crumbs_component = 'Upload Users List'; |
$args = {bread_crumbs => $brcrum, |
$args = {bread_crumbs => $brcrum, |
Line 4577 sub handler {
|
Line 4832 sub handler {
|
if (! exists($env{'form.state'})) { |
if (! exists($env{'form.state'})) { |
&Apache::lonuserutils::print_first_users_upload_form($r,$context); |
&Apache::lonuserutils::print_first_users_upload_form($r,$context); |
} elsif ($env{'form.state'} eq 'got_file') { |
} elsif ($env{'form.state'} eq 'got_file') { |
&Apache::lonuserutils::print_upload_manager_form($r,$context,$permission, |
my $result = |
$crstype,$showcredits); |
&Apache::lonuserutils::print_upload_manager_form($r,$context, |
|
$permission, |
|
$crstype,$showcredits); |
|
if ($result eq 'missingdata') { |
|
delete($env{'form.state'}); |
|
&Apache::lonuserutils::print_first_users_upload_form($r,$context); |
|
} |
} elsif ($env{'form.state'} eq 'enrolling') { |
} elsif ($env{'form.state'} eq 'enrolling') { |
if ($env{'form.datatoken'}) { |
if ($env{'form.datatoken'}) { |
&Apache::lonuserutils::upfile_drop_add($r,$context,$permission, |
my $result = &Apache::lonuserutils::upfile_drop_add($r,$context, |
$showcredits); |
$permission, |
|
$showcredits); |
|
if ($result eq 'missingdata') { |
|
delete($env{'form.state'}); |
|
&Apache::lonuserutils::print_first_users_upload_form($r,$context); |
|
} elsif ($result eq 'invalidhome') { |
|
$env{'form.state'} = 'got_file'; |
|
delete($env{'form.lcserver'}); |
|
my $result = |
|
&Apache::lonuserutils::print_upload_manager_form($r,$context,$permission, |
|
$crstype,$showcredits); |
|
if ($result eq 'missingdata') { |
|
delete($env{'form.state'}); |
|
&Apache::lonuserutils::print_first_users_upload_form($r,$context); |
|
} |
|
} |
|
} else { |
|
delete($env{'form.state'}); |
|
&Apache::lonuserutils::print_first_users_upload_form($r,$context); |
} |
} |
} else { |
} else { |
&Apache::lonuserutils::print_first_users_upload_form($r,$context); |
&Apache::lonuserutils::print_first_users_upload_form($r,$context); |
} |
} |
|
$r->print('</form>'); |
} elsif (((($env{'form.action'} eq 'singleuser') || ($env{'form.action'} |
} elsif (((($env{'form.action'} eq 'singleuser') || ($env{'form.action'} |
eq 'singlestudent')) && ($permission->{'cusr'})) || |
eq 'singlestudent')) && ($permission->{'cusr'})) || |
(($env{'form.action'} eq 'singleuser') && ($permission->{'view'})) || |
(($env{'form.action'} eq 'singleuser') && ($permission->{'view'})) || |
Line 4610 sub handler {
|
Line 4890 sub handler {
|
.'</span>'; |
.'</span>'; |
$env{'form.phase'} = ''; |
$env{'form.phase'} = ''; |
&print_username_entry_form($r,$context,$response,$srch,undef, |
&print_username_entry_form($r,$context,$response,$srch,undef, |
$crstype,$brcrum,$showcredits); |
$crstype,$brcrum,$permission); |
} else { |
} else { |
my $ccuname =&LONCAPA::clean_username($srch->{'srchterm'}); |
my $ccuname =&LONCAPA::clean_username($srch->{'srchterm'}); |
my $ccdomain=&LONCAPA::clean_domain($srch->{'srchdomain'}); |
my $ccdomain=&LONCAPA::clean_domain($srch->{'srchdomain'}); |
Line 4655 sub handler {
|
Line 4935 sub handler {
|
# } |
# } |
#} |
#} |
&print_username_entry_form($r,$context,$response,$srch, |
&print_username_entry_form($r,$context,$response,$srch, |
$forcenewuser,$crstype,$brcrum); |
$forcenewuser,$crstype,$brcrum, |
|
$permission); |
} else { |
} else { |
&print_useraccesslogs_display($r,$ccuname,$ccdomain,$permission,$brcrum); |
&print_useraccesslogs_display($r,$ccuname,$ccdomain,$permission,$brcrum); |
} |
} |
Line 4672 sub handler {
|
Line 4953 sub handler {
|
} else { |
} else { |
$env{'form.phase'} = ''; |
$env{'form.phase'} = ''; |
&print_username_entry_form($r,$context,$response,$srch, |
&print_username_entry_form($r,$context,$response,$srch, |
$forcenewuser,$crstype,$brcrum); |
$forcenewuser,$crstype,$brcrum, |
|
$permission); |
} |
} |
} elsif ($env{'form.phase'} eq 'userpicked') { |
} elsif ($env{'form.phase'} eq 'userpicked') { |
my $ccuname = &LONCAPA::clean_username($env{'form.seluname'}); |
my $ccuname = &LONCAPA::clean_username($env{'form.seluname'}); |
Line 4690 sub handler {
|
Line 4972 sub handler {
|
&print_useraccesslogs_display($r,$ccuname,$ccdomain,$permission,$brcrum); |
&print_useraccesslogs_display($r,$ccuname,$ccdomain,$permission,$brcrum); |
} |
} |
} elsif ($env{'form.phase'} eq 'update_user_data') { |
} elsif ($env{'form.phase'} eq 'update_user_data') { |
&update_user_data($r,$context,$crstype,$brcrum,$showcredits); |
&update_user_data($r,$context,$crstype,$brcrum,$showcredits,$permission); |
} else { |
} else { |
&print_username_entry_form($r,$context,undef,$srch,undef,$crstype, |
&print_username_entry_form($r,$context,undef,$srch,undef,$crstype, |
$brcrum); |
$brcrum,$permission); |
} |
} |
} elsif ($env{'form.action'} eq 'custom' && $permission->{'custom'}) { |
} elsif ($env{'form.action'} eq 'custom' && $permission->{'custom'}) { |
my $prefix; |
my $prefix; |
if ($env{'form.phase'} eq 'set_custom_roles') { |
if ($env{'form.phase'} eq 'set_custom_roles') { |
&set_custom_role($r,$context,$brcrum,$prefix); |
&set_custom_role($r,$context,$brcrum,$prefix,$permission); |
} else { |
} else { |
&custom_role_editor($r,$brcrum,$prefix); |
&custom_role_editor($r,$context,$brcrum,$prefix,$permission); |
} |
} |
} elsif (($env{'form.action'} eq 'processauthorreq') && |
} elsif (($env{'form.action'} eq 'processauthorreq') && |
($permission->{'cusr'}) && |
($permission->{'cusr'}) && |
Line 4806 sub handler {
|
Line 5088 sub handler {
|
unless ($usertype) { |
unless ($usertype) { |
$usertype = 'default'; |
$usertype = 'default'; |
} |
} |
|
my ($showstatus,$showemail,$pickstart); |
|
my $numextras = 0; |
|
my ($othertitle,$usertypes,$types) = &Apache::loncommon::sorted_inst_types($dom); |
|
if ((ref($types) eq 'ARRAY') && (@{$types} > 0)) { |
|
if (ref($usertypes) eq 'HASH') { |
|
if ($usertypes->{$usertype}) { |
|
$showstatus = $usertypes->{$usertype}; |
|
} else { |
|
$showstatus = $othertitle; |
|
} |
|
if ($showstatus) { |
|
$numextras ++; |
|
} |
|
} |
|
} |
|
if (($info{$uname}{'email'} ne '') && ($info{$uname}{'email'} ne $uname)) { |
|
$showemail = $info{$uname}{'email'}; |
|
$numextras ++; |
|
} |
if (ref($domconfig{'usercreation'}{'cancreate'}{'emailusername'}{$usertype}) eq 'HASH') { |
if (ref($domconfig{'usercreation'}{'cancreate'}{'emailusername'}{$usertype}) eq 'HASH') { |
if ((ref($infofields) eq 'ARRAY') && (ref($infotitles) eq 'HASH')) { |
if ((ref($infofields) eq 'ARRAY') && (ref($infotitles) eq 'HASH')) { |
|
$pickstart = 1; |
$r->print('<div>'.&Apache::lonhtmlcommon::start_pick_box()); |
$r->print('<div>'.&Apache::lonhtmlcommon::start_pick_box()); |
my ($num,$count,$showstatus); |
my ($num,$count); |
$count = scalar(keys(%{$domconfig{'usercreation'}{'cancreate'}{'emailusername'}{$usertype}})); |
$count = scalar(keys(%{$domconfig{'usercreation'}{'cancreate'}{'emailusername'}{$usertype}})); |
unless ($usertype eq 'default') { |
$count += $numextras; |
my ($othertitle,$usertypes,$types) = |
|
&Apache::loncommon::sorted_inst_types($dom); |
|
if (ref($usertypes) eq 'HASH') { |
|
if ($usertypes->{$usertype}) { |
|
$showstatus = $usertypes->{$usertype}; |
|
$count ++; |
|
} |
|
} |
|
} |
|
foreach my $field (@{$infofields}) { |
foreach my $field (@{$infofields}) { |
next unless ($domconfig{'usercreation'}{'cancreate'}{'emailusername'}{$usertype}{$field}); |
next unless ($domconfig{'usercreation'}{'cancreate'}{'emailusername'}{$usertype}{$field}); |
next unless ($infotitles->{$field}); |
next unless ($infotitles->{$field}); |
$r->print(&Apache::lonhtmlcommon::row_title($infotitles->{$field}). |
$r->print(&Apache::lonhtmlcommon::row_title($infotitles->{$field}). |
$info{$uname}{$field}); |
$info{$uname}{$field}); |
$num ++; |
$num ++; |
if ($count == $num) { |
unless ($count == $num) { |
$r->print(&Apache::lonhtmlcommon::row_closure(1)); |
|
} else { |
|
$r->print(&Apache::lonhtmlcommon::row_closure()); |
$r->print(&Apache::lonhtmlcommon::row_closure()); |
} |
} |
} |
} |
if ($showstatus) { |
} |
$r->print(&Apache::lonhtmlcommon::row_title(&mt('Status type (self-reported)')). |
} |
$showstatus. |
if ($numextras) { |
&Apache::lonhtmlcommon::row_closure(1)); |
unless ($pickstart) { |
|
$r->print('<div>'.&Apache::lonhtmlcommon::start_pick_box()); |
|
$pickstart = 1; |
|
} |
|
if ($showemail) { |
|
my $closure = ''; |
|
unless ($showstatus) { |
|
$closure = 1; |
} |
} |
$r->print(&Apache::lonhtmlcommon::end_pick_box().'</div>'); |
$r->print(&Apache::lonhtmlcommon::row_title(&mt('E-mail address')). |
|
$showemail. |
|
&Apache::lonhtmlcommon::row_closure($closure)); |
} |
} |
|
if ($showstatus) { |
|
$r->print(&Apache::lonhtmlcommon::row_title(&mt('Status type[_1](self-reported)','<br />')). |
|
$showstatus. |
|
&Apache::lonhtmlcommon::row_closure(1)); |
|
} |
|
} |
|
if ($pickstart) { |
|
$r->print(&Apache::lonhtmlcommon::end_pick_box().'</div>'); |
|
} else { |
|
$r->print('<div>'.&mt('No information to display for this account request.').'</div>'); |
} |
} |
|
} else { |
|
$r->print('<div>'.&mt('No information available for this account request.').'</div>'); |
} |
} |
} |
} |
} |
} |
} |
} |
$r->print(&close_popup_form()); |
|
} |
} |
|
$r->print(&close_popup_form()); |
} elsif (($env{'form.action'} eq 'listusers') && |
} elsif (($env{'form.action'} eq 'listusers') && |
($permission->{'view'} || $permission->{'cusr'})) { |
($permission->{'view'} || $permission->{'cusr'})) { |
|
my $helpitem = 'Course_View_Class_List'; |
|
if ($context eq 'author') { |
|
$helpitem = 'Author_View_Coauthor_List'; |
|
} elsif ($context eq 'domain') { |
|
$helpitem = 'Domain_View_Users_List'; |
|
} |
if ($env{'form.phase'} eq 'bulkchange') { |
if ($env{'form.phase'} eq 'bulkchange') { |
push(@{$brcrum}, |
push(@{$brcrum}, |
{href => '/adm/createuser?action=listusers', |
{href => '/adm/createuser?action=listusers', |
text => "List Users"}, |
text => "List Users"}, |
{href => "/adm/createuser", |
{href => "/adm/createuser", |
text => "Result", |
text => "Result", |
help => 'Course_View_Class_List'}); |
help => $helpitem}); |
$bread_crumbs_component = 'Update Users'; |
$bread_crumbs_component = 'Update Users'; |
$args = {bread_crumbs => $brcrum, |
$args = {bread_crumbs => $brcrum, |
bread_crumbs_component => $bread_crumbs_component}; |
bread_crumbs_component => $bread_crumbs_component}; |
Line 4872 sub handler {
|
Line 5190 sub handler {
|
push(@{$brcrum}, |
push(@{$brcrum}, |
{href => '/adm/createuser?action=listusers', |
{href => '/adm/createuser?action=listusers', |
text => "List Users", |
text => "List Users", |
help => 'Course_View_Class_List'}); |
help => $helpitem}); |
$bread_crumbs_component = 'List Users'; |
$bread_crumbs_component = 'List Users'; |
$args = {bread_crumbs => $brcrum, |
$args = {bread_crumbs => $brcrum, |
bread_crumbs_component => $bread_crumbs_component}; |
bread_crumbs_component => $bread_crumbs_component}; |
Line 4953 sub handler {
|
Line 5271 sub handler {
|
} |
} |
} elsif ($env{'form.action'} eq 'selfenroll') { |
} elsif ($env{'form.action'} eq 'selfenroll') { |
if ($permission->{selfenrolladmin}) { |
if ($permission->{selfenrolladmin}) { |
my $cid = $env{'request.course.id'}; |
|
my $cdom = $env{'course.'.$cid.'.domain'}; |
|
my $cnum = $env{'course.'.$cid.'.num'}; |
|
my %currsettings = ( |
my %currsettings = ( |
selfenroll_types => $env{'course.'.$cid.'.internal.selfenroll_types'}, |
selfenroll_types => $env{'course.'.$cid.'.internal.selfenroll_types'}, |
selfenroll_registered => $env{'course.'.$cid.'.internal.selfenroll_registered'}, |
selfenroll_registered => $env{'course.'.$cid.'.internal.selfenroll_registered'}, |
Line 5001 sub handler {
|
Line 5316 sub handler {
|
push(@{$brcrum}, |
push(@{$brcrum}, |
{href => '/adm/createuser?action=selfenrollqueue', |
{href => '/adm/createuser?action=selfenrollqueue', |
text => 'Enrollment requests', |
text => 'Enrollment requests', |
help => 'Course_Self_Enrollment'}); |
help => 'Course_Approve_Selfenroll'}); |
$bread_crumbs_component = 'Enrollment requests'; |
$bread_crumbs_component = 'Enrollment requests'; |
if ($env{'form.state'} eq 'done') { |
if ($env{'form.state'} eq 'done') { |
push(@{$brcrum}, |
push(@{$brcrum}, |
{href => '/adm/createuser?action=selfenrollqueue', |
{href => '/adm/createuser?action=selfenrollqueue', |
text => 'Result', |
text => 'Result', |
help => 'Course_Self_Enrollment'}); |
help => 'Course_Approve_Selfenroll'}); |
$bread_crumbs_component = 'Enrollment result'; |
$bread_crumbs_component = 'Enrollment result'; |
} |
} |
$args = { bread_crumbs => $brcrum, |
$args = { bread_crumbs => $brcrum, |
bread_crumbs_component => $bread_crumbs_component}; |
bread_crumbs_component => $bread_crumbs_component}; |
$r->print(&header(undef,$args)); |
$r->print(&header(undef,$args)); |
my $cid = $env{'request.course.id'}; |
|
my $cdom = $env{'course.'.$cid.'.domain'}; |
|
my $cnum = $env{'course.'.$cid.'.num'}; |
|
my $coursedesc = $env{'course.'.$cid.'.description'}; |
my $coursedesc = $env{'course.'.$cid.'.description'}; |
if (!exists($env{'form.state'})) { |
if (!exists($env{'form.state'})) { |
$r->print('<h3>'.&mt('Pending enrollment requests').'</h3>'."\n"); |
$r->print('<h3>'.&mt('Pending enrollment requests').'</h3>'."\n"); |
Line 5716 function validate_types(form) {
|
Line 6028 function validate_types(form) {
|
} |
} |
|
|
function check_types(num,countfail,needaction) { |
function check_types(num,countfail,needaction) { |
var typeidx = getIndexByName('selfenroll_types_'+num); |
var boxname = 'selfenroll_types_'+num; |
|
var typeidx = getIndexByName(boxname); |
var count = 0; |
var count = 0; |
if (typeidx != -1) { |
if (typeidx != -1) { |
if (document.$formname.elements[typeidx].length) { |
if (document.$formname.elements[boxname].length) { |
for (var k=0; k<document.$formname.elements[typeidx].length; k++) { |
for (var k=0; k<document.$formname.elements[boxname].length; k++) { |
if (document.$formname.elements[typeidx][k].checked) { |
if (document.$formname.elements[boxname][k].checked) { |
count ++; |
count ++; |
} |
} |
} |
} |
Line 5942 ENDSCRIPT
|
Line 6255 ENDSCRIPT
|
} elsif ($curr_types eq '') { |
} elsif ($curr_types eq '') { |
$add_domtitle = &mt('Users in other domain:'); |
$add_domtitle = &mt('Users in other domain:'); |
} |
} |
|
my ($trusted,$untrusted) = &Apache::lonnet::trusted_domains('enroll',$cdom); |
$output .= &Apache::loncommon::start_data_table_row() |
$output .= &Apache::loncommon::start_data_table_row() |
.'<td colspan="2"><span class="LC_nobreak">'.$add_domtitle.'</span><br />' |
.'<td colspan="2"><span class="LC_nobreak">'.$add_domtitle.'</span><br />' |
.&Apache::loncommon::select_dom_form('','selfenroll_newdom', |
.&Apache::loncommon::select_dom_form('','selfenroll_newdom', |
$includeempty,$showdomdesc,'','','',$readonly) |
$includeempty,$showdomdesc,'',$trusted,$untrusted,$readonly) |
.'<input type="hidden" name="selfenroll_types_total" value="'.$num.'" />' |
.'<input type="hidden" name="selfenroll_types_total" value="'.$num.'" />' |
.'</td>'.&Apache::loncommon::end_data_table_row() |
.'</td>'.&Apache::loncommon::end_data_table_row() |
.&Apache::loncommon::end_data_table(); |
.&Apache::loncommon::end_data_table(); |
Line 6484 sub print_userchangelogs_display {
|
Line 6798 sub print_userchangelogs_display {
|
my $helpitem; |
my $helpitem; |
if ($context eq 'course') { |
if ($context eq 'course') { |
$helpitem = 'Course_User_Logs'; |
$helpitem = 'Course_User_Logs'; |
|
} elsif ($context eq 'domain') { |
|
$helpitem = 'Domain_Role_Logs'; |
|
} elsif ($context eq 'author') { |
|
$helpitem = 'Author_User_Logs'; |
} |
} |
push (@{$brcrum}, |
push (@{$brcrum}, |
{href => '/adm/createuser?action=changelogs', |
{href => '/adm/createuser?action=changelogs', |
Line 6765 ENDSCRIPT
|
Line 7083 ENDSCRIPT
|
return; |
return; |
} |
} |
|
|
|
if (&Apache::lonnet::privileged($uname,$udom, |
|
[$env{'request.role.domain'}],['dc','su'])) { |
|
unless (&Apache::lonnet::privileged($env{'user.name'},$env{'user.domain'}, |
|
[$env{'request.role.domain'}],['dc','su'])) { |
|
$r->print('<p class="LC_warning">' |
|
.&mt('You need to be a privileged user to display user access logs for [_1]', |
|
&Apache::loncommon::aboutmewrapper(&Apache::loncommon::plainname($uname,$udom), |
|
$uname,$udom)) |
|
.'</p>'); |
|
if ($env{'form.popup'}) { |
|
$r->print('<p><a href="javascript:window.close()">'.&mt('Close window').'</a></p>'); |
|
} else { |
|
$r->print(&earlyout_accesslog_form($formname,$prevphasestr,$udom)); |
|
} |
|
return; |
|
} |
|
} |
|
|
# set defaults |
# set defaults |
my $now = time(); |
my $now = time(); |
my $defstart = $now - (7*24*3600); |
my $defstart = $now - (7*24*3600); |
Line 6851 ENDSCRIPT
|
Line 7187 ENDSCRIPT
|
$showntableheader = 1; |
$showntableheader = 1; |
} |
} |
my ($shown,$extra); |
my ($shown,$extra); |
my ($event,$data) = split(/\s+/,&unescape($event)); |
my ($event,$data) = split(/\s+/,&unescape($event),2); |
if ($event eq 'Role') { |
if ($event eq 'Role') { |
my ($rolecode,$extent) = split(/\./,$data,2); |
my ($rolecode,$extent) = split(/\./,$data,2); |
next if ($extent eq ''); |
next if ($extent eq ''); |
Line 6903 ENDSCRIPT
|
Line 7239 ENDSCRIPT
|
$shown = &mt('Role selection: [_1]',$rolename); |
$shown = &mt('Role selection: [_1]',$rolename); |
} else { |
} else { |
$shown = &mt($event); |
$shown = &mt($event); |
if ($data ne '') { |
if ($data =~ /^webdav/) { |
$extra = &mt('Client IP address: [_1]',$data); |
my ($path,$clientip) = split(/\s+/,$data,2); |
|
$path =~ s/^webdav//; |
|
if ($clientip ne '') { |
|
$extra = &mt('Client IP address: [_1]',$clientip); |
|
} |
|
if ($path ne '') { |
|
$shown .= ' '.&mt('(WebDAV access to [_1])',$path); |
|
} |
|
} elsif ($data ne '') { |
|
$extra = &mt('Client IP address: [_1]',$data); |
} |
} |
} |
} |
$r->print( |
$r->print( |
Line 8231 sub user_search_result {
|
Line 8576 sub user_search_result {
|
} else { |
} else { |
unless (($context eq 'requestcrs') && ($srch->{'srchtype'} eq 'exact')) { |
unless (($context eq 'requestcrs') && ($srch->{'srchtype'} eq 'exact')) { |
my $domd_chk = &domdirectorysrch_check($srch); |
my $domd_chk = &domdirectorysrch_check($srch); |
if ($domd_chk ne 'ok') { |
if (($domd_chk ne 'ok') && ($env{'form.action'} ne 'accesslogs')) { |
my $instd_chk = &instdirectorysrch_check($srch); |
my $instd_chk = &instdirectorysrch_check($srch); |
$response .= '<span class="LC_warning">'.$domd_chk.'</span><br />'; |
$response .= '<span class="LC_warning">'.$domd_chk.'</span><br />'; |
if ($instd_chk eq 'ok') { |
if ($instd_chk eq 'ok') { |
Line 8582 sub build_search_response {
|
Line 8927 sub build_search_response {
|
if ($srch->{'srchin'} ne 'alc') { |
if ($srch->{'srchin'} ne 'alc') { |
$forcenewuser = 1; |
$forcenewuser = 1; |
my $cansrchinst = 0; |
my $cansrchinst = 0; |
if ($srch->{'srchdomain'}) { |
if (($srch->{'srchdomain'}) && ($env{'form.action'} ne 'accesslogs')) { |
my %domconfig = &Apache::lonnet::get_dom('configuration',['directorysrch'],$srch->{'srchdomain'}); |
my %domconfig = &Apache::lonnet::get_dom('configuration',['directorysrch'],$srch->{'srchdomain'}); |
if (ref($domconfig{'directorysrch'}) eq 'HASH') { |
if (ref($domconfig{'directorysrch'}) eq 'HASH') { |
if ($domconfig{'directorysrch'}{'available'}) { |
if ($domconfig{'directorysrch'}{'available'}) { |