--- loncom/interface/lontest.pm 2001/12/19 17:17:46 1.3
+++ loncom/interface/lontest.pm 2002/08/20 21:29:34 1.7
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# A debugging harness.
#
-# $Id: lontest.pm,v 1.3 2001/12/19 17:17:46 albertel Exp $
+# $Id: lontest.pm,v 1.7 2002/08/20 21:29:34 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -31,32 +31,97 @@ package Apache::lontest;
use strict;
use Apache::Constants qw(:common :http);
+use GDBM_File;
+use Apache::loncommon;
+
+# section takes one env var name as input, and returns
+# what section the given env var is in, which is the part
+# of the env var before the first period.
+# Returns the section, or blank string for 'no section',
+# which is normal for the standard ENV vars like REQUEST_URI.
+sub section
+{
+ my ($name) = @_;
+ return $1 if $name =~ m/\A([^.]*)\./;
+ return '';
+}
sub handler {
my $r = shift;
$r->content_type('text/html');
$r->send_http_header;
return OK if $r->header_only;
-
-
- $r->print('
');
+ my $bodytag=&Apache::loncommon::bodytag("admin","List Environment");
+ $r->print(''.$bodytag);
+
my $envkey;
$->print("
Debugging
\n");
+ $->print("");
my $i=0;
+ my $interval = 20; # change this to change how many keys/table
+ my $prevSection = ''; # keeps track of the section we're in.
foreach $envkey (sort keys %ENV) {
- $r->print("$envkey ---- $ENV{$envkey}
");
- $i++;
+ if (not ($i % $interval))
+ {
+ $r->print('') unless $i eq 0;
+ $r->print('')
+ }
+ my $sec = section($envkey);
+
+ if ($prevSection ne $sec) # new section, print header
+ {
+ $r->print('');
+ $r->print("
$sec");
+ $r->print(' |
');
+ $prevSection = $sec;
+ }
+
+ my $envVal = $ENV{$envkey};
+ $envVal =~ s/(.{50})/\1\/g;
+ $envkey =~ s/(.{30})/\1\/g;
+
+ $r->print("$envkey | ");
+ $r->print("$envVal |
\n");
+ $i++;
}
- $r->print('Total Number of Elements: '.$i.'
');
+ $r->print('
Total Number of Elements: '.$i.'
');
+
+# ------------------------------------------------ If in a course, print hashes
+ if ($ENV{'request.course.id'}) {
+
+ my %parmhash;
+ my %hash;
+
+ my $fn=$ENV{'request.course.fn'};
+
+ if ((tie(%hash,'GDBM_File',"$fn.db",&GDBM_READER(),0640)) &&
+ (tie(%parmhash,'GDBM_File',
+ $ENV{'request.course.fn'}.'_parms.db',
+ &GDBM_READER(),0640))) {
+ $r->print('Big Hash
');
+ foreach (sort keys %hash) {
+ $r->print("\n
".$_.': '.$hash{$_});
+ }
+ $r->print('Parm Hash
');
+ foreach (sort keys %parmhash) {
+ $r->print("\n
".$_.': '.$parmhash{$_});
+ }
+ untie %hash;
+ untie %parmhash;
+ }
+
+
+ }
# ------------------------------------------------------------------- End Debug
$r->print('');
}
+
1;
__END__