';
+
+sub DisplayClasslist {
+ my ($r)=@_;
+ &Apache::lonhtmlcommon::add_breadcrumb
+ ({text=>'Select One Student'});
+ #
+ # Output some of the standard interface components
+ my $Str;
+ $Str .= &Apache::lonhtmlcommon::breadcrumbs('Select One Student');
+ $Str .= '
\n";
+ $Str .= ' '.(' 'x8).$reportdata->{'short_description'}.
+ "\n";
+ }
+ $Str .="\n";
+ #
return $Str;
}
-sub BuildStatistics {
- my ($r)=@_;
- my $c = $r->connection;
- my @studentInformation=('fullname','section','id','domain','username');
- my @headings=('Full Name', 'Section', 'PID', 'Domain', 'User Name');
- my $spacePadding = ' ';
- my %reports = ('classlist' => 'Class list',
- 'problem_statistics' => 'Problem Statistics',
- 'student_assessment' => 'Student Assessment',
- 'reportSelected' => 'Class list');
-
- my %cache;
- my $courseID=$ENV{'request.course.id'};
- my $cacheDB = "/home/httpd/perl/tmp/$ENV{'user.name'}".
- "_$ENV{'user.domain'}_$courseID\_statistics.db";
-
- my %color=&setbgcolor(0);
- my ($returnValue, $students) = &PrepareData($c, $cacheDB);
- if($returnValue ne 'OK') {
- $r->print(''.$returnValue."\n".'');
- return OK;
- }
-
- my $GoToPage;
- if(tie(%cache,'GDBM_File',$cacheDB,&GDBM_READER,0640)) {
- $GoToPage = $cache{'reportSelected'};
- $reports{'reportSelected'} = $cache{'reportSelected'};
-# if(defined($cache{'reportKey'}) && $cache{'reportKey'} ne 'false') {
-# $reports{$cache{'reportKey'}} = $cache{'reportSelected'};
-# }
- if(defined($cache{'OptionResponses'})) {
- $reports{'problem_analysis'} = 'Problem Analysis';
+sub handler {
+ my $r=shift;
+ my $c = $r->connection();
+ #
+ # Check for overloading
+ my $loaderror=&Apache::lonnet::overloaderror($r);
+ if ($loaderror) { return $loaderror; }
+ $loaderror=
+ &Apache::lonnet::overloaderror($r,
+ $env{'course.'.$env{'request.course.id'}.'.home'});
+ if ($loaderror) { return $loaderror; }
+ #
+ # Check for access
+ if (! &Apache::lonnet::allowed('vgr',$env{'request.course.id'})) {
+ $env{'user.error.msg'}=
+ $r->uri.":vgr:0:0:Cannot view grades for complete course";
+ if (! &Apache::lonnet::allowed('vgr',
+ $env{'request.course.id'}.'/'.$env{'request.course.sec'})) {
+ $env{'user.error.msg'}=
+ $r->uri.":vgr:0:0:Cannot view grades with given role";
+ return HTTP_NOT_ACCEPTABLE;
}
-
- $r->print(&Apache::lonhtmlcommon::Title('LON-CAPA Statistics'));
+ }
+ #
+ # Send the header
+ &Apache::loncommon::no_cache($r);
+ &Apache::loncommon::content_type($r,'text/html');
+ $r->send_http_header;
+ if ($r->header_only) { return OK; }
+ #
+ # Extract form elements from query string
+ &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
+ ['sort','reportSelected',
+ 'SelectedStudent']);
+ #
+ # Give the LON-CAPA page header
+ my $style = <
+ ul.sub_studentans { list-style-type: none }
+ ul.sub_correctans { list-style-type: none }
+ tr.even { background-color: \#CCCCCC }
+ td.essay { border: 1px solid gray; }
+
+ENDSTYLE
+
+ $r->print(&Apache::loncommon::start_page('Course Statistics and Charts',
+ $style));
+ $r->rflush();
+ #
+ # Either print out a menu for them or send them to a report
+ &Apache::lonhtmlcommon::clear_breadcrumbs();
+ &Apache::lonhtmlcommon::add_breadcrumb({href=>'/adm/statistics',
+ title=>'Statistics',
+ text =>'Statistics',
+ faq=>139,
+ bug=>'Statistics and Charts'});
+ if (! exists($env{'form.reportSelected'}) ||
+ $env{'form.reportSelected'} eq '') {
+ $r->print(&Apache::lonhtmlcommon::breadcrumbs('Statistics Main Page').
+ &CreateMainMenu());
+ } else {
+ #
+ if (! &Apache::lonmysql::verify_sql_connection()) {
+ my $serveradmin = $r->dir_config('lonAdmEMail');
+ $r->print('
'.
+ &mt('Unable to connect to database!').
+ '
');
+ $r->print('
'
+ .&mt('Please notify the server administrator [_1]',
+ ,''.$serveradmin.'')
+ .'
');
+ $r->print('
'.
+ &mt('Course Statistics and Charts cannot be '.
+ 'retrieved until the database is restarted. '.
+ 'Your data is intact but cannot be displayed '.
+ 'at this time.').'