File:  [LON-CAPA] / loncom / interface / lontest.pm
Revision 1.4: download - view: text, annotated - select for diffs
Thu Jun 13 17:54:04 2002 UTC (21 years, 10 months ago) by bowersj2
Branches: MAIN
CVS tags: HEAD
Prettified the debugging output. Added <wbr> (word breaks)
so the debug output should fit without horizontal scrolling.
Fixes bug 527.

# The LearningOnline Network with CAPA
# A debugging harness.
#
# $Id: lontest.pm,v 1.4 2002/06/13 17:54:04 bowersj2 Exp $
#
# Copyright Michigan State University Board of Trustees
#
# This file is part of the LearningOnline Network with CAPA (LON-CAPA).
#
# LON-CAPA is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# LON-CAPA is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with LON-CAPA; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
#
# /home/httpd/html/adm/gpl.txt
#
# http://www.lon-capa.org/
#
#

package Apache::lontest;

use strict;
use Apache::Constants qw(:common :http);

# 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('<html><body>');

     my $envkey;
 
     $->print("<hr><h1>Debugging</h1><hr>\n");
     $->print("<font face='Courier'>");
     
     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) {
	 if (not ($i % $interval))
         {
	     $r->print('</table>') unless $i eq 0;
	     $r->print('<table border="0">')
         }
	 my $sec = section($envkey);

	 if ($prevSection ne $sec) # new section, print header
	 {
	     $r->print('<tr><td colspan="2">');
	     $r->print("<br><br><h2 style='color: #008800'><u>$sec</u></h2>");
	     $r->print('</td></tr>');
	     $prevSection = $sec;
	 }

	 my $envVal = $ENV{$envkey};
	 $envVal =~ s/(.{50})/\1\<wbr\>/g;
	 $envkey =~ s/(.{30})/\1\<wbr\>/g;
	 
	 $r->print("<tr><td valign='top'><b>$envkey</b></td>");
         $r->print("<td valign='top'>$envVal</td></tr>\n");
	 $i++;
     }

     $r->print('</table></font><h1>Total Number of Elements: '.$i.'</h1>');
 
# ------------------------------------------------------------------- End Debug
     $r->print('</body></html>');        
 }


1;
__END__





FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>