version 1.42, 2002/08/23 19:43:11
|
version 1.51, 2003/03/23 09:06:08
|
Line 44
|
Line 44
|
# 2/14,2/17,2/19,2/20,2/21,2/22,2/23,3/2,3/17,3/24,04/12 Gerd Kortemeyer |
# 2/14,2/17,2/19,2/20,2/21,2/22,2/23,3/2,3/17,3/24,04/12 Gerd Kortemeyer |
# April Guy Albertelli |
# April Guy Albertelli |
# 05/10,10/16 Gerd Kortemeyer |
# 05/10,10/16 Gerd Kortemeyer |
# 11/12,11/13,11/15 Scott Harrison |
|
# 02/11/02 Matthew Hall |
# 02/11/02 Matthew Hall |
# |
# |
# $Id$ |
# $Id$ |
Line 71 BEGIN {
|
Line 70 BEGIN {
|
my %param = ( formname => 'document.cu', |
my %param = ( formname => 'document.cu', |
kerb_def_dom => $krbdefdom |
kerb_def_dom => $krbdefdom |
); |
); |
$loginscript = &Apache::loncommon::authform_header(%param); |
# no longer static due to configurable kerberos defaults |
|
# $loginscript = &Apache::loncommon::authform_header(%param); |
$generalrule = &Apache::loncommon::authform_authorwarning(%param); |
$generalrule = &Apache::loncommon::authform_authorwarning(%param); |
$authformnop = &Apache::loncommon::authform_nochange(%param); |
$authformnop = &Apache::loncommon::authform_nochange(%param); |
$authformkrb = &Apache::loncommon::authform_kerberos(%param); |
# no longer static due to configurable kerberos defaults |
|
# $authformkrb = &Apache::loncommon::authform_kerberos(%param); |
$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); |
} |
} |
|
|
|
|
|
|
|
# ==================================================== Figure out author access |
|
|
|
sub authorpriv { |
|
my ($auname,$audom)=@_; |
|
if (($auname ne $ENV{'user.name'}) || |
|
(($audom ne $ENV{'user.domain'}) && |
|
($audom ne $ENV{'request.role.domain'}))) { return ''; } |
|
unless (&Apache::lonnet::allowed('cca',$audom)) { return ''; } |
|
return 1; |
|
} |
|
|
# =================================================================== Phase one |
# =================================================================== Phase one |
|
|
sub print_username_entry_form { |
sub print_username_entry_form { |
Line 89 sub print_username_entry_form {
|
Line 103 sub print_username_entry_form {
|
my $domform = &Apache::loncommon::select_dom_form($defdom,'ccdomain'); |
my $domform = &Apache::loncommon::select_dom_form($defdom,'ccdomain'); |
my $bodytag =&Apache::loncommon::bodytag( |
my $bodytag =&Apache::loncommon::bodytag( |
'Create Users, Change User Privileges'); |
'Create Users, Change User Privileges'); |
|
my $selscript=&Apache::loncommon::studentbrowser_javascript(); |
|
my $sellink=&Apache::loncommon::selectstudent_link |
|
('crtuser','ccuname','ccdomain'); |
$r->print(<<"ENDDOCUMENT"); |
$r->print(<<"ENDDOCUMENT"); |
<html> |
<html> |
<head> |
<head> |
<title>The LearningOnline Network with CAPA</title> |
<title>The LearningOnline Network with CAPA</title> |
|
$selscript |
</head> |
</head> |
$bodytag |
$bodytag |
<form action="/adm/createuser" method="post"> |
<form action="/adm/createuser" method="post" name="crtuser"> |
<input type="hidden" name="phase" value="get_user_info"> |
<input type="hidden" name="phase" value="get_user_info"> |
<p> |
<p> |
Username: <input type="text" size="15" name="ccuname"><br> |
<table> |
Domain: $domform |
<tr><td>Username:</td><td><input type="text" size="15" name="ccuname"> |
|
</td><td rowspan="2">$sellink</td></tr><tr><td> |
|
Domain:</td><td>$domform</td></tr> |
|
</table> |
</p> |
</p> |
<input type="submit" value="Continue"> |
<input type="submit" value="Continue"> |
</form> |
</form> |
Line 114 sub print_user_modification_page {
|
Line 135 sub print_user_modification_page {
|
my $ccuname=$ENV{'form.ccuname'}; |
my $ccuname=$ENV{'form.ccuname'}; |
my $ccdomain=$ENV{'form.ccdomain'}; |
my $ccdomain=$ENV{'form.ccdomain'}; |
|
|
$ENV{'SERVER_NAME'}=~/(\w+\.\w+)$/; |
my $defdom=$ENV{'request.role.domain'}; |
my $krbdefdom=$1; |
|
$krbdefdom=~tr/a-z/A-Z/; |
my ($krbdef,$krbdefdom) = |
|
&Apache::loncommon::get_kerberos_defaults($defdom); |
|
|
my %param = ( formname => 'document.cu', |
my %param = ( formname => 'document.cu', |
kerb_def_dom => $krbdefdom |
kerb_def_dom => $krbdefdom, |
|
kerb_def_auth => $krbdef |
); |
); |
$loginscript = &Apache::loncommon::authform_header(%param); |
$loginscript = &Apache::loncommon::authform_header(%param); |
|
$authformkrb = &Apache::loncommon::authform_kerberos(%param); |
my $defdom=$ENV{'request.role.domain'}; |
|
|
|
$ccuname=~s/\W//g; |
$ccuname=~s/\W//g; |
$ccdomain=~s/\W//g; |
$ccdomain=~s/\W//g; |
Line 170 ENDFORMINFO
|
Line 193 ENDFORMINFO
|
my $uhome=&Apache::lonnet::homeserver($ccuname,$ccdomain); |
my $uhome=&Apache::lonnet::homeserver($ccuname,$ccdomain); |
my %incdomains; |
my %incdomains; |
my %inccourses; |
my %inccourses; |
foreach (%Apache::lonnet::hostdom) { |
foreach (values(%Apache::lonnet::hostdom)) { |
$incdomains{$_}=1; |
$incdomains{$_}=1; |
} |
} |
foreach (keys(%ENV)) { |
foreach (keys(%ENV)) { |
Line 269 END
|
Line 292 END
|
if ($area =~ /^\/(\w+)\/(\d\w+)/ ) { |
if ($area =~ /^\/(\w+)\/(\d\w+)/ ) { |
my %coursedata= |
my %coursedata= |
&Apache::lonnet::coursedescription($1.'_'.$2); |
&Apache::lonnet::coursedescription($1.'_'.$2); |
my $carea='Course: '.$coursedata{'description'}; |
my $carea; |
|
if (defined($coursedata{'description'})) { |
|
$carea='Course: '.$coursedata{'description'}; |
|
} else { |
|
$carea='Unavailable course: '.$area; |
|
} |
$inccourses{$1.'_'.$2}=1; |
$inccourses{$1.'_'.$2}=1; |
if (&Apache::lonnet::allowed('c'.$role_code,$1.'/'.$2)) { |
if (&Apache::lonnet::allowed('c'.$role_code,$1.'/'.$2)) { |
$allowed=1; |
$allowed=1; |
Line 294 END
|
Line 322 END
|
} |
} |
} |
} |
} |
} |
# I have no idea what the hell the above code does |
if ($role_code eq 'ca') { |
# So the following is a check: |
$area=~/\/(\w+)\/(\w+)/; |
if ($allowed) { |
if (&authorpriv($2,$1)) { |
# If we are looking at a co-author role, make sure it is |
$allowed=1; |
# for the current users construction space before we let |
} else { |
# them revoke it. |
$allowed=0; |
if (($role_code eq 'ca') && |
|
($ENV{'request.role'} !~ /^dc/)) { |
|
if ($area !~ |
|
/^\/$ENV{'request.role.domain'}\/$ENV{'user.name'}/) { |
|
$allowed = 0; |
|
} |
|
} |
} |
} |
} |
my $row = ''; |
my $row = ''; |
Line 331 END
|
Line 353 END
|
my $currentauth=&Apache::lonnet::queryauthenticate($ccuname,$ccdomain); |
my $currentauth=&Apache::lonnet::queryauthenticate($ccuname,$ccdomain); |
if ($currentauth=~/^krb(4|5):/) { |
if ($currentauth=~/^krb(4|5):/) { |
$currentauth=~/^krb(4|5):(.*)/; |
$currentauth=~/^krb(4|5):(.*)/; |
my $krbdefdom2=$1; |
my $krbdefdom=$1; |
my %param = ( formname => 'document.cu', |
my %param = ( formname => 'document.cu', |
kerb_def_dom => $krbdefdom |
kerb_def_dom => $krbdefdom |
); |
); |
Line 427 ENDOTHERAUTHS
|
Line 449 ENDOTHERAUTHS
|
# |
# |
# Co-Author |
# Co-Author |
# |
# |
if (&Apache::lonnet::allowed('cca',$ENV{'request.role.domain'})) { |
if (&authorpriv($ENV{'user.name'},$ENV{'request.role.domain'}) && |
|
($ENV{'user.name'} ne $ccuname || $ENV{'user.domain'} ne $ccdomain)) { |
|
# No sense in assigning co-author role to yourself |
my $cuname=$ENV{'user.name'}; |
my $cuname=$ENV{'user.name'}; |
my $cudom=$ENV{'request.role.domain'}; |
my $cudom=$ENV{'request.role.domain'}; |
$r->print(<<ENDCOAUTH); |
$r->print(<<ENDCOAUTH); |
Line 812 sub course_level_table {
|
Line 836 sub course_level_table {
|
$thiscourse=~s:_:/:g; |
$thiscourse=~s:_:/:g; |
my %coursedata=&Apache::lonnet::coursedescription($thiscourse); |
my %coursedata=&Apache::lonnet::coursedescription($thiscourse); |
my $area=$coursedata{'description'}; |
my $area=$coursedata{'description'}; |
|
if (!defined($area)) { $area='Unavailable course: '.$_; } |
my $bgcol=$thiscourse; |
my $bgcol=$thiscourse; |
$bgcol=~s/[^8-9b-e]//g; |
$bgcol=~s/[^8-9b-e]//g; |
$bgcol=substr($bgcol.$bgcol.$bgcol.'ffffff',0,6); |
$bgcol=substr($bgcol.$bgcol.$bgcol.'ffffff',0,6); |