--- loncom/interface/statistics/lonstathelpers.pm 2004/03/16 16:41:26 1.9
+++ loncom/interface/statistics/lonstathelpers.pm 2004/06/04 21:42:18 1.12
@@ -1,6 +1,6 @@
# The LearningOnline Network with CAPA
#
-# $Id: lonstathelpers.pm,v 1.9 2004/03/16 16:41:26 matthew Exp $
+# $Id: lonstathelpers.pm,v 1.12 2004/06/04 21:42:18 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -118,7 +118,7 @@ sub ProblemSelector {
my ($AcceptedResponseTypes) = @_;
my $Str;
$Str = "\n
\n";
- foreach my $seq (&Apache::lonstatistics::Sequences_with_Assess()) {
+ foreach my $seq (&Apache::lonstatistics::Sequences_with_Assess('all')) {
next if ($seq->{'num_assess'}<1);
my $seq_str = '';
foreach my $res (@{$seq->{'contents'}}) {
@@ -255,7 +255,7 @@ sub get_prev_curr_next {
#
# Build an array with the data we need to search through
my @Resource;
- foreach my $seq (&Apache::lonstatistics::Sequences_with_Assess()) {
+ foreach my $seq (&Apache::lonstatistics::Sequences_with_Assess('all')) {
foreach my $res (@{$seq->{'contents'}}) {
next if ($res->{'type'} ne 'assessment');
foreach my $part (@{$res->{'parts'}}) {
@@ -363,7 +363,13 @@ Returns: nothing
#####################################################
#####################################################
sub GetStudentAnswers {
- my ($r,$problem,$Students) = @_;
+ my ($r,$problem,$Students,$formname,$inputname) = @_;
+ my $status_type;
+ if (defined($formname)) {
+ $status_type = 'inline';
+ } else {
+ $status_type = 'popup';
+ }
my $c = $r->connection();
my %Answers;
my ($resource,$partid,$respid) = ($problem->{'resource'},
@@ -374,7 +380,8 @@ sub GetStudentAnswers {
# Open progress window
my %prog_state=&Apache::lonhtmlcommon::Create_PrgWin
($r,'Student Answer Compilation Status',
- 'Student Answer Compilation Progress', scalar(@$Students));
+ 'Student Answer Compilation Progress', scalar(@$Students),
+ $status_type,undef,$formname,$inputname);
$r->rflush();
foreach my $student (@$Students) {
last if ($c->aborted());
@@ -478,11 +485,11 @@ sub get_answer {
}
foreach my $foil (@{$Answer{$prefix.'.shown'}}) {
if (ref($values{$foil}) eq 'ARRAY') {
- $returnvalue.=&HTML::Entities::encode($foil).'='.
- join(',',map {&HTML::Entities::encode($_)} @{$values{$foil}}).'&';
+ $returnvalue.=&HTML::Entities::encode($foil,'<>&"').'='.
+ join(',',map {&HTML::Entities::encode($_,'<>&"')} @{$values{$foil}}).'&';
} else {
- $returnvalue.=&HTML::Entities::encode($foil).'='.
- &HTML::Entities::encode($values{$foil}).'&';
+ $returnvalue.=&HTML::Entities::encode($foil,'<>&"').'='.
+ &HTML::Entities::encode($values{$foil},'<>&"').'&';
}
}
$returnvalue =~ s/ /\%20/g;
@@ -1001,6 +1008,86 @@ sub get_time_limits {
return ($starttime,$endtime);
}
+
+
+####################################################
+####################################################
+
+=pod
+
+=item sections_description
+
+Inputs: @Sections, an array of sections
+
+Returns: A text description of the sections selected.
+
+=cut
+
+####################################################
+####################################################
+sub sections_description {
+ my @Sections = @_;
+ my $sectionstring = '';
+ 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];
+ }
+ }
+ return $sectionstring;
+}
+
+####################################################
+####################################################
+
+=pod
+
+=item &manage_caches
+
+Inputs: $r, apache request object
+
+Returns: An array of scalars containing html for buttons.
+
+=cut
+
+####################################################
+####################################################
+sub manage_caches {
+ my ($r,$formname,$inputname) = @_;
+ &Apache::loncoursedata::clear_internal_caches();
+ if (exists($ENV{'form.ClearCache'}) ||
+ exists($ENV{'form.updatecaches'}) ||
+ (exists($ENV{'form.firstrun'}) &&
+ $ENV{'form.firstrun'} ne 'no')) {
+ &Apache::lonstatistics::Gather_Full_Student_Data($r,$formname,
+ $inputname);
+ }
+ #
+ if (! exists($ENV{'form.firstrun'})) {
+ $r->print('');
+ } else {
+ $r->print('');
+ }
+ my @Buttons =
+ ('',
+ '');
+ #
+ return @Buttons;
+}
+
+
+
+
####################################################
####################################################