version 1.100, 2005/02/17 08:29:42
|
version 1.105, 2005/06/19 00:41:32
|
Line 108 sub my_custom_roles {
|
Line 108 sub my_custom_roles {
|
|
|
sub authorpriv { |
sub authorpriv { |
my ($auname,$audom)=@_; |
my ($auname,$audom)=@_; |
if (($auname ne $ENV{'user.name'}) || |
unless ((&Apache::lonnet::allowed('cca',$audom.'/'.$auname)) |
(($audom ne $ENV{'user.domain'}) && |
|| (&Apache::lonnet::allowed('caa',$audom.'/'.$auname))) { return ''; } |
($audom ne $ENV{'request.role.domain'}))) { return ''; } |
|
unless (&Apache::lonnet::allowed('cca',$audom)) { return ''; } |
|
return 1; |
return 1; |
} |
} |
|
|
Line 119 sub authorpriv {
|
Line 117 sub authorpriv {
|
|
|
sub print_username_entry_form { |
sub print_username_entry_form { |
my $r=shift; |
my $r=shift; |
my $defdom=$ENV{'request.role.domain'}; |
my $defdom=$env{'request.role.domain'}; |
my @domains = &Apache::loncommon::get_domains(); |
my @domains = &Apache::loncommon::get_domains(); |
my $domform = &Apache::loncommon::select_dom_form($defdom,'ccdomain'); |
my $domform = &Apache::loncommon::select_dom_form($defdom,'ccdomain'); |
my $html=&Apache::lonxml::xmlbegin(); |
my $html=&Apache::lonxml::xmlbegin(); |
Line 171 ENDDOCUMENT
|
Line 169 ENDDOCUMENT
|
# =================================================================== Phase two |
# =================================================================== Phase two |
sub print_user_modification_page { |
sub print_user_modification_page { |
my $r=shift; |
my $r=shift; |
my $ccuname=$ENV{'form.ccuname'}; |
my $ccuname=$env{'form.ccuname'}; |
my $ccdomain=$ENV{'form.ccdomain'}; |
my $ccdomain=$env{'form.ccdomain'}; |
|
|
$ccuname=~s/\W//g; |
$ccuname=~s/\W//g; |
$ccdomain=~s/\W//g; |
$ccdomain=~s/\W//g; |
Line 182 sub print_user_modification_page {
|
Line 180 sub print_user_modification_page {
|
return; |
return; |
} |
} |
|
|
my $defdom=$ENV{'request.role.domain'}; |
my $defdom=$env{'request.role.domain'}; |
|
|
my ($krbdef,$krbdefdom) = |
my ($krbdef,$krbdefdom) = |
&Apache::loncommon::get_kerberos_defaults($defdom); |
&Apache::loncommon::get_kerberos_defaults($defdom); |
Line 199 sub print_user_modification_page {
|
Line 197 sub print_user_modification_page {
|
my $pjump_def = &Apache::lonhtmlcommon::pjump_javascript_definition(); |
my $pjump_def = &Apache::lonhtmlcommon::pjump_javascript_definition(); |
my $dc_setcourse_code = ''; |
my $dc_setcourse_code = ''; |
my $loaditem; |
my $loaditem; |
if ($ENV{'request.role'} =~ m-^dc\./(\w+)/$-) { |
if ($env{'request.role'} =~ m-^dc\./(\w+)/$-) { |
my $dcdom = $1; |
my $dcdom = $1; |
$loaditem = qq|OnLoad="document.cu.coursedesc.value=''"|; |
$loaditem = qq|OnLoad="document.cu.coursedesc.value=''"|; |
$dc_setcourse_code = <<"ENDSCRIPT"; |
$dc_setcourse_code = <<"ENDSCRIPT"; |
Line 374 ENDFORMINFO
|
Line 372 ENDFORMINFO
|
foreach (values(%Apache::lonnet::hostdom)) { |
foreach (values(%Apache::lonnet::hostdom)) { |
$incdomains{$_}=1; |
$incdomains{$_}=1; |
} |
} |
foreach (keys(%ENV)) { |
foreach (keys(%env)) { |
if ($_=~/^user\.priv\.cm\.\/(\w+)\/(\w+)/) { |
if ($_=~/^user\.priv\.cm\.\/(\w+)\/(\w+)/) { |
$inccourses{$1.'_'.$2}=1; |
$inccourses{$1.'_'.$2}=1; |
} |
} |
Line 544 END
|
Line 542 END
|
$bgcol=~s/[^7-9a-e]//g; |
$bgcol=~s/[^7-9a-e]//g; |
$bgcol=substr($bgcol.$bgcol.$bgcol.'ffffff',2,6); |
$bgcol=substr($bgcol.$bgcol.$bgcol.'ffffff',2,6); |
if ($area=~/^\/(\w+)\/(\d\w+)\/(\w+)/) { |
if ($area=~/^\/(\w+)\/(\d\w+)\/(\w+)/) { |
$carea.='<br>Section/Group: '.$3; |
$carea.='<br />Section/Group: '.$3; |
$sortkey.="\0$3"; |
$sortkey.="\0$3"; |
} |
} |
$area=$carea; |
$area=$carea; |
Line 574 END
|
Line 572 END
|
$class='Domain'; |
$class='Domain'; |
} |
} |
} |
} |
if ($role_code eq 'ca') { |
if (($role_code eq 'ca') || ($role_code eq 'aa')) { |
$area=~/\/(\w+)\/(\w+)/; |
$area=~/\/(\w+)\/(\w+)/; |
if (&authorpriv($2,$1)) { |
if (&authorpriv($2,$1)) { |
$allowed=1; |
$allowed=1; |
Line 675 END
|
Line 673 END
|
$currentauth=~/^internal:/ or |
$currentauth=~/^internal:/ or |
$currentauth=~/^localauth:/ |
$currentauth=~/^localauth:/ |
) { # bad authentication scheme |
) { # bad authentication scheme |
if (&Apache::lonnet::allowed('mau',$ENV{'request.role.domain'})) { |
if (&Apache::lonnet::allowed('mau',$env{'request.role.domain'})) { |
&initialize_authen_forms(); |
&initialize_authen_forms(); |
my %lt=&Apache::lonlocal::texthash( |
my %lt=&Apache::lonlocal::texthash( |
'err' => "ERROR", |
'err' => "ERROR", |
Line 740 ENDBADAUTH
|
Line 738 ENDBADAUTH
|
"<p>$authformint</p><p>$authformfsys</p>"; |
"<p>$authformint</p><p>$authformfsys</p>"; |
} |
} |
$authformcurrent.=' <i>(will override current values)</i><br />'; |
$authformcurrent.=' <i>(will override current values)</i><br />'; |
if (&Apache::lonnet::allowed('mau',$ENV{'request.role.domain'})) { |
if (&Apache::lonnet::allowed('mau',$env{'request.role.domain'})) { |
# Current user has login modification privileges |
# Current user has login modification privileges |
my %lt=&Apache::lonlocal::texthash( |
my %lt=&Apache::lonlocal::texthash( |
'ccld' => "Change Current Login Data", |
'ccld' => "Change Current Login Data", |
Line 765 ENDOTHERAUTHS
|
Line 763 ENDOTHERAUTHS
|
# |
# |
# Co-Author |
# Co-Author |
# |
# |
if (&authorpriv($ENV{'user.name'},$ENV{'request.role.domain'}) && |
if (&authorpriv($env{'user.name'},$env{'request.role.domain'}) && |
($ENV{'user.name'} ne $ccuname || $ENV{'user.domain'} ne $ccdomain)) { |
($env{'user.name'} ne $ccuname || $env{'user.domain'} ne $ccdomain)) { |
# No sense in assigning co-author role to yourself |
# 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'}; |
my %lt=&Apache::lonlocal::texthash( |
my %lt=&Apache::lonlocal::texthash( |
'cs' => "Construction Space", |
'cs' => "Construction Space", |
'act' => "Activate", |
'act' => "Activate", |
Line 778 ENDOTHERAUTHS
|
Line 776 ENDOTHERAUTHS
|
'sta' => "Start", |
'sta' => "Start", |
'end' => "End", |
'end' => "End", |
'cau' => "Co-Author", |
'cau' => "Co-Author", |
|
'caa' => "Assistant Co-Author", |
'ssd' => "Set Start Date", |
'ssd' => "Set Start Date", |
'sed' => "Set End Date" |
'sed' => "Set End Date" |
); |
); |
Line 796 ENDOTHERAUTHS
|
Line 795 ENDOTHERAUTHS
|
<a href= |
<a href= |
"javascript:pjump('date_end','End Date Co-Author',document.cu.end_$cudom\_$cuname\_ca.value,'end_$cudom\_$cuname\_ca','cu.pres','dateset')">$lt{'sed'}</a></td> |
"javascript:pjump('date_end','End Date Co-Author',document.cu.end_$cudom\_$cuname\_ca.value,'end_$cudom\_$cuname\_ca','cu.pres','dateset')">$lt{'sed'}</a></td> |
</tr> |
</tr> |
|
<tr> |
|
<td><input type=checkbox name="act_$cudom\_$cuname\_aa" /></td> |
|
<td>$lt{'caa'}</td> |
|
<td>$cudom\_$cuname</td> |
|
<td><input type=hidden name="start_$cudom\_$cuname\_aa" value='' /> |
|
<a href= |
|
"javascript:pjump('date_start','Start Date Assistant Co-Author',document.cu.start_$cudom\_$cuname\_aa.value,'start_$cudom\_$cuname\_aa','cu.pres','dateset')">$lt{'ssd'}</a></td> |
|
<td><input type=hidden name="end_$cudom\_$cuname\_aa" value='' /> |
|
<a href= |
|
"javascript:pjump('date_end','End Date Assistant Co-Author',document.cu.end_$cudom\_$cuname\_aa.value,'end_$cudom\_$cuname\_aa','cu.pres','dateset')">$lt{'sed'}</a></td> |
|
</tr> |
</table> |
</table> |
ENDCOAUTH |
ENDCOAUTH |
} |
} |
Line 842 ENDDROW
|
Line 852 ENDDROW
|
# |
# |
my $num_sections; |
my $num_sections; |
|
|
if ($ENV{'request.role'} =~ m-^dc\./(\w+)/$-) { |
if ($env{'request.role'} =~ m-^dc\./(\w+)/$-) { |
$r->print(&course_level_dc($1)); |
$r->print(&course_level_dc($1)); |
$r->print('<hr /><input type="button" value="'.&mt('Modify User').'" onClick="setCourse()">'."\n"); |
$r->print('<hr /><input type="button" value="'.&mt('Modify User').'" onClick="setCourse()">'."\n"); |
} else { |
} else { |
Line 855 ENDDROW
|
Line 865 ENDDROW
|
# ================================================================= Phase Three |
# ================================================================= Phase Three |
sub update_user_data { |
sub update_user_data { |
my $r=shift; |
my $r=shift; |
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 |
my $error = '<font color="#ff0000">'.&mt('Error').':</font>'; |
my $error = '<font color="#ff0000">'.&mt('Error').':</font>'; |
my $end = '</body></html>'; |
my $end = '</body></html>'; |
Line 869 $html
|
Line 879 $html
|
</head> |
</head> |
ENDTHREEHEAD |
ENDTHREEHEAD |
my $title; |
my $title; |
if (exists($ENV{'form.makeuser'})) { |
if (exists($env{'form.makeuser'})) { |
$title='Set Privileges for New User'; |
$title='Set Privileges for New User'; |
} else { |
} else { |
$title='Modify User Privileges'; |
$title='Modify User Privileges'; |
} |
} |
$r->print(&Apache::loncommon::bodytag($title)); |
$r->print(&Apache::loncommon::bodytag($title)); |
# Check Inputs |
# Check Inputs |
if (! $ENV{'form.ccuname'} ) { |
if (! $env{'form.ccuname'} ) { |
$r->print($error.&mt('No login name specified').'.'.$end); |
$r->print($error.&mt('No login name specified').'.'.$end); |
return; |
return; |
} |
} |
if ( $ENV{'form.ccuname'} =~/\W/) { |
if ( $env{'form.ccuname'} =~/\W/) { |
$r->print($error.&mt('Invalid login name').'. '. |
$r->print($error.&mt('Invalid login name').'. '. |
&mt('Only letters, numbers, and underscores are valid').'.'. |
&mt('Only letters, numbers, and underscores are valid').'.'. |
$end); |
$end); |
return; |
return; |
} |
} |
if (! $ENV{'form.ccdomain'} ) { |
if (! $env{'form.ccdomain'} ) { |
$r->print($error.&mt('No domain specified').'.'.$end); |
$r->print($error.&mt('No domain specified').'.'.$end); |
return; |
return; |
} |
} |
if ( $ENV{'form.ccdomain'} =~/\W/) { |
if ( $env{'form.ccdomain'} =~/\W/) { |
$r->print($error.&mt ('Invalid domain name').'. '. |
$r->print($error.&mt ('Invalid domain name').'. '. |
&mt('Only letters, numbers, and underscores are valid').'.'. |
&mt('Only letters, numbers, and underscores are valid').'.'. |
$end); |
$end); |
return; |
return; |
} |
} |
if (! exists($ENV{'form.makeuser'})) { |
if (! exists($env{'form.makeuser'})) { |
# Modifying an existing user, so check the validity of the name |
# Modifying an existing user, so check the validity of the name |
if ($uhome eq 'no_host') { |
if ($uhome eq 'no_host') { |
$r->print($error.&mt('Unable to determine home server for '). |
$r->print($error.&mt('Unable to determine home server for '). |
$ENV{'form.ccuname'}.&mt(' in domain '). |
$env{'form.ccuname'}.&mt(' in domain '). |
$ENV{'form.ccdomain'}.'.'); |
$env{'form.ccdomain'}.'.'); |
return; |
return; |
} |
} |
} |
} |
# Determine authentication method and password for the user being modified |
# Determine authentication method and password for the user being modified |
my $amode=''; |
my $amode=''; |
my $genpwd=''; |
my $genpwd=''; |
if ($ENV{'form.login'} eq 'krb') { |
if ($env{'form.login'} eq 'krb') { |
$amode='krb'; |
$amode='krb'; |
$amode.=$ENV{'form.krbver'}; |
$amode.=$env{'form.krbver'}; |
$genpwd=$ENV{'form.krbarg'}; |
$genpwd=$env{'form.krbarg'}; |
} elsif ($ENV{'form.login'} eq 'int') { |
} elsif ($env{'form.login'} eq 'int') { |
$amode='internal'; |
$amode='internal'; |
$genpwd=$ENV{'form.intarg'}; |
$genpwd=$env{'form.intarg'}; |
} elsif ($ENV{'form.login'} eq 'fsys') { |
} elsif ($env{'form.login'} eq 'fsys') { |
$amode='unix'; |
$amode='unix'; |
$genpwd=$ENV{'form.fsysarg'}; |
$genpwd=$env{'form.fsysarg'}; |
} elsif ($ENV{'form.login'} eq 'loc') { |
} elsif ($env{'form.login'} eq 'loc') { |
$amode='localauth'; |
$amode='localauth'; |
$genpwd=$ENV{'form.locarg'}; |
$genpwd=$env{'form.locarg'}; |
$genpwd=" " if (!$genpwd); |
$genpwd=" " if (!$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 |
# did not ask us to change. |
# did not ask us to change. |
# If they are creating a new user but have not specified login |
# If they are creating a new user but have not specified login |
Line 932 ENDTHREEHEAD
|
Line 942 ENDTHREEHEAD
|
$r->print($error.&mt('Invalid login mode or password').$end); |
$r->print($error.&mt('Invalid login mode or password').$end); |
return; |
return; |
} |
} |
if ($ENV{'form.makeuser'}) { |
if ($env{'form.makeuser'}) { |
# Create a new user |
# Create a new user |
my %lt=&Apache::lonlocal::texthash( |
my %lt=&Apache::lonlocal::texthash( |
'cru' => "Creating user", |
'cru' => "Creating user", |
'id' => "in domain" |
'id' => "in domain" |
); |
); |
$r->print(<<ENDNEWUSERHEAD); |
$r->print(<<ENDNEWUSERHEAD); |
<h3>$lt{'cru'} "$ENV{'form.ccuname'}" $lt{'id'} "$ENV{'form.ccdomain'}"</h3> |
<h3>$lt{'cru'} "$env{'form.ccuname'}" $lt{'id'} "$env{'form.ccdomain'}"</h3> |
ENDNEWUSERHEAD |
ENDNEWUSERHEAD |
# Check for the authentication mode and password |
# Check for the authentication mode and password |
if (! $amode || ! $genpwd) { |
if (! $amode || ! $genpwd) { |
Line 947 ENDNEWUSERHEAD
|
Line 957 ENDNEWUSERHEAD
|
return; |
return; |
} |
} |
# Determine desired host |
# Determine desired host |
my $desiredhost = $ENV{'form.hserver'}; |
my $desiredhost = $env{'form.hserver'}; |
if (lc($desiredhost) eq 'default') { |
if (lc($desiredhost) eq 'default') { |
$desiredhost = undef; |
$desiredhost = undef; |
} else { |
} else { |
my %home_servers = &Apache::loncommon::get_library_servers |
my %home_servers = &Apache::loncommon::get_library_servers |
($ENV{'form.ccdomain'}); |
($env{'form.ccdomain'}); |
if (! exists($home_servers{$desiredhost})) { |
if (! exists($home_servers{$desiredhost})) { |
$r->print($error.&mt('Invalid home server specified')); |
$r->print($error.&mt('Invalid home server specified')); |
return; |
return; |
Line 960 ENDNEWUSERHEAD
|
Line 970 ENDNEWUSERHEAD
|
} |
} |
# Call modifyuser |
# Call modifyuser |
my $result = &Apache::lonnet::modifyuser |
my $result = &Apache::lonnet::modifyuser |
($ENV{'form.ccdomain'},$ENV{'form.ccuname'},$ENV{'form.cstid'}, |
($env{'form.ccdomain'},$env{'form.ccuname'},$env{'form.cstid'}, |
$amode,$genpwd,$ENV{'form.cfirst'}, |
$amode,$genpwd,$env{'form.cfirst'}, |
$ENV{'form.cmiddle'},$ENV{'form.clast'},$ENV{'form.cgen'}, |
$env{'form.cmiddle'},$env{'form.clast'},$env{'form.cgen'}, |
undef,$desiredhost |
undef,$desiredhost |
); |
); |
$r->print(&mt('Generating user').': '.$result); |
$r->print(&mt('Generating user').': '.$result); |
my $home = &Apache::lonnet::homeserver($ENV{'form.ccuname'}, |
my $home = &Apache::lonnet::homeserver($env{'form.ccuname'}, |
$ENV{'form.ccdomain'}); |
$env{'form.ccdomain'}); |
$r->print('<br />'.&mt('Home server').': '.$home.' '. |
$r->print('<br />'.&mt('Home server').': '.$home.' '. |
$Apache::lonnet::libserv{$home}); |
$Apache::lonnet::libserv{$home}); |
} elsif (($ENV{'form.login'} ne 'nochange') && |
} elsif (($env{'form.login'} ne 'nochange') && |
($ENV{'form.login'} ne '' )) { |
($env{'form.login'} ne '' )) { |
# Modify user privileges |
# Modify user privileges |
my %lt=&Apache::lonlocal::texthash( |
my %lt=&Apache::lonlocal::texthash( |
'usr' => "User", |
'usr' => "User", |
'id' => "in domain" |
'id' => "in domain" |
); |
); |
$r->print(<<ENDMODIFYUSERHEAD); |
$r->print(<<ENDMODIFYUSERHEAD); |
<h2>$lt{'usr'} "$ENV{'form.ccuname'}" $lt{'id'} "$ENV{'form.ccdomain'}"</h2> |
<h2>$lt{'usr'} "$env{'form.ccuname'}" $lt{'id'} "$env{'form.ccdomain'}"</h2> |
ENDMODIFYUSERHEAD |
ENDMODIFYUSERHEAD |
if (! $amode || ! $genpwd) { |
if (! $amode || ! $genpwd) { |
$r->print($error.'Invalid login mode or password'.$end); |
$r->print($error.'Invalid login mode or password'.$end); |
return; |
return; |
} |
} |
# Only allow authentification modification if the person has authority |
# Only allow authentification modification if the person has authority |
if (&Apache::lonnet::allowed('mau',$ENV{'form.ccdomain'})) { |
if (&Apache::lonnet::allowed('mau',$env{'form.ccdomain'})) { |
$r->print('Modifying authentication: '. |
$r->print('Modifying authentication: '. |
&Apache::lonnet::modifyuserauth( |
&Apache::lonnet::modifyuserauth( |
$ENV{'form.ccdomain'},$ENV{'form.ccuname'}, |
$env{'form.ccdomain'},$env{'form.ccuname'}, |
$amode,$genpwd)); |
$amode,$genpwd)); |
$r->print('<br>'.&mt('Home server').': '.&Apache::lonnet::homeserver |
$r->print('<br />'.&mt('Home server').': '.&Apache::lonnet::homeserver |
($ENV{'form.ccuname'},$ENV{'form.ccdomain'})); |
($env{'form.ccuname'},$env{'form.ccdomain'})); |
} else { |
} else { |
# 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 authentification information').'.'); |
$r->print($error.&mt('You do not have the authority to modify this users authentification information').'.'); |
} |
} |
} |
} |
## |
## |
if (! $ENV{'form.makeuser'} ) { |
if (! $env{'form.makeuser'} ) { |
# Check for need to change |
# Check for need to change |
my %userenv = &Apache::lonnet::get |
my %userenv = &Apache::lonnet::get |
('environment',['firstname','middlename','lastname','generation'], |
('environment',['firstname','middlename','lastname','generation'], |
$ENV{'form.ccdomain'},$ENV{'form.ccuname'}); |
$env{'form.ccdomain'},$env{'form.ccuname'}); |
my ($tmp) = keys(%userenv); |
my ($tmp) = keys(%userenv); |
if ($tmp =~ /^(con_lost|error)/i) { |
if ($tmp =~ /^(con_lost|error)/i) { |
%userenv = (); |
%userenv = (); |
Line 1010 ENDMODIFYUSERHEAD
|
Line 1020 ENDMODIFYUSERHEAD
|
# Check to see if we need to change user information |
# Check to see if we need to change user information |
foreach ('firstname','middlename','lastname','generation') { |
foreach ('firstname','middlename','lastname','generation') { |
# Strip leading and trailing whitespace |
# Strip leading and trailing whitespace |
$ENV{'form.c'.$_} =~ s/(\s+$|^\s+)//g; |
$env{'form.c'.$_} =~ s/(\s+$|^\s+)//g; |
} |
} |
if (&Apache::lonnet::allowed('mau',$ENV{'form.ccdomain'}) && |
if (&Apache::lonnet::allowed('mau',$env{'form.ccdomain'}) && |
($ENV{'form.cfirstname'} ne $userenv{'firstname'} || |
($env{'form.cfirstname'} ne $userenv{'firstname'} || |
$ENV{'form.cmiddlename'} ne $userenv{'middlename'} || |
$env{'form.cmiddlename'} ne $userenv{'middlename'} || |
$ENV{'form.clastname'} ne $userenv{'lastname'} || |
$env{'form.clastname'} ne $userenv{'lastname'} || |
$ENV{'form.cgeneration'} ne $userenv{'generation'} )) { |
$env{'form.cgeneration'} ne $userenv{'generation'} )) { |
# Make the change |
# Make the change |
my %changeHash; |
my %changeHash; |
$changeHash{'firstname'} = $ENV{'form.cfirstname'}; |
$changeHash{'firstname'} = $env{'form.cfirstname'}; |
$changeHash{'middlename'} = $ENV{'form.cmiddlename'}; |
$changeHash{'middlename'} = $env{'form.cmiddlename'}; |
$changeHash{'lastname'} = $ENV{'form.clastname'}; |
$changeHash{'lastname'} = $env{'form.clastname'}; |
$changeHash{'generation'} = $ENV{'form.cgeneration'}; |
$changeHash{'generation'} = $env{'form.cgeneration'}; |
my $putresult = &Apache::lonnet::put |
my $putresult = &Apache::lonnet::put |
('environment',\%changeHash, |
('environment',\%changeHash, |
$ENV{'form.ccdomain'},$ENV{'form.ccuname'}); |
$env{'form.ccdomain'},$env{'form.ccuname'}); |
if ($putresult eq 'ok') { |
if ($putresult eq 'ok') { |
# Tell the user we changed the name |
# Tell the user we changed the name |
my %lt=&Apache::lonlocal::texthash( |
my %lt=&Apache::lonlocal::texthash( |
Line 1051 ENDMODIFYUSERHEAD
|
Line 1061 ENDMODIFYUSERHEAD
|
<td>$userenv{'lastname'} </td> |
<td>$userenv{'lastname'} </td> |
<td>$userenv{'generation'} </td></tr> |
<td>$userenv{'generation'} </td></tr> |
<tr><td>$lt{'chto'}</td> |
<tr><td>$lt{'chto'}</td> |
<td>$ENV{'form.cfirstname'} </td> |
<td>$env{'form.cfirstname'} </td> |
<td>$ENV{'form.cmiddlename'} </td> |
<td>$env{'form.cmiddlename'} </td> |
<td>$ENV{'form.clastname'} </td> |
<td>$env{'form.clastname'} </td> |
<td>$ENV{'form.cgeneration'} </td></tr> |
<td>$env{'form.cgeneration'} </td></tr> |
</table> |
</table> |
END |
END |
} else { # error occurred |
} else { # error occurred |
$r->print("<h2>".&mt('Unable to successfully change environment for')." ". |
$r->print("<h2>".&mt('Unable to successfully change environment for')." ". |
$ENV{'form.ccuname'}." ".&mt('in domain')." ". |
$env{'form.ccuname'}." ".&mt('in domain')." ". |
$ENV{'form.ccdomain'}."</h2>"); |
$env{'form.ccdomain'}."</h2>"); |
} |
} |
} else { # End of if ($ENV ... ) logic |
} else { # End of if ($env ... ) logic |
# They did not want to change the users name but we can |
# They did not want to change the users name but we can |
# still tell them what the name is |
# still tell them what the name is |
my %lt=&Apache::lonlocal::texthash( |
my %lt=&Apache::lonlocal::texthash( |
Line 1071 END
|
Line 1081 END
|
'gen' => "Generation" |
'gen' => "Generation" |
); |
); |
$r->print(<<"END"); |
$r->print(<<"END"); |
<h2>$lt{'usr'} "$ENV{'form.ccuname'}" $lt{'id'} "$ENV{'form.ccdomain'}"</h2> |
<h2>$lt{'usr'} "$env{'form.ccuname'}" $lt{'id'} "$env{'form.ccdomain'}"</h2> |
<h4>$userenv{'firstname'} $userenv{'middlename'} $userenv{'lastname'} </h4> |
<h4>$userenv{'firstname'} $userenv{'middlename'} $userenv{'lastname'} </h4> |
<h4>$lt{'gen'}: $userenv{'generation'}</h4> |
<h4>$lt{'gen'}: $userenv{'generation'}</h4> |
END |
END |
Line 1080 END
|
Line 1090 END
|
## |
## |
my $now=time; |
my $now=time; |
$r->print('<h3>'.&mt('Modifying Roles').'</h3>'); |
$r->print('<h3>'.&mt('Modifying Roles').'</h3>'); |
foreach (keys (%ENV)) { |
foreach (keys (%env)) { |
next if (! $ENV{$_}); |
next if (! $env{$_}); |
# Revoke roles |
# Revoke roles |
if ($_=~/^form\.rev/) { |
if ($_=~/^form\.rev/) { |
if ($_=~/^form\.rev\:([^\_]+)\_([^\_\.]+)$/) { |
if ($_=~/^form\.rev\:([^\_]+)\_([^\_\.]+)$/) { |
# Revoke standard role |
# Revoke standard role |
$r->print(&mt('Revoking').' '.$2.' in '.$1.': <b>'. |
$r->print(&mt('Revoking').' '.$2.' in '.$1.': <b>'. |
&Apache::lonnet::revokerole($ENV{'form.ccdomain'}, |
&Apache::lonnet::revokerole($env{'form.ccdomain'}, |
$ENV{'form.ccuname'},$1,$2).'</b><br>'); |
$env{'form.ccuname'},$1,$2).'</b><br />'); |
if ($2 eq 'st') { |
if ($2 eq 'st') { |
$1=~/^\/(\w+)\/(\w+)/; |
$1=~/^\/(\w+)\/(\w+)/; |
my $cid=$1.'_'.$2; |
my $cid=$1.'_'.$2; |
$r->print(&mt('Drop from classlist').': <b>'. |
$r->print(&mt('Drop from classlist').': <b>'. |
&Apache::lonnet::critical('put:'. |
&Apache::lonnet::critical('put:'. |
$ENV{'course.'.$cid.'.domain'}.':'. |
$env{'course.'.$cid.'.domain'}.':'. |
$ENV{'course.'.$cid.'.num'}.':classlist:'. |
$env{'course.'.$cid.'.num'}.':classlist:'. |
&Apache::lonnet::escape($ENV{'form.ccuname'}.':'. |
&Apache::lonnet::escape($env{'form.ccuname'}.':'. |
$ENV{'form.ccdomain'}).'='. |
$env{'form.ccdomain'}).'='. |
&Apache::lonnet::escape($now.':'), |
&Apache::lonnet::escape($now.':'), |
$ENV{'course.'.$cid.'.home'}).'</b><br>'); |
$env{'course.'.$cid.'.home'}).'</b><br />'); |
} |
} |
} |
} |
if ($_=~/^form\.rev\:([^\_]+)\_cr\.cr\/(\w+)\/(\w+)\/(\w+)$/) { |
if ($_=~/^form\.rev\:([^\_]+)\_cr\.cr\/(\w+)\/(\w+)\/(\w+)$/) { |
# Revoke custom role |
# Revoke custom role |
$r->print(&mt('Revoking custom role'). |
$r->print(&mt('Revoking custom role'). |
' '.$4.' by '.$3.'@'.$2.' in '.$1.': <b>'. |
' '.$4.' by '.$3.'@'.$2.' in '.$1.': <b>'. |
&Apache::lonnet::revokecustomrole($ENV{'form.ccdomain'}, |
&Apache::lonnet::revokecustomrole($env{'form.ccdomain'}, |
$ENV{'form.ccuname'},$1,$2,$3,$4). |
$env{'form.ccuname'},$1,$2,$3,$4). |
'</b><br>'); |
'</b><br />'); |
} |
} |
} elsif ($_=~/^form\.del/) { |
} elsif ($_=~/^form\.del/) { |
if ($_=~/^form\.del\:([^\_]+)\_([^\_]+)$/) { |
if ($_=~/^form\.del\:([^\_]+)\_([^\_]+)$/) { |
$r->print(&mt('Deleting').' '.$2.' in '.$1.': '. |
$r->print(&mt('Deleting').' '.$2.' in '.$1.': '. |
&Apache::lonnet::assignrole($ENV{'form.ccdomain'}, |
&Apache::lonnet::assignrole($env{'form.ccdomain'}, |
$ENV{'form.ccuname'},$1,$2,$now,0,1).'<br>'); |
$env{'form.ccuname'},$1,$2,$now,0,1).'<br />'); |
if ($2 eq 'st') { |
if ($2 eq 'st') { |
$1=~/^\/(\w+)\/(\w+)/; |
$1=~/^\/(\w+)\/(\w+)/; |
my $cid=$1.'_'.$2; |
my $cid=$1.'_'.$2; |
$r->print(&mt('Drop from classlist').': <b>'. |
$r->print(&mt('Drop from classlist').': <b>'. |
&Apache::lonnet::critical('put:'. |
&Apache::lonnet::critical('put:'. |
$ENV{'course.'.$cid.'.domain'}.':'. |
$env{'course.'.$cid.'.domain'}.':'. |
$ENV{'course.'.$cid.'.num'}.':classlist:'. |
$env{'course.'.$cid.'.num'}.':classlist:'. |
&Apache::lonnet::escape($ENV{'form.ccuname'}.':'. |
&Apache::lonnet::escape($env{'form.ccuname'}.':'. |
$ENV{'form.ccdomain'}).'='. |
$env{'form.ccdomain'}).'='. |
&Apache::lonnet::escape($now.':'), |
&Apache::lonnet::escape($now.':'), |
$ENV{'course.'.$cid.'.home'}).'</b><br>'); |
$env{'course.'.$cid.'.home'}).'</b><br />'); |
} |
} |
} |
} |
} elsif ($_=~/^form\.ren/) { |
} elsif ($_=~/^form\.ren/) { |
my $udom = $ENV{'form.ccdomain'}; |
my $udom = $env{'form.ccdomain'}; |
my $uname = $ENV{'form.ccuname'}; |
my $uname = $env{'form.ccuname'}; |
if ($_=~/^form\.ren\:([^\_]+)\_([^\_]+)$/) { |
if ($_=~/^form\.ren\:([^\_]+)\_([^\_]+)$/) { |
my $url = $1; |
my $url = $1; |
my $role = $2; |
my $role = $2; |
Line 1149 END
|
Line 1159 END
|
} |
} |
} |
} |
} else { |
} else { |
my $result=&Apache::lonnet::assignrole($ENV{'form.ccdomain'}, |
my $result=&Apache::lonnet::assignrole($env{'form.ccdomain'}, |
$ENV{'form.ccuname'},$url,$role,0,$now); |
$env{'form.ccuname'},$url,$role,0,$now); |
$output = &mt('Re-Enabling [_1] in [_2]: [_3]', |
$output = &mt('Re-Enabling [_1] in [_2]: [_3]', |
$role,$url,$result).'<br />'; |
$role,$url,$result).'<br />'; |
} |
} |
$r->print($output); |
$r->print($output); |
} |
} |
} elsif ($_=~/^form\.act/) { |
} elsif ($_=~/^form\.act/) { |
my $udom = $ENV{'form.ccdomain'}; |
my $udom = $env{'form.ccdomain'}; |
my $uname = $ENV{'form.ccuname'}; |
my $uname = $env{'form.ccuname'}; |
if ($_=~/^form\.act\_([^\_]+)\_([^\_]+)\_cr_cr_([^\_]+)_(\w+)_([^\_]+)$/) { |
if ($_=~/^form\.act\_([^\_]+)\_([^\_]+)\_cr_cr_([^\_]+)_(\w+)_([^\_]+)$/) { |
# Activate a custom role |
# Activate a custom role |
my ($one,$two,$three,$four,$five)=($1,$2,$3,$4,$5); |
my ($one,$two,$three,$four,$five)=($1,$2,$3,$4,$5); |
my $url='/'.$one.'/'.$two; |
my $url='/'.$one.'/'.$two; |
my $full=$one.'_'.$two.'_cr_cr_'.$three.'_'.$four.'_'.$five; |
my $full=$one.'_'.$two.'_cr_cr_'.$three.'_'.$four.'_'.$five; |
|
|
my $start = ( $ENV{'form.start_'.$full} ? |
my $start = ( $env{'form.start_'.$full} ? |
$ENV{'form.start_'.$full} : |
$env{'form.start_'.$full} : |
$now ); |
$now ); |
my $end = ( $ENV{'form.end_'.$full} ? |
my $end = ( $env{'form.end_'.$full} ? |
$ENV{'form.end_'.$full} : |
$env{'form.end_'.$full} : |
0 ); |
0 ); |
|
|
# split multiple sections |
# split multiple sections |
my %sections = (); |
my %sections = (); |
my $num_sections = &build_roles($ENV{'form.sec_'.$full},\%sections,$5); |
my $num_sections = &build_roles($env{'form.sec_'.$full},\%sections,$5); |
if ($num_sections == 0) { |
if ($num_sections == 0) { |
$r->print(&commit_customrole($udom,$uname,$url,$three,$four,$five,$start,$end)); |
$r->print(&commit_customrole($udom,$uname,$url,$three,$four,$five,$start,$end)); |
} else { |
} else { |
Line 1187 END
|
Line 1197 END
|
# Activate roles for sections with 3 id numbers |
# Activate roles for sections with 3 id numbers |
# set start, end times, and the url for the class |
# set start, end times, and the url for the class |
my ($one,$two,$three)=($1,$2,$3); |
my ($one,$two,$three)=($1,$2,$3); |
my $start = ( $ENV{'form.start_'.$one.'_'.$two.'_'.$three} ? |
my $start = ( $env{'form.start_'.$one.'_'.$two.'_'.$three} ? |
$ENV{'form.start_'.$one.'_'.$two.'_'.$three} : |
$env{'form.start_'.$one.'_'.$two.'_'.$three} : |
$now ); |
$now ); |
my $end = ( $ENV{'form.end_'.$one.'_'.$two.'_'.$three} ? |
my $end = ( $env{'form.end_'.$one.'_'.$two.'_'.$three} ? |
$ENV{'form.end_'.$one.'_'.$two.'_'.$three} : |
$env{'form.end_'.$one.'_'.$two.'_'.$three} : |
0 ); |
0 ); |
my $url='/'.$one.'/'.$two; |
my $url='/'.$one.'/'.$two; |
my $type = 'three'; |
my $type = 'three'; |
# split multiple sections |
# split multiple sections |
my %sections = (); |
my %sections = (); |
my $num_sections = &build_roles($ENV{'form.sec_'.$one.'_'.$two.'_'.$three},\%sections,$three); |
my $num_sections = &build_roles($env{'form.sec_'.$one.'_'.$two.'_'.$three},\%sections,$three); |
if ($num_sections == 0) { |
if ($num_sections == 0) { |
$r->print(&commit_standardrole($udom,$uname,$url,$three,$start,$end,$one,$two,'')); |
$r->print(&commit_standardrole($udom,$uname,$url,$three,$start,$end,$one,$two,'')); |
} else { |
} else { |
Line 1218 END
|
Line 1228 END
|
} elsif ($_=~/^form\.act\_([^\_]+)\_([^\_]+)$/) { |
} elsif ($_=~/^form\.act\_([^\_]+)\_([^\_]+)$/) { |
# Activate roles for sections with two id numbers |
# Activate roles for sections with two id numbers |
# set start, end times, and the url for the class |
# set start, end times, and the url for the class |
my $start = ( $ENV{'form.start_'.$1.'_'.$2} ? |
my $start = ( $env{'form.start_'.$1.'_'.$2} ? |
$ENV{'form.start_'.$1.'_'.$2} : |
$env{'form.start_'.$1.'_'.$2} : |
$now ); |
$now ); |
my $end = ( $ENV{'form.end_'.$1.'_'.$2} ? |
my $end = ( $env{'form.end_'.$1.'_'.$2} ? |
$ENV{'form.end_'.$1.'_'.$2} : |
$env{'form.end_'.$1.'_'.$2} : |
0 ); |
0 ); |
my $url='/'.$1.'/'; |
my $url='/'.$1.'/'; |
# split multiple sections |
# split multiple sections |
my %sections = (); |
my %sections = (); |
my $num_sections = &build_roles($ENV{'form.sec_'.$1.'_'.$2},\%sections,$2); |
my $num_sections = &build_roles($env{'form.sec_'.$1.'_'.$2},\%sections,$2); |
if ($num_sections == 0) { |
if ($num_sections == 0) { |
$r->print(&commit_standardrole($udom,$uname,$url,$2,$start,$end,$1,undef,'')); |
$r->print(&commit_standardrole($udom,$uname,$url,$2,$start,$end,$1,undef,'')); |
} else { |
} else { |
Line 1245 END
|
Line 1255 END
|
} |
} |
} |
} |
} else { |
} else { |
$r->print('<p>'.&mt('ERROR').': '.&mt('Unknown command').' <tt>'.$_.'</tt></p><br>'); |
$r->print('<p>'.&mt('ERROR').': '.&mt('Unknown command').' <tt>'.$_.'</tt></p><br />'); |
} |
} |
} |
} |
} # End of foreach (keys(%ENV)) |
} # End of foreach (keys(%env)) |
# Flush the course logs so reverse user roles immediately updated |
# Flush the course logs so reverse user roles immediately updated |
&Apache::lonnet::flushcourselogs(); |
&Apache::lonnet::flushcourselogs(); |
|
$r->print('<p><a href="/adm/createuser">Create/Modify Another User</a></p>'); |
$r->print('</body></html>'); |
$r->print('</body></html>'); |
} |
} |
|
|
Line 1261 sub commit_customrole {
|
Line 1272 sub commit_customrole {
|
($end?', ending '.localtime($end):'').': <b>'. |
($end?', ending '.localtime($end):'').': <b>'. |
&Apache::lonnet::assigncustomrole( |
&Apache::lonnet::assigncustomrole( |
$udom,$uname,$url,$three,$four,$five,$end,$start). |
$udom,$uname,$url,$three,$four,$five,$end,$start). |
'</b><br>'; |
'</b><br />'; |
return $output; |
return $output; |
} |
} |
|
|
Line 1286 sub commit_standardrole {
|
Line 1297 sub commit_standardrole {
|
($end?', '.&mt('ending').' '.localtime($end):'').': <b>'. |
($end?', '.&mt('ending').' '.localtime($end):'').': <b>'. |
&Apache::lonnet::assignrole( |
&Apache::lonnet::assignrole( |
$udom,$uname,$url,$three,$end,$start). |
$udom,$uname,$url,$three,$end,$start). |
'</b><br>'; |
'</b><br />'; |
} |
} |
return $output; |
return $output; |
} |
} |
Line 1374 sub build_roles {
|
Line 1385 sub build_roles {
|
|
|
sub custom_role_editor { |
sub custom_role_editor { |
my $r=shift; |
my $r=shift; |
my $rolename=$ENV{'form.rolename'}; |
my $rolename=$env{'form.rolename'}; |
|
|
if ($rolename eq 'make new role') { |
if ($rolename eq 'make new role') { |
$rolename=$ENV{'form.newrolename'}; |
$rolename=$env{'form.newrolename'}; |
} |
} |
|
|
$rolename=~s/[^A-Za-z0-9]//gs; |
$rolename=~s/[^A-Za-z0-9]//gs; |
Line 1473 ENDCCF
|
Line 1484 ENDCCF
|
sub set_custom_role { |
sub set_custom_role { |
my $r=shift; |
my $r=shift; |
|
|
my $rolename=$ENV{'form.rolename'}; |
my $rolename=$env{'form.rolename'}; |
|
|
$rolename=~s/[^A-Za-z0-9]//gs; |
$rolename=~s/[^A-Za-z0-9]//gs; |
|
|
Line 1502 sub set_custom_role {
|
Line 1513 sub set_custom_role {
|
foreach (split(/\:/,$Apache::lonnet::pr{'cr:c'})) { |
foreach (split(/\:/,$Apache::lonnet::pr{'cr:c'})) { |
my ($priv,$restrict)=split(/\&/,$_); |
my ($priv,$restrict)=split(/\&/,$_); |
unless ($restrict) { $restrict=''; } |
unless ($restrict) { $restrict=''; } |
if ($ENV{'form.'.$priv.':c'}) { |
if ($env{'form.'.$priv.':c'}) { |
$courole.=':'.$_; |
$courole.=':'.$_; |
} |
} |
} |
} |
Line 1510 sub set_custom_role {
|
Line 1521 sub set_custom_role {
|
foreach (split(/\:/,$Apache::lonnet::pr{'cr:d'})) { |
foreach (split(/\:/,$Apache::lonnet::pr{'cr:d'})) { |
my ($priv,$restrict)=split(/\&/,$_); |
my ($priv,$restrict)=split(/\&/,$_); |
unless ($restrict) { $restrict=''; } |
unless ($restrict) { $restrict=''; } |
if ($ENV{'form.'.$priv.':d'}) { |
if ($env{'form.'.$priv.':d'}) { |
$domrole.=':'.$_; |
$domrole.=':'.$_; |
} |
} |
} |
} |
Line 1518 sub set_custom_role {
|
Line 1529 sub set_custom_role {
|
foreach (split(/\:/,$Apache::lonnet::pr{'cr:s'})) { |
foreach (split(/\:/,$Apache::lonnet::pr{'cr:s'})) { |
my ($priv,$restrict)=split(/\&/,$_); |
my ($priv,$restrict)=split(/\&/,$_); |
unless ($restrict) { $restrict=''; } |
unless ($restrict) { $restrict=''; } |
if ($ENV{'form.'.$priv.':s'}) { |
if ($env{'form.'.$priv.':s'}) { |
$sysrole.=':'.$_; |
$sysrole.=':'.$_; |
} |
} |
} |
} |
$r->print('<br />Defining Role: '. |
$r->print('<br />Defining Role: '. |
&Apache::lonnet::definerole($rolename,$sysrole,$domrole,$courole)); |
&Apache::lonnet::definerole($rolename,$sysrole,$domrole,$courole)); |
if ($ENV{'request.course.id'}) { |
if ($env{'request.course.id'}) { |
my $url='/'.$ENV{'request.course.id'}; |
my $url='/'.$env{'request.course.id'}; |
$url=~s/\_/\//g; |
$url=~s/\_/\//g; |
$r->print('<br />'.&mt('Assigning Role to Self').': '. |
$r->print('<br />'.&mt('Assigning Role to Self').': '. |
&Apache::lonnet::assigncustomrole($ENV{'user.domain'}, |
&Apache::lonnet::assigncustomrole($env{'user.domain'}, |
$ENV{'user.name'}, |
$env{'user.name'}, |
$url, |
$url, |
$ENV{'user.domain'}, |
$env{'user.domain'}, |
$ENV{'user.name'}, |
$env{'user.name'}, |
$rolename)); |
$rolename)); |
} |
} |
$r->print('</body></html>'); |
$r->print('</body></html>'); |
Line 1548 sub handler {
|
Line 1559 sub handler {
|
return OK; |
return OK; |
} |
} |
|
|
if ((&Apache::lonnet::allowed('cta',$ENV{'request.course.id'})) || |
if ((&Apache::lonnet::allowed('cta',$env{'request.course.id'})) || |
(&Apache::lonnet::allowed('cin',$ENV{'request.course.id'})) || |
(&Apache::lonnet::allowed('cin',$env{'request.course.id'})) || |
(&Apache::lonnet::allowed('ccr',$ENV{'request.course.id'})) || |
(&Apache::lonnet::allowed('ccr',$env{'request.course.id'})) || |
(&Apache::lonnet::allowed('cep',$ENV{'request.course.id'})) || |
(&Apache::lonnet::allowed('cep',$env{'request.course.id'})) || |
(&Apache::lonnet::allowed('cca',$ENV{'request.role.domain'})) || |
(&authorpriv($env{'user.name'},$env{'request.role.domain'})) || |
(&Apache::lonnet::allowed('mau',$ENV{'request.role.domain'}))) { |
(&Apache::lonnet::allowed('mau',$env{'request.role.domain'}))) { |
&Apache::loncommon::content_type($r,'text/html'); |
&Apache::loncommon::content_type($r,'text/html'); |
$r->send_http_header; |
$r->send_http_header; |
unless ($ENV{'form.phase'}) { |
unless ($env{'form.phase'}) { |
&print_username_entry_form($r); |
&print_username_entry_form($r); |
} |
} |
if ($ENV{'form.phase'} eq 'get_user_info') { |
if ($env{'form.phase'} eq 'get_user_info') { |
&print_user_modification_page($r); |
&print_user_modification_page($r); |
} elsif ($ENV{'form.phase'} eq 'update_user_data') { |
} elsif ($env{'form.phase'} eq 'update_user_data') { |
&update_user_data($r); |
&update_user_data($r); |
} elsif ($ENV{'form.phase'} eq 'selected_custom_edit') { |
} elsif ($env{'form.phase'} eq 'selected_custom_edit') { |
&custom_role_editor($r); |
&custom_role_editor($r); |
} elsif ($ENV{'form.phase'} eq 'set_custom_roles') { |
} elsif ($env{'form.phase'} eq 'set_custom_roles') { |
&set_custom_role($r); |
&set_custom_role($r); |
} |
} |
} else { |
} else { |
$ENV{'user.error.msg'}= |
$env{'user.error.msg'}= |
"/adm/createuser:mau:0:0:Cannot modify user data"; |
"/adm/createuser:mau:0:0:Cannot modify user data"; |
return HTTP_NOT_ACCEPTABLE; |
return HTTP_NOT_ACCEPTABLE; |
} |
} |
Line 1610 sub course_level_table {
|
Line 1621 sub course_level_table {
|
my ($domain,$cnum)=split(/\//,$thiscourse); |
my ($domain,$cnum)=split(/\//,$thiscourse); |
my %sections_count = (); |
my %sections_count = (); |
my $num_sections = 0; |
my $num_sections = 0; |
if (defined($ENV{'request.course.id'})) { |
if (defined($env{'request.course.id'})) { |
if ($ENV{'request.course.id'} eq $domain.'_'.$cnum) { |
if ($env{'request.course.id'} eq $domain.'_'.$cnum) { |
$num_sections = &Apache::loncommon::get_sections($domain,$cnum,\%sections_count); |
$num_sections = &Apache::loncommon::get_sections($domain,$cnum,\%sections_count); |
} |
} |
} |
} |
Line 1658 ENDTIMEENTRY
|
Line 1669 ENDTIMEENTRY
|
foreach (sort keys %customroles) { |
foreach (sort keys %customroles) { |
if (&Apache::lonnet::allowed('ccr',$thiscourse)) { |
if (&Apache::lonnet::allowed('ccr',$thiscourse)) { |
my $plrole=$_; |
my $plrole=$_; |
my $customrole=$protectedcourse.'_cr_cr_'.$ENV{'user.domain'}. |
my $customrole=$protectedcourse.'_cr_cr_'.$env{'user.domain'}. |
'_'.$ENV{'user.name'}.'_'.$plrole; |
'_'.$env{'user.name'}.'_'.$plrole; |
$table .= <<END; |
$table .= <<END; |
<tr bgcolor="#$bgcol"> |
<tr bgcolor="#$bgcol"> |
<td><input type="checkbox" name="act_$customrole"></td> |
<td><input type="checkbox" name="act_$customrole"></td> |
Line 1759 sub course_level_dc {
|
Line 1770 sub course_level_dc {
|
} |
} |
if ( keys %customroles > 0) { |
if ( keys %customroles > 0) { |
foreach (sort keys %customroles) { |
foreach (sort keys %customroles) { |
my $custrole='cr_cr_'.$ENV{'user.domain'}. |
my $custrole='cr_cr_'.$env{'user.domain'}. |
'_'.$ENV{'user.name'}.'_'.$_; |
'_'.$env{'user.name'}.'_'.$_; |
$otheritems .= ' <option value="'.$custrole.'">'.$_; |
$otheritems .= ' <option value="'.$custrole.'">'.$_; |
} |
} |
} |
} |