version 1.58, 2003/09/03 16:07:06
|
version 1.59, 2003/09/29 16:20:18
|
Line 54 use Apache::lonnet();
|
Line 54 use Apache::lonnet();
|
use Apache::lonhtmlcommon; |
use Apache::lonhtmlcommon; |
use Apache::loncoursedata; |
use Apache::loncoursedata; |
use Apache::lonstatistics; |
use Apache::lonstatistics; |
|
use Apache::lonlocal; |
use Spreadsheet::WriteExcel; |
use Spreadsheet::WriteExcel; |
|
|
|
## |
|
## Localization notes: |
|
## |
|
## in @Fields[0]->{'long_title'} is placed in Excel files and is used as the |
|
## header for plots created with Graph.pm, both of which more than likely do |
|
## not support localization. |
|
## |
my @Fields = ( |
my @Fields = ( |
{ name => 'problem_num', |
{ name => 'problem_num', |
title => 'P#', |
title => 'P#', |
Line 201 sub CreateInterface {
|
Line 209 sub CreateInterface {
|
my $Str = ''; |
my $Str = ''; |
$Str .= '<table cellspacing="5">'."\n"; |
$Str .= '<table cellspacing="5">'."\n"; |
$Str .= '<tr>'; |
$Str .= '<tr>'; |
$Str .= '<td align="center"><b>Sections</b></td>'; |
$Str .= '<td align="center"><b>'.&mt('Sections').'</b></td>'; |
$Str .= '<td align="center"><b>Enrollment Status</b></td>'; |
$Str .= '<td align="center"><b>'.&mt('Enrollment Status').'</b></td>'; |
$Str .= '<td align="center"><b>Sequences and Folders</b></td>'; |
$Str .= '<td align="center"><b>'.&mt('Sequences and Folders').'</b></td>'; |
$Str .= '<td align="center"><b>Output</b></td>'; |
$Str .= '<td align="center"><b>'.&mt('Output').'</b></td>'; |
$Str .= '</tr>'."\n"; |
$Str .= '</tr>'."\n"; |
# |
# |
$Str .= '<tr><td align="center">'."\n"; |
$Str .= '<tr><td align="center">'."\n"; |
Line 232 sub CreateInterface {
|
Line 240 sub CreateInterface {
|
$Str .= $html; |
$Str .= $html; |
$Str .= '</td></tr>'."\n"; |
$Str .= '</td></tr>'."\n"; |
$Str .= '</table>'."\n"; |
$Str .= '</table>'."\n"; |
$Str .= '<input type="submit" value="Generate Statistics" />'; |
$Str .= '<input type="submit" name="GenerateStatistics" value="'. |
|
&mt('Generate Statistics').'" />'; |
$Str .= ' 'x5; |
$Str .= ' 'x5; |
$Str .= '<input type="submit" name="ClearCache" value="Clear Caches" />'; |
$Str .= '<input type="submit" name="ClearCache" value="'. |
|
&mt('Clear Caches').'" />'; |
$Str .= ' 'x5; |
$Str .= ' 'x5; |
return ($Str,$outputmode,$show); |
return ($Str,$outputmode,$show); |
} |
} |
Line 280 sub BuildProblemStatisticsPage {
|
Line 290 sub BuildProblemStatisticsPage {
|
&output_html_ungrouped($r); |
&output_html_ungrouped($r); |
} |
} |
} elsif ($output_mode eq 'excel') { |
} elsif ($output_mode eq 'excel') { |
$r->print("<h2>Preparing Excel Spreadsheet</h2>"); |
$r->print('<h2>'.&mt('Preparing Excel Spreadsheet').'</h2>'); |
&output_excel($r); |
&output_excel($r); |
} else { |
} else { |
$r->print("<h1>Not implemented</h1>"); |
$r->print('<h1>'.&mt('Not implemented').'</h1>'); |
} |
} |
return; |
return; |
} |
} |
Line 490 sub output_excel {
|
Line 500 sub output_excel {
|
# Check for errors |
# Check for errors |
if (! defined($excel_workbook)) { |
if (! defined($excel_workbook)) { |
$r->log_error("Error creating excel spreadsheet $filename: $!"); |
$r->log_error("Error creating excel spreadsheet $filename: $!"); |
$r->print("Problems creating new Excel file. ". |
$r->print(&mt("Problems creating new Excel file. ". |
"This error has been logged. ". |
"This error has been logged. ". |
"Please alert your LON-CAPA administrator"); |
"Please alert your LON-CAPA administrator.")); |
return ; |
return ; |
} |
} |
# |
# |
Line 556 sub output_excel {
|
Line 566 sub output_excel {
|
# Brief headers |
# Brief headers |
foreach my $field (@Fields) { |
foreach my $field (@Fields) { |
next if ($field->{'name'} eq 'problem_num'); |
next if ($field->{'name'} eq 'problem_num'); |
|
# Use english for excel as I am not sure how well excel handles |
|
# other character sets.... |
$excel_sheet->write($rows_output,$cols_output++,$field->{'title'}); |
$excel_sheet->write($rows_output,$cols_output++,$field->{'title'}); |
} |
} |
$rows_output++; |
$rows_output++; |
Line 589 sub output_excel {
|
Line 601 sub output_excel {
|
$excel_workbook->close(); |
$excel_workbook->close(); |
# Tell the user where to get their excel file |
# Tell the user where to get their excel file |
$r->print('<br />'. |
$r->print('<br />'. |
'<a href="'.$filename.'">Your Excel spreadsheet.</a>'."\n"); |
'<a href="'.$filename.'">'. |
|
&mt('Your Excel Spreadsheet').'</a>'."\n"); |
$r->rflush(); |
$r->rflush(); |
return; |
return; |
} |
} |
Line 645 sub statistics_table_header {
|
Line 658 sub statistics_table_header {
|
'document.Statistics.sortby.value='."'".$field->{'name'}."'". |
'document.Statistics.sortby.value='."'".$field->{'name'}."'". |
';document.Statistics.submit();">'; |
';document.Statistics.submit();">'; |
} |
} |
$header_row .= $field->{'title'}; |
$header_row .= &mt($field->{'title'}); |
if ($options =~ /sortable/) { |
if ($options =~ /sortable/) { |
$header_row.= '</a>'; |
$header_row.= '</a>'; |
} |
} |
Line 656 sub statistics_table_header {
|
Line 669 sub statistics_table_header {
|
$header_row .= '<a href="javascript:'. |
$header_row .= '<a href="javascript:'. |
"document.Statistics.plot.value='$field->{'name'}'". |
"document.Statistics.plot.value='$field->{'name'}'". |
';document.Statistics.submit();">'; |
';document.Statistics.submit();">'; |
$header_row .= 'plot</a>)'; |
$header_row .= &mt('plot').'</a>)'; |
} |
} |
$header_row .= '</th>'; |
$header_row .= '</th>'; |
} |
} |
Line 808 sub get_statistics {
|
Line 821 sub get_statistics {
|
|
|
=item &ProblemStatisticsLegend() |
=item &ProblemStatisticsLegend() |
|
|
|
HELP This needs to be localized, or at least generated automatically. |
|
|
=cut |
=cut |
|
|
############################################### |
############################################### |