version 1.18, 2005/04/07 06:56:24
|
version 1.28.2.1, 2012/05/12 03:07:46
|
Line 59 sub BuildCorrectProblemsPage {
|
Line 59 sub BuildCorrectProblemsPage {
|
my ($r,$c)=@_; |
my ($r,$c)=@_; |
# |
# |
my %Saveable_Parameters = ('Status' => 'scalar', |
my %Saveable_Parameters = ('Status' => 'scalar', |
'Section' => 'array'); |
'Section' => 'array', |
|
'Groups' => 'array'); |
&Apache::loncommon::store_course_settings('correct_problems_plot', |
&Apache::loncommon::store_course_settings('correct_problems_plot', |
\%Saveable_Parameters); |
\%Saveable_Parameters); |
&Apache::loncommon::restore_course_settings('correct_problems_plot', |
&Apache::loncommon::restore_course_settings('correct_problems_plot', |
\%Saveable_Parameters); |
\%Saveable_Parameters); |
# |
# |
&Apache::lonstatistics::PrepareClasslist(); |
&Apache::lonstatistics::PrepareClasslist(); |
|
|
|
$r->print(&Apache::lonhtmlcommon::breadcrumbs('Correct Problems Plot')); |
# |
# |
$r->print(&CreateInterface()); |
$r->print(&CreateInterface()); |
# |
# |
Line 73 sub BuildCorrectProblemsPage {
|
Line 76 sub BuildCorrectProblemsPage {
|
# |
# |
if (@Students < 1) { |
if (@Students < 1) { |
$r->print('<h2>'. |
$r->print('<h2>'. |
&mt('There are no students in the sections selected'). |
&mt('There are no students in the sections/groups selected'). |
'</h2>'); |
'</h2>'); |
} |
} |
# |
# |
Line 122 sub BuildCorrectProblemsPage {
|
Line 125 sub BuildCorrectProblemsPage {
|
} |
} |
} |
} |
} |
} |
$r->print('<h4>'. |
$r->print('<p>'. |
&Apache::lonstatistics::section_and_enrollment_description(). |
&Apache::lonstatistics::section_and_enrollment_description(). |
'</h4>'); |
'</p>'); |
my ($starttime,$endtime) = &Apache::lonstathelpers::get_time_limits(); |
my ($starttime,$endtime) = &Apache::lonstathelpers::get_time_limits(); |
if (defined($starttime) || defined($endtime)) { |
if (defined($starttime) || defined($endtime)) { |
# Inform the user what the time limits on the data are. |
# Inform the user what the time limits on the data are. |
Line 135 sub BuildCorrectProblemsPage {
|
Line 138 sub BuildCorrectProblemsPage {
|
&Apache::loncoursedata::populate_weight_table(); |
&Apache::loncoursedata::populate_weight_table(); |
my $score_data = &Apache::loncoursedata::get_student_scores |
my $score_data = &Apache::loncoursedata::get_student_scores |
([&Apache::lonstatistics::get_selected_sections()], |
([&Apache::lonstatistics::get_selected_sections()], |
|
[&Apache::lonstatistics::get_selected_groups()], |
\@ProblemSymbs, |
\@ProblemSymbs, |
$Apache::lonstatistics::enrollment_status,undef, |
$Apache::lonstatistics::enrollment_status,undef, |
$starttime,$endtime); |
$starttime,$endtime); |
$r->print(&AnalyzeScoreData($score_data,$title,$total_weights)); |
$r->print(&AnalyzeScoreData($score_data,$title,$total_weights)); |
} else { |
} else { |
$r->print('<h3>'.&mt('Make a sequence selection from the "Sequences and Folders" menu and hit "Create Plot" to begin').'</h3>'); |
$r->print('<p>'.&mt('Make a sequence selection from the "Sequences and Folders" menu and hit "Create Plot" to begin').'</p>'); |
} |
} |
return; |
return; |
} |
} |
Line 164 sub AnalyzeScoreData {
|
Line 168 sub AnalyzeScoreData {
|
# |
# |
# Basic check first |
# Basic check first |
if (ref($score_data) ne 'ARRAY' || @$score_data < 1) { |
if (ref($score_data) ne 'ARRAY' || @$score_data < 1) { |
return '<h2>'.&mt('There is no data to plot').'</h2>'; |
return '<p class="LC_warning">'.&mt('There is no data to plot').'</p>'; |
} |
} |
# |
# |
# Determine which bins to use |
# Determine which bins to use |
Line 186 sub AnalyzeScoreData {
|
Line 190 sub AnalyzeScoreData {
|
'<p>'. |
'<p>'. |
&mt('Problem weights do not reflect individual student settings.') |
&mt('Problem weights do not reflect individual student settings.') |
.'</p>'. |
.'</p>'. |
'<table border="1">'."\n".'<tr><th>Range</th><th>Count</th></tr>'."\n"; |
&Apache::loncommon::start_data_table(). |
|
&Apache::loncommon::start_data_table_header_row(). |
|
'<th>'.&mt('Range').'</th><th>'.&mt('Count').'</th>'. |
|
&Apache::loncommon::end_data_table_header_row(); |
my $sum = 0; |
my $sum = 0; |
while (my $bin = shift(@Bins)) { |
while (my $bin = shift(@Bins)) { |
push (@Xdata,$bin->{'start'}); |
push (@Xdata,$bin->{'start'}); |
Line 195 sub AnalyzeScoreData {
|
Line 202 sub AnalyzeScoreData {
|
if ($bin->{'count'} > $max) { |
if ($bin->{'count'} > $max) { |
$max = $bin->{'count'}; |
$max = $bin->{'count'}; |
} |
} |
$Str.= '<tr><td>'.$bin->{'start'}.' - '.$bin->{'end'}.'</td>'. |
$Str.= &Apache::loncommon::start_data_table_row(). |
'<td>'.$bin->{'count'}.'</td></tr>'."\n"; |
'<td>'.$bin->{'start'}.' - '.$bin->{'end'}.'</td>'. |
|
'<td>'.$bin->{'count'}.'</td>'. |
|
&Apache::loncommon::end_data_table_row().'<br>'; |
} |
} |
# scale max to an integer. |
# scale max to an integer. |
$max = 5*(int($max/5)+1); |
$max = 5*(int($max/5)+1); |
$Str .= "</table><br />\n"; |
$Str .= &Apache::loncommon::end_data_table()."<br />\n"; |
$title = &HTML::Entities::decode($title); |
$title = &HTML::Entities::decode($title); |
$Str = "\n<p>". |
$Str = "\n<p>". |
&Apache::loncommon::DrawBarGraph($title.' ('.$sum.' students)', |
&Apache::loncommon::DrawBarGraph($title.' ('.$sum.' students)', |
Line 246 sub bin_data {
|
Line 255 sub bin_data {
|
my @Bins; |
my @Bins; |
my $count=0; |
my $count=0; |
my $idx=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 $dataset = $data->[$idx++]; |
my ($x,$y) = @{$dataset}; |
my ($x,$y) = @{$dataset}; |
while ($x > ($binend-.001)) { |
while ($x > ($binend-.001)) { |
Line 288 sub CreateInterface {
|
Line 297 sub CreateInterface {
|
## |
## |
## Environment variable initialization |
## Environment variable initialization |
my $Str; |
my $Str; |
$Str .= &Apache::lonhtmlcommon::breadcrumbs(undef,'Correct Problems Plot'); |
|
$Str .= '<p>'; |
$Str .= '<p>'; |
# |
# |
$Str .= '<table cellspacing="5">'."\n"; |
$Str .= &Apache::loncommon::start_data_table(); |
$Str .= '<tr>'; |
$Str .= &Apache::loncommon::start_data_table_header_row(); |
$Str .= '<td align="center"><b>'.&mt('Sections').'</b></td>'; |
$Str .= '<th>'.&mt('Sections').'</th>'; |
$Str .= '<td align="center"><b>'.&mt('Enrollment Status').'</b></td>'; |
$Str .= '<th>'.&mt('Groups').'</th>'; |
$Str .= '<td align="center"><b>'.&mt('Sequences and Folders').'</b></td>'; |
$Str .= '<th>'.&mt('Access Status').'</th>'; |
$Str .= '<td rowspan="2">'. |
$Str .= '<th>'.&mt('Sequences and Folders').'</th>'; |
&Apache::lonstathelpers::limit_by_time_form().'</td>'; |
$Str .= '<th>'.&mt('Time Period').'</th>'; |
$Str .= '</tr>'."\n"; |
$Str .= &Apache::loncommon::end_data_table_header_row(); |
# |
# |
$Str .= '<tr><td align="center">'."\n"; |
$Str .= &Apache::loncommon::start_data_table_row(); |
|
$Str .= '<td align="center" valign="top">'."\n"; |
$Str .= &Apache::lonstatistics::SectionSelect('Section','multiple',5); |
$Str .= &Apache::lonstatistics::SectionSelect('Section','multiple',5); |
$Str .= '</td>'; |
$Str .= '</td>'; |
# |
# |
$Str .= '<td align="center">'; |
$Str .= '<td align="center" valign="top">'."\n"; |
|
$Str .= &Apache::lonstatistics::GroupSelect('Group','multiple',5); |
|
$Str .= '</td>'; |
|
$Str .= '<td align="center" valign="top">'; |
$Str .= &Apache::lonhtmlcommon::StatusOptions(undef,undef,5); |
$Str .= &Apache::lonhtmlcommon::StatusOptions(undef,undef,5); |
$Str .= '</td><td>'."\n"; |
$Str .= '</td>'."\n"; |
# |
# |
|
$Str .= '<td align="center" valign="top">'."\n"; |
$Str .= &Apache::lonstatistics::map_select('Maps','multiple,all',5); |
$Str .= &Apache::lonstatistics::map_select('Maps','multiple,all',5); |
$Str .= '</td>'; |
$Str .= '</td>'; |
# |
# |
$Str .= '</tr>'."\n"; |
$Str .= '<td align="center" valign="top">'."\n"; |
$Str .= '</table>'."\n"; |
$Str .= &Apache::lonstathelpers::limit_by_time_form(); |
|
$Str .= '</td>'; |
# |
# |
$Str .= '<nobr>'.&mt('Status: [_1]', |
$Str .= &Apache::loncommon::end_data_table_row(); |
'<input type="text" '. |
$Str .= &Apache::loncommon::end_data_table(); |
'name="stats_status" size="60" value="" />'). |
|
'</nobr>'.'</p>'; |
|
## |
## |
return $Str; |
return $Str; |
} |
} |