version 1.25, 2011/01/17 00:19:41
|
version 1.27, 2012/05/03 11:21:33
|
Line 127 sub BuildCorrectProblemsPage {
|
Line 127 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 146 sub BuildCorrectProblemsPage {
|
Line 146 sub BuildCorrectProblemsPage {
|
$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 170 sub AnalyzeScoreData {
|
Line 170 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 192 sub AnalyzeScoreData {
|
Line 192 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(). |
|
"\n".'<th>Range</th><th>Count</th>'."\n". |
|
&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 201 sub AnalyzeScoreData {
|
Line 204 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 327 sub CreateInterface {
|
Line 332 sub CreateInterface {
|
# |
# |
$Str .= &Apache::loncommon::end_data_table_row(); |
$Str .= &Apache::loncommon::end_data_table_row(); |
$Str .= &Apache::loncommon::end_data_table(); |
$Str .= &Apache::loncommon::end_data_table(); |
# |
|
$Str .= '<p><span class="LC_nobreak">' |
|
.&mt('Status: [_1]', |
|
'<input type="text" name="stats_status"' |
|
.' size="60" value="" readonly="readonly" />') |
|
.'</span></p>'; |
|
$Str .= '</p>'; |
|
## |
## |
return $Str; |
return $Str; |
} |
} |