[LON-CAPA-cvs] cvs: loncom /interface loncommon.pm
raeburn
raeburn at source.lon-capa.org
Tue Mar 19 21:26:15 EDT 2013
raeburn Wed Mar 20 01:26:15 2013 EDT
Modified files:
/loncom/interface loncommon.pm
Log:
- &get_sections() efficiency.
Skip dump of nohist_userroles in course if st is only role in possible_roles.
Index: loncom/interface/loncommon.pm
diff -u loncom/interface/loncommon.pm:1.1117 loncom/interface/loncommon.pm:1.1118
--- loncom/interface/loncommon.pm:1.1117 Tue Mar 19 00:37:03 2013
+++ loncom/interface/loncommon.pm Wed Mar 20 01:26:15 2013
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# a pile of common routines
#
-# $Id: loncommon.pm,v 1.1117 2013/03/19 00:37:03 raeburn Exp $
+# $Id: loncommon.pm,v 1.1118 2013/03/20 01:26:15 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -8225,7 +8225,19 @@
my %sectioncount;
my $now = time;
- if (!defined($possible_roles) || (grep(/^st$/,@$possible_roles))) {
+ my $check_students = 1;
+ my $only_students = 0;
+ if (ref($possible_roles) eq 'ARRAY') {
+ if (grep(/^st$/,@{$possible_roles})) {
+ if (@{$possible_roles} == 1) {
+ $only_students = 1;
+ }
+ } else {
+ $check_students = 0;
+ }
+ }
+
+ if ($check_students) {
my ($classlist) = &Apache::loncoursedata::get_classlist($cdom,$cnum);
my $sec_index = &Apache::loncoursedata::CL_SECTION();
my $status_index = &Apache::loncoursedata::CL_STATUS();
@@ -8252,6 +8264,9 @@
}
}
}
+ if ($only_students) {
+ return %sectioncount;
+ }
my %courseroles = &Apache::lonnet::dump('nohist_userroles',$cdom,$cnum);
foreach my $user (sort(keys(%courseroles))) {
if ($user !~ /^(\w{2})/) { next; }
More information about the LON-CAPA-cvs
mailing list