--- loncom/interface/statistics/loncorrectproblemplot.pm 2005/03/14 20:28:22 1.17 +++ loncom/interface/statistics/loncorrectproblemplot.pm 2012/05/03 11:21:33 1.27 @@ -1,6 +1,6 @@ # The LearningOnline Network with CAPA # -# $Id: loncorrectproblemplot.pm,v 1.17 2005/03/14 20:28:22 matthew Exp $ +# $Id: loncorrectproblemplot.pm,v 1.27 2012/05/03 11:21:33 goltermann Exp $ # # Copyright Michigan State University Board of Trustees # @@ -28,9 +28,10 @@ package Apache::loncorrectproblemplot; use strict; -use Apache::lonnet(); +use Apache::lonnet; use Apache::loncommon(); use Apache::lonhtmlcommon(); +use Apache::lonquickgrades(); use Apache::loncoursedata(); use Apache::lonstatistics; use Apache::lonstathelpers; @@ -59,13 +60,17 @@ sub BuildCorrectProblemsPage { my ($r,$c)=@_; # my %Saveable_Parameters = ('Status' => 'scalar', - 'Section' => 'array'); + 'Section' => 'array', + 'Groups' => 'array'); &Apache::loncommon::store_course_settings('correct_problems_plot', \%Saveable_Parameters); &Apache::loncommon::restore_course_settings('correct_problems_plot', \%Saveable_Parameters); # &Apache::lonstatistics::PrepareClasslist(); + + $r->print(&Apache::lonhtmlcommon::breadcrumbs('Correct Problems Plot')); + &Apache::lonquickgrades::startGradeScreen($r,'statistics'); # $r->print(&CreateInterface()); # @@ -73,7 +78,7 @@ sub BuildCorrectProblemsPage { # if (@Students < 1) { $r->print('
'. &Apache::lonstatistics::section_and_enrollment_description(). - ''); + '
'); my ($starttime,$endtime) = &Apache::lonstathelpers::get_time_limits(); if (defined($starttime) || defined($endtime)) { # Inform the user what the time limits on the data are. @@ -135,12 +140,13 @@ sub BuildCorrectProblemsPage { &Apache::loncoursedata::populate_weight_table(); my $score_data = &Apache::loncoursedata::get_student_scores ([&Apache::lonstatistics::get_selected_sections()], + [&Apache::lonstatistics::get_selected_groups()], \@ProblemSymbs, $Apache::lonstatistics::enrollment_status,undef, $starttime,$endtime); $r->print(&AnalyzeScoreData($score_data,$title,$total_weights)); } else { - $r->print(''.&mt('Make a sequence selection from the "Sequences and Folders" menu and hit "Create Plot" to begin').'
'); } return; } @@ -164,7 +170,7 @@ sub AnalyzeScoreData { # # Basic check first if (ref($score_data) ne 'ARRAY' || @$score_data < 1) { - return ''.&mt('There is no data to plot').'
'; } # # Determine which bins to use @@ -186,7 +192,10 @@ sub AnalyzeScoreData { ''. &mt('Problem weights do not reflect individual student settings.') .'
'. - 'Range | Count | Range | Count | '."\n". + &Apache::loncommon::end_data_table_header_row(); my $sum = 0; while (my $bin = shift(@Bins)) { push (@Xdata,$bin->{'start'}); @@ -195,12 +204,14 @@ sub AnalyzeScoreData { if ($bin->{'count'} > $max) { $max = $bin->{'count'}; } - $Str.= '
---|---|
'.$bin->{'start'}.' - '.$bin->{'end'}.' | '. - ''.$bin->{'count'}.' | '.$bin->{'start'}.' - '.$bin->{'end'}.' | '. + ''.$bin->{'count'}.' | '. + &Apache::loncommon::end_data_table_row().'
". &Apache::loncommon::DrawBarGraph($title.' ('.$sum.' students)', @@ -246,7 +257,7 @@ sub bin_data { my @Bins; my $count=0; my $idx=0; - while ($idx < scalar(@$data) && ($endbin-$binend + $binsize)>0) { + while ($idx < scalar(@$data) && ($endbin-$binend + $binsize)>=0) { my $dataset = $data->[$idx++]; my ($x,$y) = @{$dataset}; while ($x > ($binend-.001)) { @@ -288,36 +299,39 @@ sub CreateInterface { ## ## Environment variable initialization my $Str; - $Str .= &Apache::lonhtmlcommon::breadcrumbs(undef,'Correct Problems Plot'); $Str .= '
'; # - $Str .= '
'.&mt('Sections').' | '; - $Str .= ''.&mt('Enrollment Status').' | '; - $Str .= ''.&mt('Sequences and Folders').' | '; - $Str .= ''. - &Apache::lonstathelpers::limit_by_time_form().' | '; - $Str .= ''.&mt('Sections').' | '; + $Str .= ''.&mt('Groups').' | '; + $Str .= ''.&mt('Access Status').' | '; + $Str .= ''.&mt('Sequences and Folders').' | '; + $Str .= ''.&mt('Time Period').' | '; + $Str .= &Apache::loncommon::end_data_table_header_row(); # - $Str .= '
---|---|---|---|---|---|---|
'."\n"; + $Str .= &Apache::loncommon::start_data_table_row(); + $Str .= ' | '."\n"; $Str .= &Apache::lonstatistics::SectionSelect('Section','multiple',5); $Str .= ' | '; # - $Str .= ''; + $Str .= ' | '."\n"; + $Str .= &Apache::lonstatistics::GroupSelect('Group','multiple',5); + $Str .= ' | '; + $Str .= ''; $Str .= &Apache::lonhtmlcommon::StatusOptions(undef,undef,5); - $Str .= ' | '."\n"; + $Str .= ' | '."\n"; # + $Str .= ''."\n"; $Str .= &Apache::lonstatistics::map_select('Maps','multiple,all',5); $Str .= ' | '; # - $Str .= '