version 1.446, 2017/08/11 00:24:53
|
version 1.450, 2018/12/08 18:30:15
|
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 1479 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()); |
} else { |
if ($env{'request.role.domain'} eq $ccdomain) { |
if (&Apache::lonnet::will_trust('reqcrs',$ccdomain,$env{'request.role.domain'})) { |
$r->print(&build_tools_display($ccuname,$ccdomain,'requestcourses')); |
|
} else { |
$r->print(&coursereq_externaluser($ccuname,$ccdomain, |
$r->print(&coursereq_externaluser($ccuname,$ccdomain, |
$env{'request.role.domain'})); |
$env{'request.role.domain'})); |
} |
} |
|
$r->print(&Apache::loncommon::end_data_table()); |
|
} else { |
|
$r->print(&mt('Domain configuration for this domain prohibits course creation by users from domain: "[_1]"', |
|
&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 2200 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 2279 ENDBADAUTH
|
Line 2288 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 2317 sub modify_login_block {
|
Line 2328 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 2328 sub modify_login_block {
|
Line 2342 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 2342 sub modify_login_block {
|
Line 2359 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 2353 sub modify_login_block {
|
Line 2373 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 2814 sub update_user_data {
|
Line 2848 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 2833 sub update_user_data {
|
Line 2870 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 3299 sub update_user_data {
|
Line 3336 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 3509 sub display_userinfo {
|
Line 3546 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 4750 sub handler {
|
Line 4788 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'})) || |