Diff for /loncom/interface/lontest.pm between versions 1.9 and 1.15

version 1.9, 2002/12/09 22:41:50 version 1.15, 2005/04/05 20:43:27
Line 33  use strict; Line 33  use strict;
 use Apache::Constants qw(:common :http);  use Apache::Constants qw(:common :http);
 use GDBM_File;  use GDBM_File;
 use Apache::loncommon;  use Apache::loncommon;
   use Apache::lonnet;
   
 # section takes one env var name as input, and returns  # section takes one env var name as input, and returns
 # what section the given env var is in, which is the part  # what section the given env var is in, which is the part
Line 46  sub section Line 47  sub section
     return '';      return '';
 }  }
   
  sub handler {  sub print_hash {
      my $r = shift;      my ($r,$hash)=@_;
      $r->content_type('text/html');      my $i=0;
      $r->send_http_header;      my $interval = 20; # change this to change how many keys/table
      return OK if $r->header_only;      my $prevSection = ''; # keeps track of the section we're in.
   
       foreach my $envkey (sort(keys(%{$hash}))) {
    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 = $hash->{$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++;
       }
   
      my $bodytag=&Apache::loncommon::bodytag("List Environment","admin");      $r->print('</table></font><h1>Total Number of Elements: '.$i.'</h1>');
      $r->print('<html>'.$bodytag);  }
        sub handler {
      my $envkey;      my $r = shift;
       &Apache::loncommon::content_type($r,'text/html');
       $r->send_http_header;
       return OK if $r->header_only;
   
       my $html=&Apache::lonxml::xmlbegin();
       my $bodytag=&Apache::loncommon::bodytag("List Environment","admin");
       $r->print($html.'<head></head>'.$bodytag);
     
      $r->print("<hr><h1>Debugging</h1><hr>\n");      $r->print("<hr /><h1>Debugging</h1><hr />\n");
      $r->print("<font face='Courier'>");      $r->print("<font face='Courier'>");
             
      my $i=0;      my %differences=%ENV;
      my $interval = 20; # change this to change how many keys/table      foreach my $key (sort(keys(%env))) {
      my $prevSection = ''; # keeps track of the section we're in.   if ($env{$key} eq $differences{$key}) {
      foreach $envkey (sort keys %ENV) {      delete($differences{$key});
  if (not ($i % $interval))   }
          {      }
      $r->print('</table>') unless $i eq 0;      &print_hash($r,\%differences);
      $r->print('<table border="0">')      &print_hash($r,\%env);
          }      &print_hash($r,\%ENV);
  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>');  
   
 # ------------------------------------------------ If in a course, print hashes  # ------------------------------------------------ If in a course, print hashes
    if ($ENV{'request.course.id'}) {      if ($ENV{'request.course.id'}) {
   
      my %parmhash;   my %parmhash;
      my %hash;   my %symbhash;
    my %hash;
      my $fn=$ENV{'request.course.fn'};  
    my $fn=$ENV{'request.course.fn'};
      if ((tie(%hash,'GDBM_File',"$fn.db",&GDBM_READER(),0640)) &&  
  (tie(%parmhash,'GDBM_File',   if (tie(%hash,'GDBM_File',"$fn.db",&GDBM_READER(),0640)) {
      $ENV{'request.course.fn'}.'_parms.db',      $r->print('<h2>Big Hash</h2>');
      &GDBM_READER(),0640))) {      foreach (sort keys %hash) {
      $r->print('<h2>Big Hash</h2>');   $r->print("\n<br />".$_.': '.$hash{$_});
          foreach (sort keys %hash) {      }
      $r->print("\n<br>".$_.': '.$hash{$_});      untie %hash;
          }   } else {
      $r->print('<h2>Parm Hash</h2>');      $r->print('<h2>Count not tie big hash</h2>');
          foreach (sort keys %parmhash) {   }
      $r->print("\n<br>".$_.': '.$parmhash{$_});   if (tie(%parmhash,'GDBM_File',
          }   $ENV{'request.course.fn'}.'_parms.db',
          untie %hash;   &GDBM_READER(),0640)) {
          untie %parmhash;      $r->print('<h2>Parm Hash</h2>');
      }      foreach (sort keys %parmhash) {
           $r->print("\n<br />".$_.': '.$parmhash{$_});
       }
  }      untie %parmhash;
    } else {
               $r->print('<h2>Could not tie parmhash</h2>');
    }
    if (tie(%symbhash,'GDBM_File',"$fn\_symb.db",&GDBM_READER(),0640)) {
               $r->print('<h2>Symb Hash</h2>');
               foreach (sort keys %symbhash) {
    $r->print("\n<br />".$_.': '.$symbhash{$_});
               }
               untie %symbhash;
    } else {
               $r->print('<h2>Could not tie symbhash</h2>');
    }
    if (-e $fn.'.state') {
       $r->print('<h2>State</h2>');
       my @conditions=();
       {
    my $fh=Apache::File->new($fn.'.state');
    @conditions=<$fh>;
       }
       foreach (@conditions) {
    $r->print('<tt>'.$_.'</tt><br />');
       }
    }
       }
     
 # ------------------------------------------------------------------- End Debug  # ------------------------------------------------------------------- End Debug
      $r->print('</body></html>');               $r->print('</body></html>');    
        return OK;
  }   }
   
   

Removed from v.1.9  
changed lines
  Added in v.1.15


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