--- loncom/interface/statistics/loncorrectproblemplot.pm 2004/02/20 16:24:20 1.6 +++ loncom/interface/statistics/loncorrectproblemplot.pm 2004/10/06 14:21:57 1.12 @@ -1,6 +1,6 @@ # The LearningOnline Network with CAPA # -# $Id: loncorrectproblemplot.pm,v 1.6 2004/02/20 16:24:20 matthew Exp $ +# $Id: loncorrectproblemplot.pm,v 1.12 2004/10/06 14:21:57 matthew Exp $ # # Copyright Michigan State University Board of Trustees # @@ -39,10 +39,6 @@ use Apache::lonlocal; my @SubmitButtons = ( { name => 'CreatePlot', text => 'Create Plot' }, - { name => 'ClearCache', - text => 'Clear Caches' }, - { name => 'updatecaches', - text => 'Update Student Data' }, ); ######################################################### @@ -81,44 +77,55 @@ sub BuildCorrectProblemsPage { ''); } # - &Apache::loncoursedata::clear_internal_caches(); - if (exists($ENV{'form.ClearCache'}) || - exists($ENV{'form.updatecaches'}) || - (exists($ENV{'form.firstanalysis'}) && - $ENV{'form.firstanalysis'} ne 'no')) { - &Apache::lonstatistics::Gather_Full_Student_Data($r); - } - if (! exists($ENV{'form.firstanalysis'})) { - $r->print(''); - } else { - $r->print(''); - } + my @CacheButtonHTML = + &Apache::lonstathelpers::manage_caches($r,'Statistics','stats_status'); foreach my $button (@SubmitButtons) { $r->print('{'text'}).'" />'); $r->print(' 'x5); } + foreach my $html (@CacheButtonHTML) { + $r->print($html.(' 'x5)); + } $r->rflush(); # # Determine which problem symbs we are to sum over if (exists($ENV{'form.CreatePlot'})) { my @ProblemSymbs; + my $total_parts = 0; + my $title = ''; if ($Apache::lonstatistics::SelectedMaps[0] ne 'all') { foreach my $seq (&Apache::lonstatistics::Sequences_with_Assess()){ + if ($title eq '') { + $title = $seq->{'title'}; + } else { + $title = 'Multiple Sequences'; + } foreach my $res (@{$seq->{'contents'}}) { next if ($res->{'type'} ne 'assessment'); foreach my $part (@{$res->{'parts'}}) { + $total_parts++; push(@ProblemSymbs,{symb=>$res->{'symb'}, part=>$part}); } } } } + my ($starttime,$endtime) = &Apache::lonstathelpers::get_time_limits(); + if (defined($starttime) || defined($endtime)) { + # Inform the user what the time limits on the data are. + $r->print(&mt('Statistics on submissions from [_1] to [_2]', + &Apache::lonlocal::locallocaltime($starttime), + &Apache::lonlocal::locallocaltime($endtime))); + } my $score_data = &Apache::loncoursedata::get_student_scores (\@Apache::lonstatistics::SelectedSections, \@ProblemSymbs, - $Apache::lonstatistics::enrollment_status); - $r->print(&AnalyzeScoreData($score_data)); + $Apache::lonstatistics::enrollment_status,undef, + $starttime,$endtime); + $r->print(&AnalyzeScoreData($score_data,$title,$total_parts)); + } else { + $r->print('
Range | Count |
---|
Range | Count |
---|
".&Apache::loncommon::DrawBarGraph($title.' N = '.$sum,
+ 'Num Correct Problems (max:'.$total_parts.')',
'Number of students',
$max,
undef, # colors
\@Xdata,
\@Ydata).
"\n
\n".$Str;
+ $Str .= '
'; + # $Str .= '
'.&mt('Sections').' | '; $Str .= ''.&mt('Enrollment Status').' | '; $Str .= ''.&mt('Sequences and Folders').' | '; + $Str .= ''. + &Apache::lonstathelpers::limit_by_time_form().' | '; $Str .= '
'."\n"; $Str .= &Apache::lonstatistics::SectionSelect('Section','multiple',5); $Str .= ' | '; @@ -282,10 +303,16 @@ sub CreateInterface { }; $Str .= &Apache::lonstatistics::MapSelect('Maps','multiple,all',5, $only_seq_with_assessments); - $Str .= ''."\n"; - ## + $Str .= ' | '; + # $Str .= '