--- loncom/interface/statistics/lonstudentassessment.pm 2005/03/14 20:28:22 1.119
+++ loncom/interface/statistics/lonstudentassessment.pm 2005/04/07 07:34:52 1.122
@@ -1,6 +1,6 @@
# The LearningOnline Network with CAPA
#
-# $Id: lonstudentassessment.pm,v 1.119 2005/03/14 20:28:22 matthew Exp $
+# $Id: lonstudentassessment.pm,v 1.122 2005/04/07 07:34:52 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -153,10 +153,10 @@ sub BuildStudentAssessmentPage {
&Apache::lonstatistics::PrepareClasslist();
#
$single_student_mode = 0;
- $single_student_mode = 1 if ($ENV{'form.SelectedStudent'});
+ $single_student_mode = 1 if ($env{'form.SelectedStudent'});
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
['selectstudent']);
- if ($ENV{'form.selectstudent'}) {
+ if ($env{'form.selectstudent'}) {
&Apache::lonstatistics::DisplayClasslist($r);
return;
}
@@ -167,10 +167,10 @@ sub BuildStudentAssessmentPage {
$r->print(&CreateInterface());
$r->print('');
$r->print('');
+ $env{'form.sort'}.'" />');
$r->rflush();
#
- if (! exists($ENV{'form.notfirstrun'}) && ! $single_student_mode) {
+ if (! exists($env{'form.notfirstrun'}) && ! $single_student_mode) {
return;
}
$r->print('
'.
@@ -234,7 +234,7 @@ sub BuildStudentAssessmentPage {
sub next_and_previous_buttons {
my $Str = '';
$Str .= '';
+ $env{'form.SelectedStudent'}.'" />';
#
# Build the previous student link
my $previous = &Apache::lonstatistics::previous_student();
@@ -353,7 +353,7 @@ sub CreateInterface {
&mt('Clear Caches').'" />';
$Str .= ' 'x5;
$Str .=
- &mt('Status[_1]',
+ &mt('Status [_1]',
'');
$Str .= '
';
return $Str;
@@ -430,14 +430,9 @@ sub CreateAndParseOutputSelector {
[$elementname]);
#
# Format for output options is 'mode, restrictions';
- my $selected = 'html, without links';
- if (exists($ENV{'form.'.$elementname})) {
- if (ref($ENV{'form.'.$elementname} eq 'ARRAY')) {
- $selected = $ENV{'form.'.$elementname}->[0];
- } else {
- $selected = $ENV{'form.'.$elementname};
- }
- }
+ my $selected = (&Apache::loncommon::get_env_multiple('form.'.$elementname))[0];
+ $selected = 'html, without links' if (!$selected);
+
#
# Set package variables describing output mode
$show_links = 'no';
@@ -551,14 +546,9 @@ sub CreateAndParseOutputDataSelector {
my $Str = '';
my $elementname = 'chartoutputdata';
#
- my $selected = 'scores';
- if (exists($ENV{'form.'.$elementname})) {
- if (ref($ENV{'form.'.$elementname} eq 'ARRAY')) {
- $selected = $ENV{'form.'.$elementname}->[0];
- } else {
- $selected = $ENV{'form.'.$elementname};
- }
- }
+ my $selected = (&Apache::loncommon::get_env_multiple('form.'.$elementname))[0];
+ $selected = 'scores' if (!$selected);
+
#
$chosen_output = $OutputDataOptions[0];
foreach my $option (@OutputDataOptions) {
@@ -652,7 +642,7 @@ sub html_initialize {
'');
}
#
- $r->print("".$ENV{'course.'.$ENV{'request.course.id'}.'.description'}.
+ $r->print("".$env{'course.'.$env{'request.course.id'}.'.description'}.
" ".localtime(time)."
");
#
if ($chosen_output->{'base'} !~ /^final table/) {
@@ -747,7 +737,7 @@ sub html_outputstudent {
my %StudentsData;
my @tmp = &Apache::loncoursedata::get_current_state
($student->{'username'},$student->{'domain'},undef,
- $ENV{'request.course.id'});
+ $env{'request.course.id'});
if ((scalar @tmp > 0) && ($tmp[0] !~ /^error:/)) {
%StudentsData = @tmp;
}
@@ -1039,36 +1029,22 @@ sub excel_initialize {
return if (! defined($excel_workbook));
#
# Add a worksheet
- my $sheetname = $ENV{'course.'.$ENV{'request.course.id'}.'.description'};
+ my $sheetname = $env{'course.'.$env{'request.course.id'}.'.description'};
$sheetname = &Apache::loncommon::clean_excel_name($sheetname);
$excel_sheet = $excel_workbook->addworksheet($sheetname);
#
# Put the course description in the header
$excel_sheet->write($header_row,$cols_output++,
- $ENV{'course.'.$ENV{'request.course.id'}.'.description'},
+ $env{'course.'.$env{'request.course.id'}.'.description'},
$format->{'h1'});
$cols_output += 3;
#
# Put a description of the sections listed
my $sectionstring = '';
my @Sections = &Apache::lonstatistics::get_selected_sections();
- if (scalar(@Sections) > 1) {
- if (scalar(@Sections) > 2) {
- my $last = pop(@Sections);
- $sectionstring = "Sections ".join(', ',@Sections).', and '.$last;
- } else {
- $sectionstring = "Sections ".join(' and ',@Sections);
- }
- } else {
- if ($Sections[0] eq 'all') {
- $sectionstring = "All sections";
- } else {
- $sectionstring = "Section ".$Sections[0];
- }
- }
- $excel_sheet->write($header_row,$cols_output++,$sectionstring,
+ $excel_sheet->write($header_row,$cols_output++,
+ &Apache::lonstatistics::section_and_enrollment_description('plain text'),
$format->{'h3'});
- $cols_output += scalar(@Sections);
#
# Put the date in there too
$excel_sheet->write($header_row,$cols_output++,
@@ -1328,7 +1304,7 @@ sub excel_initialize {
#
# Let the user know what we are doing
my $studentcount = scalar(@Apache::lonstatistics::Students);
- if ($ENV{'form.SelectedStudent'}) {
+ if ($env{'form.SelectedStudent'}) {
$studentcount = '1';
}
if ($studentcount > 1) {
@@ -1375,7 +1351,7 @@ sub excel_outputstudent {
my @tmp = &Apache::loncoursedata::get_current_state($student->{'username'},
$student->{'domain'},
undef,
- $ENV{'request.course.id'});
+ $env{'request.course.id'});
if ((scalar @tmp > 0) && ($tmp[0] !~ /^error:/)) {
%StudentsData = @tmp;
}
@@ -1559,22 +1535,18 @@ END
'inline',undef,'Statistics','stats_status');
#
# Open a file
- $filename = '/prtspool/'.
- $ENV{'user.name'}.'_'.$ENV{'user.domain'}.'_'.
- time.'_'.rand(1000000000).'.csv';
- unless ($outputfile = Apache::File->new('>/home/httpd'.$filename)) {
- $r->log_error("Couldn't open $filename for output $!");
- $r->print("Problems occured in writing the csv file. ".
- "This error has been logged. ".
- "Please alert your LON-CAPA administrator.");
- $outputfile = undef;
- }
+ ($outputfile,$filename) = &Apache::loncommon::create_text_file($r,'csv');
+ if (! defined($outputfile)) { return ''; }
#
# Datestamp
- my $description = $ENV{'course.'.$ENV{'request.course.id'}.'.description'};
+ my $description = $env{'course.'.$env{'request.course.id'}.'.description'};
print $outputfile '"'.&Apache::loncommon::csv_translate($description).'",'.
'"'.&Apache::loncommon::csv_translate(scalar(localtime(time))).'"'.
"\n";
+ print $outputfile '"'.
+ &Apache::loncommon::csv_translate
+ (&Apache::lonstatistics::section_and_enrollment_description()).
+ '"'."\n";
foreach my $item ('shortdesc','non_html_notes') {
next if (! exists($chosen_output->{$item}));
print $outputfile
@@ -1657,7 +1629,7 @@ sub csv_outputstudent {
my @tmp = &Apache::loncoursedata::get_current_state($student->{'username'},
$student->{'domain'},
undef,
- $ENV{'request.course.id'});
+ $env{'request.course.id'});
if ((scalar @tmp > 0) && ($tmp[0] !~ /^error:/)) {
%StudentsData = @tmp;
}