]> git.datanom.net - qtadmin.git/commitdiff
Add check for valid session
authorMichael Rasmussen <mir@datanom.net>
Fri, 5 Jun 2015 20:35:39 +0000 (22:35 +0200)
committerMichael Rasmussen <mir@datanom.net>
Fri, 5 Jun 2015 20:35:39 +0000 (22:35 +0200)
config.php
lib/utils.inc.php

index 23807942e0daa0140092ccc22854b5d67b8f14d5..016f27186edb868cd411e9e7e1dd727294b4f9ca 100644 (file)
@@ -1,5 +1,6 @@
 <?php
 /* vim: set ts=4 tw=0 sw=4 noet: */
+unset($CFG);
 $CFG = new stdClass;
 
 // Amavis
@@ -28,4 +29,19 @@ $DB = null;
 // Default timeout is 20 minuts
 $CFG->session_timeout = 60;
 
+// Log level
+// 0 = no logging
+// 1 = error
+// 2 = warning
+// 3 = info
+// 4 = debug
+// Default log level is error
+$CFG->log_level = 4;
+
+// Log method
+// stderr = Stand Error
+// file = file to log to. Requires write permission to web server
+// syslog = syslog
+// Default log method is syslog
+$CFG->log_method = 'syslog';
 ?>
index 640d828edfffedf540804b91d052ace2d6284489..ec109f82c6f63ef82434e451bdfdbb3b7b007329 100644 (file)
@@ -6,6 +6,8 @@ class Utils {
 
     private $timeout = false;
     private $settings;
+    private $log_level;
+    private $log_method;
     private $header = '<!DOCTYPE html>
 <html>
 <head>
@@ -27,6 +29,20 @@ class Utils {
     public function __construct() {
         global $CFG;
 
+        $this->log("Init Utils", 4);
+
+        if (isset($CFG->log_level)) {
+            $this->log_level = $CFG->log_level;
+        } else {
+            $this->log_level = 1;
+        }
+
+        if (isset($CFG->log_method)) {
+            $this->log_method = $CFG->log_method;
+        } else {
+            $this->log_level = 'syslog';
+        }
+
         $this->startSession();
 
         if (! isset($_SESSION['settings'])) {
@@ -44,6 +60,31 @@ class Utils {
         }
     }
 
+    private function log($message, $level = 1) {
+        global $CFG;
+
+        if ($level > $this->log_level)
+            return;
+
+        $time = date('c');
+        $msg = "[$time] $message";
+
+        $priority = LOG_INFO;
+        switch ($level) {
+            case 1: $priority = LOG_ERR; break;
+            case 2: $priority = LOG_WARNING; break;
+            case 3: $priority = LOG_INFO; break;
+            case 4: $priority = LOG_DEBUG; break;
+        }
+
+        switch ($this->log_method) {
+            case 'file':
+            case 'stderr':
+            case 'syslog':
+                syslog($priority,$msg);
+                break;
+    }
+
     private function initSettings() {
         if ('' == session_id()) {
             $this->startSession();
This page took 0.044553 seconds and 5 git commands to generate.