--- loncom/interface/lonstatistics.pm 2005/03/21 19:47:53 1.122 +++ loncom/interface/lonstatistics.pm 2006/03/15 19:41:26 1.129 @@ -1,6 +1,6 @@ # The LearningOnline Network with CAPA # -# $Id: lonstatistics.pm,v 1.122 2005/03/21 19:47:53 matthew Exp $ +# $Id: lonstatistics.pm,v 1.129 2006/03/15 19:41:26 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -55,7 +55,7 @@ use vars qw( @SelectedStudentData $enrollment_status); -use Apache::lonnet(); +use Apache::lonnet; use Apache::lonhomework; use Apache::loncommon; use Apache::loncoursedata; @@ -73,6 +73,7 @@ use Apache::lonstudentassessment(); use Apache::lonpercentage; use Apache::lonstudentsubmissions(); use Apache::lonsurveyreports(); +use Apache::longradinganalysis(); ####################################################### ####################################################### @@ -194,16 +195,16 @@ sub PrepareClasslist { &clear_classlist_variables(); # # Retrieve the classlist - my $cid = $ENV{'request.course.id'}; - my $cdom = $ENV{'course.'.$cid.'.domain'}; - my $cnum = $ENV{'course.'.$cid.'.num'}; - my ($classlist,$field_names) = &Apache::loncoursedata::get_classlist($cid, - $cdom,$cnum); + my $cid = $env{'request.course.id'}; + my $cdom = $env{'course.'.$cid.'.domain'}; + my $cnum = $env{'course.'.$cid.'.num'}; + my ($classlist,$field_names) = &Apache::loncoursedata::get_classlist($cdom, + $cnum); my @selected_sections = &get_selected_sections(); # # Deal with instructors with restricted section access - if ($ENV{'request.course.sec'} !~ /^\s*$/) { - @selected_sections = ($ENV{'request.course.sec'}); + if ($env{'request.course.sec'} !~ /^\s*$/) { + @selected_sections = ($env{'request.course.sec'}); } # # Set up %StudentData @@ -217,7 +218,7 @@ sub PrepareClasslist { # # get the status requested $enrollment_status = 'Active'; - $enrollment_status = $ENV{'form.Status'} if (exists($ENV{'form.Status'})); + $enrollment_status = $env{'form.Status'} if (exists($env{'form.Status'})); # # Process the classlist while (my ($student,$student_data) = each (%$classlist)) { @@ -257,8 +258,8 @@ sub PrepareClasslist { } # # Put the consolidated section data in the right place - if ($ENV{'request.course.sec'} !~ /^\s*$/) { - @Sections = ($ENV{'request.course.sec'}); + if ($env{'request.course.sec'} !~ /^\s*$/) { + @Sections = ($env{'request.course.sec'}); } else { @Sections = sort {$a cmp $b} keys(%Sections); unshift(@Sections,'all'); # Put 'all' at the front of the list @@ -266,16 +267,17 @@ sub PrepareClasslist { # # Sort the Students my $sortby = 'fullname'; - $sortby = $ENV{'form.sort'} if (exists($ENV{'form.sort'})); - my @TmpStudents = sort { $a->{$sortby} cmp $b->{$sortby} || - $a->{'fullname'} cmp $b->{'fullname'} } @Students; + $sortby = $env{'form.sort'} if (exists($env{'form.sort'})); + my @TmpStudents = sort { lc($a->{$sortby}) cmp lc($b->{$sortby}) || + lc($a->{'fullname'}) cmp lc($b->{'fullname'}) || + lc($a->{'username'}) cmp lc($b->{'username'}) } @Students; @Students = @TmpStudents; # # Now deal with that current student thing.... $curr_student = undef; - if (exists($ENV{'form.SelectedStudent'})) { + if (exists($env{'form.SelectedStudent'})) { my ($current_uname,$current_dom) = - split(':',$ENV{'form.SelectedStudent'}); + split(':',$env{'form.SelectedStudent'}); my $i; for ($i = 0; $i<=$#Students; $i++) { next if (($Students[$i]->{'username'} ne $current_uname) || @@ -297,12 +299,9 @@ sub PrepareClasslist { } } # - if (exists($ENV{'form.StudentData'})) { - if (ref($ENV{'form.StudentData'}) eq 'ARRAY') { - @SelectedStudentData = @{$ENV{'form.StudentData'}}; - } else { - @SelectedStudentData = ($ENV{'form.StudentData'}); - } + if (exists($env{'form.StudentData'})) { + @SelectedStudentData = + &Apache::loncommon::get_env_multiple('form.StudentData'); } else { @SelectedStudentData = ('username'); } @@ -330,14 +329,8 @@ Returns an array of the selected section ####################################################### ####################################################### sub get_selected_sections { - my @selected_sections; - if (exists($ENV{'form.Section'})) { - if (ref($ENV{'form.Section'})) { - @selected_sections = @{$ENV{'form.Section'}}; - } elsif ($ENV{'form.Section'} !~ /^\s*$/) { - @selected_sections = ($ENV{'form.Section'}); - } - } + my @selected_sections = + &Apache::loncommon::get_env_multiple('form.Section'); @selected_sections = ('all') if (! @selected_sections); foreach (@selected_sections) { if ($_ eq 'all') { @@ -346,8 +339,8 @@ sub get_selected_sections { } # # Deal with instructors with restricted section access - if ($ENV{'request.course.sec'} !~ /^\s*$/) { - @selected_sections = ($ENV{'request.course.sec'}); + if ($env{'request.course.sec'} !~ /^\s*$/) { + @selected_sections = ($env{'request.course.sec'}); } return @selected_sections; } @@ -386,29 +379,29 @@ sub section_and_enrollment_description { if (scalar(@sections) == 1 && $sections[0] ne 'all') { if ($mode eq 'localized') { $description = &mt('Section [_1]. [_2] enrollment status.', - $sections[0],$ENV{'form.Status'}); + $sections[0],$env{'form.Status'}); } elsif ($mode eq 'plaintext') { $description = 'Section '.$sections[0].'. '. - $ENV{'form.Status'}.' enrollment status.'; + $env{'form.Status'}.' enrollment status.'; } } elsif (scalar(@sections) && $sections[0] eq 'all') { if ($mode eq 'localized') { $description = &mt('All sections. [_1] enrollment status.', - $ENV{'form.Status'}); + $env{'form.Status'}); } elsif ($mode eq 'plaintext') { $description = 'All sections. '. - $ENV{'form.Status'}.' enrollment status.'; + $env{'form.Status'}.' enrollment status.'; } } elsif (scalar(@sections)) { my $lastsection = pop(@sections); if ($mode eq 'localized') { $description = &mt('Sections [_1] and [_2]. [_3] enrollment status.', join(', ',@sections),$lastsection, - $ENV{'form.Status'}); + $env{'form.Status'}); } elsif ($mode eq 'plaintext') { $description = 'Sections '.join(', ',@sections).' and '.$lastsection.'. '. - $ENV{'form.Status'}.' enrollment status.'; + $env{'form.Status'}.' enrollment status.'; } } return $description; @@ -569,16 +562,9 @@ Returns: Array of symbs of selected maps ####################################################### sub get_selected_maps { my ($elementname) = @_; - my @selected_maps; - if (exists($ENV{'form.'.$elementname})) { - if (ref($ENV{'form.'.$elementname})) { - @selected_maps = @{$ENV{'form.'.$elementname}}; - } else { - @selected_maps = ($ENV{'form.'.$elementname}); - } - } else { - @selected_maps = ('all'); - } + my @selected_maps = + &Apache::loncommon::get_env_multiple('form.'.$elementname); + @selected_maps = ('all') if (! @selected_maps); foreach my $map (@selected_maps) { if ($map eq 'all') { @selected_maps = ('all'); @@ -808,30 +794,30 @@ sub DisplayClasslist { my @selected_sections = &get_selected_sections(); if (! @Students) { if ($selected_sections[0] eq 'all') { - if (lc($ENV{'form.Status'}) eq 'any') { + if (lc($env{'form.Status'}) eq 'any') { $Str .= '