[LON-CAPA-cvs] cvs: loncom(version_2_11_X) /auth lonroles.pm
raeburn
raeburn at source.lon-capa.org
Sun Feb 23 21:24:16 EST 2014
raeburn Mon Feb 24 02:24:16 2014 EDT
Modified files: (Branch: version_2_11_X)
/loncom/auth lonroles.pm
Log:
- For 2.11
- Backport 1.295, 1.296, 1.297.
Index: loncom/auth/lonroles.pm
diff -u loncom/auth/lonroles.pm:1.269.2.15 loncom/auth/lonroles.pm:1.269.2.16
--- loncom/auth/lonroles.pm:1.269.2.15 Mon Jan 13 03:56:42 2014
+++ loncom/auth/lonroles.pm Mon Feb 24 02:24:16 2014
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# User Roles Screen
#
-# $Id: lonroles.pm,v 1.269.2.15 2014/01/13 03:56:42 raeburn Exp $
+# $Id: lonroles.pm,v 1.269.2.16 2014/02/24 02:24:16 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -294,7 +294,7 @@
"request.role.domain" => $env{'user.domain'}});
# Check if user is a DC trying to enter a course or author space and needs privs to be created
if ($numdc > 0) {
- foreach my $envkey (keys %env) {
+ foreach my $envkey (keys(%env)) {
# Is this an ad-hoc Coordinator role?
if (my ($ccrole,$domain,$coursenum) =
($envkey =~ m-^form\.(cc|co)\./($match_domain)/($match_courseid)$-)) {
@@ -364,7 +364,7 @@
}
}
- foreach $envkey (keys %env) {
+ foreach $envkey (keys(%env)) {
next if ($envkey!~/^user\.role\./);
my ($where,$trolecode,$role,$tstatus,$tend,$tstart);
&Apache::lonnet::role_status($envkey,$update,$refresh,$now,\$role,\$where,
@@ -597,13 +597,8 @@
} else {
# Check to see if the user is a CC entering a course
# for the first time
- my (undef, undef, $role, $courseid) = split(/\./, $envkey);
- if (substr($courseid, 0, 1) eq '/') {
- $courseid = substr($courseid, 1);
- }
- $courseid =~ s/\//_/;
if ((($role eq 'cc') || ($role eq 'co'))
- && ($env{'course.' . $courseid .'.course.helper.not.run'})) {
+ && ($env{'course.' .$cdom.'_'.$cnum.'.course.helper.not.run'})) {
$furl = "/adm/helper/course.initialization.helper";
# Send the user to the course they selected
} elsif ($env{'request.course.id'}) {
@@ -655,7 +650,7 @@
}
}
&redirect_user($r, &mt('Entering [_1]',
- $env{'course.'.$courseid.'.description'}),
+ $env{'course.'.$env{'request.course.id'}.'.description'}),
$dest, $msg);
return OK;
}
@@ -665,10 +660,10 @@
$env{'request.course.id'}.'/'
.$env{'request.course.sec'})
) {
- my $startpage = &courseloadpage($courseid);
+ my $startpage = &courseloadpage($env{'request.course.id'});
unless ($startpage eq 'firstres') {
$msg = &mt('Entering [_1] ...',
- $env{'course.'.$courseid.'.description'});
+ $env{'course.'.$env{'request.course.id'}.'.description'});
&redirect_user($r, &mt('New in course'),
'/adm/whatsnew?refpage=start', $msg);
return OK;
@@ -681,9 +676,9 @@
$furl=&Apache::lonpageflip::first_accessible_resource();
}
$msg = &mt('Entering [_1] ...',
- $env{'course.'.$courseid.'.description'});
+ $env{'course.'.$cdom.'_'.$cnum.'.description'});
&redirect_user($r, &mt('Entering [_1]',
- $env{'course.'.$courseid.'.description'}),
+ $env{'course.'.$cdom.'_'.$cnum.'.description'}),
$furl, $msg);
}
return OK;
@@ -895,11 +890,13 @@
my $esc_dom = &HTML::Entities::encode($env{'user.domain'},'"<>&');
$r->print(
'<p>'
- .&mt('[_1]Visit the [_2]Course/Community Catalog[_3]'
- .' to view all [_4] LON-CAPA courses and communities.'
+ .&mt('[_1]Visit the [_2]Course/Community Catalog[_3][_4]'
+ .' to view all [_5] LON-CAPA courses and communities.'
,'<b>'
,'<a href="/adm/coursecatalog?showdom='.$esc_dom.'">'
- ,'</a></b>',$domdesc)
+ ,'</a>'
+ ,'</b>'
+ ,'"'. $domdesc.'"')
.'<br />'
.&mt('If a course or community is [_1]not[_2] in your list of current courses and communities below,'
.' you may be able to enroll if self-enrollment is permitted.'
@@ -1608,24 +1605,6 @@
return ($roletext,$roletext_end);
}
-sub check_needs_switchserver {
- my ($possiblerole) = @_;
- my $needs_switchserver;
- my ($role,$where) = split(/\./,$possiblerole,2);
- my (undef,$tdom,$twho) = split(/\//,$where);
- my ($server_status,$home);
- if (($role eq 'ca') || ($role eq 'aa')) {
- ($server_status,$home) = &check_author_homeserver($twho,$tdom);
- } else {
- ($server_status,$home) = &check_author_homeserver($env{'user.name'},
- $env{'user.domain'});
- }
- if ($server_status eq 'switchserver') {
- $needs_switchserver = 1;
- }
- return $needs_switchserver;
-}
-
sub check_author_homeserver {
my ($uname,$udom)=@_;
if (($uname eq '') || ($udom eq '')) {
@@ -1691,7 +1670,7 @@
}
}
if ($setprivs) {
- if ($env{'form.switchrole'} =~ m-^(in|ta|ep|ad|st|cr)([\w/]*)\./\Q$cdom\E/\Q$cnum\E/?(\w*)$-) {
+ if ($env{'form.switchrole'} =~ m-^(in|ta|ep|ad|st|cr)(.*?)\./\Q$cdom\E/\Q$cnum\E/?(\w*)$-) {
my $role = $1;
my $custom_role = $2;
my $usec = $3;
@@ -2237,7 +2216,8 @@
my $status_in_env =
&curr_role_status($currstart,$currend,$refresh,$update);
my ($rolekey) = ($envkey =~ /^user\.role\.(.+)$/);
- my ($role,$rest)=split(/\./,$rolekey,2);
+ my ($role,$rest)=split(m{\./},$rolekey,2);
+ $rest = '/'.$rest;
if (&Apache::lonnet::delenv($envkey,undef,[$role])) {
if ($status_in_env eq 'active') {
if ($role eq 'gr') {
@@ -2766,7 +2746,7 @@
$env{'user.name'},'^status:');
foreach my $key (keys(%statusinfo)) {
next unless (($statusinfo{$key} eq 'approval') || ($statusinfo{$key} eq 'pending'));
- (undef,my($cdom,$cnum)) = split(':',$key);
+ (undef,my($cdom,$cnum)) = split(/:/,$key);
my $requestkey = $cdom.'_'.$cnum;
if ($requestkey =~ /^($match_domain)_($match_courseid)$/) {
my %history = &Apache::lonnet::restore($requestkey,'courserequests',
More information about the LON-CAPA-cvs
mailing list