version 1.32, 2002/07/25 21:23:51
|
version 1.34, 2002/07/26 19:49:26
|
Line 51 use Apache::lonchart;
|
Line 51 use Apache::lonchart;
|
use HTML::TokeParser; |
use HTML::TokeParser; |
use GDBM_File; |
use GDBM_File; |
|
|
|
#my $jr; |
|
|
sub CheckFormElement { |
sub CheckFormElement { |
my ($cache, $ENVName, $cacheName, $default)=@_; |
my ($cache, $ENVName, $cacheName, $default)=@_; |
Line 70 sub ProcessFormData{
|
Line 71 sub ProcessFormData{
|
$cache->{'reportKey'} = 'false'; |
$cache->{'reportKey'} = 'false'; |
|
|
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}, |
['sort','download','reportSelected', |
['sort','download', |
|
'reportSelected', |
'StudentAssessmentStudent']); |
'StudentAssessmentStudent']); |
&CheckFormElement($cache, 'Status', 'Status', 'Active'); |
&CheckFormElement($cache, 'Status', 'Status', 'Active'); |
&CheckFormElement($cache, 'postdata', 'reportSelected', 'Class list'); |
&CheckFormElement($cache, 'postdata', 'reportSelected', 'Class list'); |
Line 98 sub ProcessFormData{
|
Line 100 sub ProcessFormData{
|
'StudentAssessmentStudent', 'All Students'); |
'StudentAssessmentStudent', 'All Students'); |
$cache->{'StudentAssessmentStudent'} = |
$cache->{'StudentAssessmentStudent'} = |
&Apache::lonnet::unescape($cache->{'StudentAssessmentStudent'}); |
&Apache::lonnet::unescape($cache->{'StudentAssessmentStudent'}); |
|
&CheckFormElement($cache, 'DefaultColumns', 'DefaultColumns', 'false'); |
|
|
|
if(defined($ENV{'form.Section'})) { |
|
my @sectionsSelected = (ref($ENV{'form.Section'}) ? |
|
@{$ENV{'form.Section'}} : |
|
($ENV{'form.Section'})); |
|
$cache->{'sectionsSelected'} = join(':', @sectionsSelected); |
|
} elsif(!defined($cache->{'sectionsSelected'})) { |
|
$cache->{'sectionsSelected'} = $cache->{'sectionList'}; |
|
} |
|
|
|
my @headingColumns=(); |
|
my @sequenceColumns=(); |
|
my $foundColumn = 0; |
|
if(defined($ENV{'form.ReselectColumns'})) { |
|
my @reselected = (ref($ENV{'form.ReselectColumns'}) ? |
|
@{$ENV{'form.ReselectColumns'}} |
|
: ($ENV{'form.ReselectColumns'})); |
|
foreach (@reselected) { |
|
if(/HeadingColumn/) { |
|
push(@headingColumns, $_); |
|
$foundColumn = 1; |
|
} elsif(/SequenceColumn/) { |
|
push(@sequenceColumns, $_); |
|
$foundColumn = 1; |
|
} |
|
} |
|
} |
|
|
foreach (keys(%ENV)) { |
foreach (keys(%ENV)) { |
if(/form\.Analyze:::/) { |
if(/form\.Analyze:::/) { |
Line 111 sub ProcessFormData{
|
Line 141 sub ProcessFormData{
|
$cache->{'AnalyzeProblem'} = $problem; |
$cache->{'AnalyzeProblem'} = $problem; |
|
|
&CheckFormElement($cache, 'Interval', 'Interval', '1'); |
&CheckFormElement($cache, 'Interval', 'Interval', '1'); |
|
} elsif(/form\.HeadingColumn/) { |
|
my $value = $_; |
|
$value =~ s/form\.//; |
|
push(@headingColumns, $value); |
|
$foundColumn=1; |
|
} elsif(/form\.SequenceColumn/) { |
|
my $value = $_; |
|
$value =~ s/form\.//; |
|
push(@sequenceColumns, $value); |
|
$foundColumn=1; |
} |
} |
} |
} |
|
|
|
if($foundColumn) { |
|
$cache->{'HeadingsFound'} = join(':', @headingColumns); |
|
$cache->{'SequencesFound'} = join(':', @sequenceColumns);; |
|
} |
|
if(!defined($cache->{'HeadingsFound'}) || |
|
$cache->{'DefaultColumns'} ne 'false') { |
|
$cache->{'HeadingsFound'}='HeadingColumnFull Name'; |
|
} |
|
if(!defined($cache->{'SequencesFound'}) || |
|
$cache->{'DefaultColumns'} ne 'false') { |
|
$cache->{'SequencesFound'}='All Sequences'; |
|
} |
|
$cache->{'DefaultColumns'} = 'false'; |
|
|
return; |
return; |
|
|
# Select page to display |
# Select page to display |
Line 459 sub BuildClasslist {
|
Line 513 sub BuildClasslist {
|
return $Str; |
return $Str; |
} |
} |
|
|
|
sub CreateMainMenu { |
|
my ($status, $reports)=@_; |
|
|
|
my $Str = ''; |
|
|
|
$Str .= '<table border="0"><tbody><tr>'."\n"; |
|
$Str .= '<td></td><td></td>'."\n"; |
|
$Str .= '<td align="center"><b>Analysis Reports:</b></td>'."\n"; |
|
$Str .= '<td align="center"><b>Student Status:</b></td></tr>'."\n"; |
|
$Str .= '<tr>'."\n"; |
|
$Str .= '<td align="center"><input type="submit" name="Refresh" '; |
|
$Str .= 'value="Refresh" /></td>'."\n"; |
|
$Str .= '<td align="center"><input type="submit" name="DownloadAll" '; |
|
$Str .= 'value="Update All Student Data" /></td>'."\n"; |
|
$Str .= '<td align="center">'; |
|
$Str .= '<select name="reportSelected" onchange="document.'; |
|
$Str .= 'Statistics.submit()">'."\n"; |
|
|
|
foreach (sort(keys(%$reports))) { |
|
next if($_ eq 'reportSelected'); |
|
$Str .= '<option name="'.$_.'"'; |
|
if($reports->{'reportSelected'} eq $reports->{$_}) { |
|
$Str .= ' selected=""'; |
|
} |
|
$Str .= '>'.$reports->{$_}.'</option>'."\n"; |
|
} |
|
$Str .= '</select></td>'."\n"; |
|
|
|
$Str .= '<td align="center">'; |
|
$Str .= &Apache::lonhtmlcommon::StatusOptions($status, 'Statistics'); |
|
$Str .= '</td>'."\n"; |
|
|
|
$Str .= '</tr></tbody></table>'."\n"; |
|
$Str .= '<hr>'."\n"; |
|
|
|
return $Str; |
|
} |
|
|
sub BuildStatistics { |
sub BuildStatistics { |
my ($r)=@_; |
my ($r)=@_; |
|
|
Line 502 sub BuildStatistics {
|
Line 594 sub BuildStatistics {
|
$r->print(&Apache::lonhtmlcommon::Title('LON-CAPA Statistics')); |
$r->print(&Apache::lonhtmlcommon::Title('LON-CAPA Statistics')); |
$r->print('<form name="Statistics" '); |
$r->print('<form name="Statistics" '); |
$r->print('method="post" action="/adm/statistics">'); |
$r->print('method="post" action="/adm/statistics">'); |
$r->print(&Apache::lonhtmlcommon::CreateStatisticsMainMenu( |
$r->print(&CreateMainMenu($cache{'Status'}, \%reports)); |
$cache{'Status'}, |
|
\%reports)); |
|
untie(%cache); |
untie(%cache); |
} else { |
} else { |
$r->print('<html><body>Unable to tie database.</body></html>'); |
$r->print('<html><body>Unable to tie database.</body></html>'); |
Line 558 sub BuildStatistics {
|
Line 648 sub BuildStatistics {
|
sub handler { |
sub handler { |
my $r=shift; |
my $r=shift; |
|
|
|
# $jr = $r; |
|
|
unless(&Apache::lonnet::allowed('vgr',$ENV{'request.course.id'})) { |
unless(&Apache::lonnet::allowed('vgr',$ENV{'request.course.id'})) { |
$ENV{'user.error.msg'}= |
$ENV{'user.error.msg'}= |
$r->uri.":vgr:0:0:Cannot view grades for complete course"; |
$r->uri.":vgr:0:0:Cannot view grades for complete course"; |