--- loncom/interface/lonstatistics.pm 2003/08/27 21:33:33 1.79
+++ loncom/interface/lonstatistics.pm 2003/09/29 18:32:38 1.82
@@ -1,6 +1,6 @@
# The LearningOnline Network with CAPA
#
-# $Id: lonstatistics.pm,v 1.79 2003/08/27 21:33:33 matthew Exp $
+# $Id: lonstatistics.pm,v 1.82 2003/09/29 18:32:38 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -83,6 +83,7 @@ use Apache::lonproblemstatistics();
use Apache::lonstudentassessment();
use Apache::lonpercentage;
use Apache::lonmysql;
+use Apache::lonlocal;
use Time::HiRes;
#######################################################
@@ -797,6 +798,72 @@ sub SectionSelect {
return $Str;
}
+#######################################################
+#######################################################
+
+=pod
+
+=item &CreateAndParseOutputSelector()
+
+Construct a selection list of options for output and parse output selections.
+
+=cut
+
+#######################################################
+#######################################################
+sub OutputDescriptions {
+ my (@OutputOptions) = @_;
+ my $Str = '';
+ $Str .= "
Output Modes
\n";
+ $Str .= "\n";
+ foreach my $outputmode (@OutputOptions) {
+ $Str .=" - ".$outputmode->{'name'}."
\n";
+ $Str .=" - ".$outputmode->{'description'}."
\n";
+ }
+ $Str .= "
\n";
+ return $Str;
+}
+
+sub CreateAndParseOutputSelector {
+ my ($elementname,$default,@OutputOptions) = @_;
+ my $output_mode;
+ my $show;
+ my $Str = '';
+ #
+ # Format for output options is 'mode, restrictions';
+ my $selected = $default;
+ if (exists($ENV{'form.'.$elementname})) {
+ if (ref($ENV{'form.'.$elementname} eq 'ARRAY')) {
+ $selected = $ENV{'form.'.$elementname}->[0];
+ } else {
+ $selected = $ENV{'form.'.$elementname};
+ }
+ }
+ #
+ # Set package variables describing output mode
+ $output_mode = 'html';
+ $show = 'all';
+ foreach my $option (@OutputOptions) {
+ next if ($option->{'value'} ne $selected);
+ $output_mode = $option->{'mode'};
+ $show = $option->{'show'};
+ }
+ #
+ # Build the form element
+ $Str = qq/";
+ return ($Str,$output_mode,$show);
+}
+
###############################################
###############################################
@@ -835,6 +902,42 @@ sub Gather_Student_Data {
$r->rflush();
}
+###############################################
+###############################################
+
+=pod
+
+=item &Gather_Full_Student_Data()
+
+Ensures all student data is up to date.
+
+=cut
+
+###############################################
+###############################################
+sub Gather_Full_Student_Data {
+ my ($r) = @_;
+ my $c = $r->connection();
+ #
+ my @Students = @Apache::lonstatistics::Students;
+ #
+ # Open the progress window
+ my %prog_state=&Apache::lonhtmlcommon::Create_PrgWin
+ ($r,&mt('Student Data Compilation Status'),
+ &mt('Student Data Compilation Progress'), scalar(@Students));
+ #
+ while (my $student = shift @Students) {
+ return if ($c->aborted());
+ my ($status,undef) = &Apache::loncoursedata::ensure_current_full_data
+ ($student->{'username'},$student->{'domain'},
+ $ENV{'request.course.id'});
+ &Apache::lonhtmlcommon::Increment_PrgWin($r,\%prog_state,
+ &mt('last student'));
+ }
+ &Apache::lonhtmlcommon::Close_PrgWin($r,\%prog_state);
+ $r->rflush();
+}
+
##################################################
##################################################
sub DisplayClasslist {
@@ -1058,8 +1161,8 @@ END
# &Apache::lonproblemstatistics::Activity();
} elsif($GoToPage eq 'problem_statistics') {
&Apache::lonproblemstatistics::BuildProblemStatisticsPage($r,$c);
- } elsif($GoToPage eq 'option_response') {
-# &Apache::lonproblemanalysis::BuildProblemAnalysisPage($r,$c);
+ } elsif($GoToPage eq 'problem_analysis') {
+ &Apache::lonproblemanalysis::BuildProblemAnalysisPage($r,$c);
} elsif($GoToPage eq 'student_assessment') {
&Apache::lonstudentassessment::BuildStudentAssessmentPage($r,$c);
} elsif($GoToPage eq 'DoDiffGraph' || $GoToPage eq 'PercentWrongGraph') {