version 1.32, 2009/08/17 03:52:09
|
version 1.33, 2010/09/26 02:10:49
|
Line 616 sub display_three {
|
Line 616 sub display_three {
|
# ---------------------------------------------------------------- Get LON-CAPA Course Coordinator roles for this user |
# ---------------------------------------------------------------- Get LON-CAPA Course Coordinator roles for this user |
sub get_ccroles { |
sub get_ccroles { |
my ($user,$dom,$crsentry,$crslist) = @_; |
my ($user,$dom,$crsentry,$crslist) = @_; |
my %roles = (); |
my %roles; |
unless ($user eq '') { |
unless ($user eq '') { |
%roles = &Apache::lonnet::dump('roles',$dom,$user); |
my $ccrole = 'cc'; |
|
%roles = &Apache::lonnet::get_my_roles($user,$dom,'userroles',undef,[$ccrole]); |
} |
} |
my $iter = 0; |
my $iter = 0; |
my @codes = (); |
my @codes = (); |
my %courses = (); |
my %courses = (); |
my @crslist = (); |
my @crslist = (); |
my %descrip =(); |
my %descrip =(); |
foreach my $key (keys %roles ) { |
foreach my $key (keys(%roles)) { |
if ($key =~ m{^/($LONCAPA::domain_re)/($LONCAPA::username_re)_cc$}) { |
if ($key =~ m{^/($LONCAPA::domain_re)/($LONCAPA::username_re)_cc$}) { |
my $cdom = $1; |
my $cdom = $1; |
my $crs = $2; |
my $crs = $2; |
my $role_end = 0; |
my $currcode = ''; |
my $role_start = 0; |
my %settings = &Apache::lonnet::get('environment',['internal.coursecode','description'],$cdom,$crs); |
my $active_chk = 1; |
if (defined($settings{'description'}) ) { |
if ( $roles{$key} =~ m/^cc_(\d+)/ ) { |
$descrip{$crs} = $settings{'description'}; |
$role_end = $1; |
} else { |
if ( $roles{$key} =~ m/^cc_($role_end)_(\d+)$/ ) |
$descrip{$crs} = 'Unknown'; |
{ |
|
$role_start = $2; |
|
} |
|
} |
|
if ($role_start > 0) { |
|
if (time < $role_start) { |
|
$active_chk = 0; |
|
} |
|
} |
|
if ($role_end > 0) { |
|
if (time > $role_end) { |
|
$active_chk = 0; |
|
} |
|
} |
} |
if ($active_chk) { |
if (defined($settings{'internal.coursecode'}) ) { |
my $currcode = ''; |
$currcode = $settings{'internal.coursecode'}; |
my %settings = &Apache::lonnet::get('environment',['internal.coursecode','description'],$cdom,$crs); |
if ($currcode eq '') { |
if (defined($settings{'description'}) ) { |
|
$descrip{$crs} = $settings{'description'}; |
|
} else { |
|
$descrip{$crs} = 'Unknown'; |
|
} |
|
if (defined($settings{'internal.coursecode'}) ) { |
|
$currcode = $settings{'internal.coursecode'}; |
|
if ($currcode eq '') { |
|
$currcode = "____".$iter; |
|
$iter ++; |
|
} |
|
} else { |
|
$currcode = "____".$iter; |
$currcode = "____".$iter; |
$iter ++; |
$iter ++; |
} |
} |
unless (grep/^$currcode$/,@codes) { |
} else { |
push @codes,$currcode; |
$currcode = "____".$iter; |
@{$courses{$currcode}} = (); |
$iter ++; |
} |
} |
push @{$courses{$currcode}}, $cdom.'/'.$crs; |
unless (grep/^$currcode$/,@codes) { |
|
push @codes,$currcode; |
|
@{$courses{$currcode}} = (); |
} |
} |
|
push @{$courses{$currcode}}, $cdom.'/'.$crs; |
} |
} |
} |
} |
foreach my $code (sort @codes) { |
foreach my $code (sort @codes) { |