version 1.34, 2004/12/07 16:04:06
|
version 1.38, 2005/02/23 02:03:42
|
Line 282 END
|
Line 282 END
|
return $Str; |
return $Str; |
} |
} |
|
|
sub get_title { |
|
my ($title,$src) = @_; |
|
if ($title eq '') { |
|
($title) = ($src =~ m|/([^/]+)$|); |
|
} else { |
|
$title =~ s/\:/:/g; |
|
} |
|
return $title; |
|
} |
|
|
|
sub new_accumulator { |
sub new_accumulator { |
my ($title,$src,$symb,$seq_id,$inputname) = @_; |
my ($title,$src,$symb,$seq_id,$inputname) = @_; |
my $target; |
my $target; |
Line 1341 sub manage_caches {
|
Line 1331 sub manage_caches {
|
if (defined($update_message)) { |
if (defined($update_message)) { |
$r->print($update_message); |
$r->print($update_message); |
} |
} |
&Apache::lonstatistics::Gather_Full_Student_Data($r,$formname, |
&gather_full_student_data($r,$formname,$inputname); |
$inputname); |
|
|
|
} |
} |
# |
# |
my @Buttons = |
my @Buttons = |
Line 1365 sub manage_caches {
|
Line 1353 sub manage_caches {
|
return @Buttons; |
return @Buttons; |
} |
} |
|
|
|
sub gather_full_student_data { |
|
my ($r,$formname,$inputname) = @_; |
|
my $status_type; |
|
if (defined($formname)) { |
|
$status_type = 'inline'; |
|
} else { |
|
$status_type = 'popup'; |
|
} |
|
my $c = $r->connection(); |
|
# |
|
&Apache::loncoursedata::clear_internal_caches(); |
|
# |
|
my @Students = @Apache::lonstatistics::Students; |
|
# |
|
# Open the progress window |
|
my %prog_state=&Apache::lonhtmlcommon::Create_PrgWin |
|
($r,&mt('Student Data Compilation Status'), |
|
&mt('Student Data Compilation Progress'), scalar(@Students), |
|
$status_type,undef,$formname,$inputname); |
|
# |
|
while (my $student = shift @Students) { |
|
return if ($c->aborted()); |
|
my $status = &Apache::loncoursedata::ensure_current_full_data |
|
($student->{'username'},$student->{'domain'}, |
|
$ENV{'request.course.id'}); |
|
&Apache::lonhtmlcommon::Increment_PrgWin($r,\%prog_state, |
|
&mt('last student')); |
|
} |
|
&Apache::lonhtmlcommon::Close_PrgWin($r,\%prog_state); |
|
$r->rflush(); |
|
return; |
|
} |
|
|
|
#################################################### |
|
#################################################### |
|
|
|
=pod |
|
|
|
=item &submission_report_form |
|
|
|
Input: The originating reportSelected value for the current stats page. |
|
|
|
Output: Scalar containing HTML with needed form elements and a link to |
|
the student submission reports page. |
|
|
|
=cut |
|
|
|
#################################################### |
|
#################################################### |
|
sub submission_report_form { |
|
my ($original_report) = @_; |
|
# Note: In the link below we change the reportSelected value. If |
|
# the user hits the 'back' button on the browser after getting their |
|
# student submissions report, this value may still be around. So we |
|
# output a script block to set it properly. If the $original_report |
|
# value is unset, you are just asking for trouble. |
|
if (! defined($original_report)) { |
|
&Apache::lonnet::logthis |
|
('someone called lonstathelpers::submission_report_form without '. |
|
' enough input.'); |
|
} |
|
my $html = $/. |
|
'<script type="Text/JavaScript">'. |
|
"document.Statistics.reportSelected.value='$original_report';". |
|
'</script>'. |
|
'<input type="hidden" name="correctans" value="true" />'. |
|
'<input type="hidden" name="prob_status" value="true" />'. |
|
'<input type="hidden" name="all_sub" value="true" />'; |
|
my $output_selector = $/.'<select name="output">'.$/; |
|
foreach ('HTML','Excel','CSV') { |
|
$output_selector .= ' <option value="'.lc($_).'"'; |
|
if ($ENV{'form.output'} eq lc($_)) { |
|
$output_selector .= ' selected '; |
|
} |
|
$output_selector .='>'.&mt($_).'</option>'.$/; |
|
} |
|
$output_selector .= '</select>'.$/; |
|
my $link = '<a href="javascript:'. |
|
q{document.Statistics.reportSelected.value='student_submission_reports';}. |
|
'document.Statistics.submit();">'; |
|
$html.= &mt('View data as [_1] [_2]go[_3]',$output_selector, |
|
$link,'</a>').$/; |
|
return $html |
|
} |
|
|
#################################################### |
#################################################### |
#################################################### |
#################################################### |