Merge branch 'master' of ssh://lx-office/~/lx-office-erp
authorSven Schöling <s.schoeling@linet-services.de>
Mon, 16 Aug 2010 09:14:58 +0000 (11:14 +0200)
committerSven Schöling <s.schoeling@linet-services.de>
Mon, 16 Aug 2010 09:14:58 +0000 (11:14 +0200)
SL/DBUtils.pm
SL/Dispatcher.pm
SL/LXDebug.pm
config/lx-erp.conf
config/lx-erp.conf.default

index e0a362f..4a4ac25 100644 (file)
@@ -84,7 +84,7 @@ sub dump_query {
   }
 
   while ($query =~ /\?/) {
-    my $value = shift(@_);
+    my $value = shift || '';
     $value =~ s/\'/\\\'/g;
     $value = "'${value}'";
     $query =~ s/\?/$value/;
index e5a7daa..2c0539b 100644 (file)
@@ -82,6 +82,10 @@ sub pre_startup_setup {
     %::myconfig    = ();
     %::called_subs = (); # currently used for recursion detection
   }
+
+  $SIG{__WARN__} = sub {
+    $::lxdebug->warn(@_);
+  }
 }
 
 sub pre_startup_checks {
index e3778d4..7d17aec 100644 (file)
@@ -8,7 +8,8 @@ use constant QUERY              =>  1 << 3;
 use constant TRACE              =>  1 << 4;
 use constant BACKTRACE_ON_ERROR =>  1 << 5;
 use constant REQUEST_TIMER      =>  1 << 6;
-use constant ALL                => (1 << 7) - 1;
+use constant WARN               =>  1 << 7;
+use constant ALL                => (1 << 8) - 1;
 use constant DEVEL              => INFO | QUERY | TRACE | BACKTRACE_ON_ERROR | REQUEST_TIMER;
 
 use constant FILE_TARGET   => 0;
@@ -65,8 +66,8 @@ sub set_target {
 }
 
 sub enter_sub {
-  my ($self, $level) = @_;
-  $level *= 1;
+  my $self  = shift;
+  my $level = shift || 0;
 
   return 1 unless ($global_level & TRACE);          # ignore if traces aren't active
   return 1 if $level && !($global_level & $level);  # ignore if level of trace isn't active
@@ -89,8 +90,8 @@ sub enter_sub {
 }
 
 sub leave_sub {
-  my ($self, $level) = @_;
-  $level *= 1;
+  my $self  = shift;
+  my $level = shift || 0;
 
   return 1 unless ($global_level & TRACE);           # ignore if traces aren't active
   return 1 if $level && !($global_level & $level);   # ignore if level of trace isn't active
@@ -125,10 +126,16 @@ sub show_backtrace {
 }
 
 sub message {
+  no warnings;
   my ($self, $level, $message) = @_;
 
   $self->_write(level2string($level), $message) if (($self->{"level"} | $global_level) & $level || !$level);
 }
+sub warn {
+  no warnings;
+  my ($self, $message) = @_;
+  $self->message(WARN, $message);
+}
 
 sub dump {
   my ($self, $level, $name, $variable) = @_;
@@ -210,6 +217,7 @@ sub is_tracing_enabled {
 }
 
 sub _write {
+  no warnings;
   my ($self, $prefix, $message) = @_;
   my $date = strftime("%Y-%m-%d %H:%M:%S $$ [" . getppid() . "] ${prefix}: ", localtime(time()));
   local *FILE;
@@ -227,8 +235,9 @@ sub _write {
 }
 
 sub level2string {
+  no warnings;
   # use $_[0] as a bit mask and return levelstrings separated by /
-  join '/', qw(info debug1 debug2 query trace error_call_trace)[ grep { (reverse split //, sprintf "%05b", $_[0])[$_] } 0..5 ]
+  join '/', qw(info debug1 debug2 query trace error_call_trace request_timer WARNING)[ grep { (reverse split //, sprintf "%08b", $_[0])[$_] } 0..7 ]
 }
 
 sub begin_request {
index 205147d..e388b85 100644 (file)
@@ -101,6 +101,7 @@ $pg_restore_exe = "pg_restore";
 # LXDebug::TRACE  - Tracing von Funktionsaufrufen
 # LXDebug::BACKTRACE_ON_ERROR - Vollständiger Aufrufpfad, wenn $form->error() aufgerufen wird
 # LXDebug::REQUEST_TIMER - Timing von Requests loggen
+# LXDebug::WARN - warnings
 # LXDebug::ALL    - alle Debugausgaben
 #
 # LXDebug::DEVEL  - wie INFO | QUERY | TRACE | BACKTRACE_ON_ERROR
@@ -116,4 +117,10 @@ $LXDebug::global_level = LXDebug->NONE;
 # weshalb sie normalerweise deaktiviert ist.
 $LXDebug::watch_form = 0;
 
+# Zum debuggen von Latexausgaben. Wenn diese Option auf 1 gesetzt wird, werden
+# temporäre Dateien, die bei der Erstellung von PDFs aus Latex erzeugt werden,
+# nach Abschluß der Erstellung oder im Fehlerfall nicht gelöscht, damit man sie
+# untersuchen kann.
+$::keep_temp_files = 0;
+
 1;
index e031c3e..6b3b80f 100644 (file)
@@ -99,6 +99,8 @@ $pg_restore_exe = "pg_restore";
 # LXDebug::QUERY  - SQL Queries
 # LXDebug::TRACE  - Tracing von Funktionsaufrufen
 # LXDebug::BACKTRACE_ON_ERROR - Vollständiger Aufrufpfad, wenn $form->error() aufgerufen wird
+# LXDebug::REQUEST_TIMER - Timing von Requests loggen
+# LXDebug::WARN - warnings
 # LXDebug::ALL    - alle Debugausgaben
 #
 # LXDebug::DEVEL  - wie INFO | QUERY | TRACE | BACKTRACE_ON_ERROR