Code

Removed do nothing blocks
[gosa.git] / gosa-core / include / class_log.inc
index 5ac8483793bb5c6b1f00e453e0cc6ad6b9da5b3a..ebaeff5a611b0eaf079a05c1f0ed3c178a1336aa 100644 (file)
@@ -30,8 +30,6 @@
  */
 class log {
 
-  var $LOG_TO_MYSQL = FALSE;
-  var $LOG_TO_SYSLOG= FALSE;
   var $config;
 
  /*! \brief logging constructor
@@ -52,11 +50,11 @@ class log {
     }
 
     $entry = array(); 
-    if(!session::is_set('config')){
+    if(!session::global_is_set('config')){
       $entry['user']= "unkown";
     }else{
 
-      $this->config = session::get('config');
+      $this->config = session::global_get('config');
       $ui           = get_userinfo(); 
       $entry['user']= @$ui->dn;
     }
@@ -76,37 +74,21 @@ class log {
     $entry['changes']   = $changes;
     $entry['result']    = $result;
 
-    if(!isset($this->config->current['LOGGING']) && empty($entry['user'])){
+    if(!isset($this->config) && empty($entry['user'])){
       $entry['user']  = "unknown";
     }
+
     /* Check if all given values are valid */
+    global $config;
     $msgs = @log::check($entry);
     if(count($msgs)){
       foreach($msgs as $msg){
         trigger_error("Logging failed, reason was: ".$msg);
         msg_dialog::display(_("Internal error"), sprintf(_("Logging failed: %s"), $msg), ERROR_DIALOG);
       }
-      
     }else{
-
-      if(!isset($this->config->current['LOGGING'])){
+      if(is_object($config) && preg_match("/true/i",$config->get_cfg_value("logging",""))){
         $this->log_into_syslog($entry);
-      }else{
-
-        /* Start logging for configured methods */
-        if(isset($this->config->current['LOGGING']) && preg_match("/(^|,)syslog(,|$)/i",$this->config->current['LOGGING'])){
-          $this->log_into_syslog($entry);
-        }
-        if(isset($this->config->current['LOGGING']) && preg_match("/(^|,)mysql(,|$)/i",$this->config->current['LOGGING'])){
-          $res = $this->log_into_db($entry);
-
-          if(!$res){
-            global $config;
-            $config->current['LOGGING'] = preg_replace("/(^|,)mysql(,|$)/",",",$config->current['LOGGING']);
-            msg_dialog::display(_("Logging to MySQL disabled"),_("The logging to a MySQL database is now disabled for this session of GOsa, due to communication errors with the specified logging database."), INFO_DIALOG);
-          }
-        }
       }
     }
   }
@@ -117,11 +99,11 @@ class log {
     $msgs = array();
 
     if(!isset($entry['action']) || !in_array($entry['action'],array("modify","create","remove","copy","snapshot","view","security","debug"))){
-      $msgs[] = sprintf(_("Invalid option '%s' specified."), $entry['action']);
+      $msgs[] = sprintf(_("Invalid option '%s' specified!"), $entry['action']);
     }
 
     if(!isset($entry['objecttype']) || empty($entry['objecttype'])){
-      $msgs[] = _("Specified objectType is empty or invalid");
+      $msgs[] = _("Specified objectType is empty or invalid!");
     }
   
     return($msgs);
@@ -131,123 +113,15 @@ class log {
   /* This function is used to into the systems syslog */
   function log_into_syslog($entry)
   {
-    $str = $entry['user']." ".$entry['action']." ".$entry['object']." from type ".$entry['objecttype']." ".$entry['changes']." : Result was ".$entry['result'];
+    $str= "";
+    if (empty($entry['object']) && empty($entry['changes'])) {
+      $str = "(".$entry['action'].") ".$entry['objecttype'].": ".$entry['result'];
+    } else {
+      $str = "(".$entry['action'].") ".$entry['object']." of type ".$entry['objecttype']." ".$entry['changes'].": ".$entry['result'];
+    }
     gosa_log($str);
   }
 
-
-  /* Log into configured logging databses.*/
-  function log_into_db($entry)
-  {
-    if(isset($this->config->data['SERVERS']['LOGGING'])){
-      $servers = $this->config->data['SERVERS']['LOGGING'];
-    }else{
-      msg_dialog::display(_("Error"), _("You have enabled the logging into mysql database, but there are no logging servers available."), ERROR_DIALOG);
-      return(FALSE);
-    }
-
-    /* Log into each configured server 
-     */
-    foreach($servers as $server_name => $server){
-      /* Connect to the database 
-       */
-      $con = @mysql_pconnect($server_name,$server['USER'],$server['PWD']);
-      if(!$con){
-        msg_dialog::display(_("Error"), sprintf(_("Cannot connect to logging server '%s'."),$server_name), ERROR_DIALOG);
-        return(FALSE);
-      }else{
-
-        /* Check if the database is available 
-         */
-        $db = mysql_select_db($server['DB'],$con);
-        if(!$db){
-          msg_dialog::display(_("Error"), sprintf(_("Cannot select database '%s' on server '%s': %s"),$server['DB'],$server['SERVER'], mysql_error($con)), ERROR_DIALOG);
-          return(FALSE);
-        }else{
-
-          /* Check for required tables 
-          */
-          $query = "SHOW TABLES;";
-          $res    = @mysql_query($query,$con);
-          $tables = array();
-          while($attrs  = mysql_fetch_row($res)){
-            $tables[] = $attrs[0];
-          }
-          $error = FALSE;
-          foreach(array("gosa_log","gosa_locations") as $required){
-            if(!in_array($required,$tables)){
-              msg_dialog::display(_("Error"), 
-              sprintf(_("Missing logging table (%s.%s) update your GOsa logging database schema."),
-                $server['DB'],$required), ERROR_DIALOG);
-              $error = TRUE;
-            }
-            if($error) return(FALSE);
-          }
-          /* Check if our current location is already registerd 
-              in this case get its id.
-             If it wasn't registered yet, create it. 
-           */
-          $base = mysql_escape_string($this->config->current['BASE']);
-          $query= "SELECT id FROM gosa_locations WHERE location=\"".$base."\";";
-          $res  = mysql_query($query);  
-          $location_id = -1;
-          while($attrs = mysql_fetch_assoc($res)){
-            $location_id = $attrs['id'];
-            break;
-          }
-  
-          /* No location found that matches our location.
-             Create it.
-           */
-          if($location_id == -1){
-            $query = "INSERT INTO gosa_locations (location) VALUES ('".$base."');";
-            mysql_query($query,$con);
-            /* Try to detect the location again 
-             */ 
-            $query= "SELECT id FROM gosa_locations WHERE location=\"".$base."\";";
-            $res  = mysql_query($query);
-            $location_id = -1;
-            while($attrs = mysql_fetch_assoc($res)){
-              $location_id = $attrs['id'];
-              break;
-            }
-            if($location_id == -1){
-              msg_dialog::display(_("Error"), sprintf(_("Couldn't add your location to the logging database, the error was: %s."),
-                mysql_error($con)), ERROR_DIALOG);
-              return(FALSE);
-            }
-          }  
-
-          /* Create mysql syntax */
-          $query ="INSERT INTO gosa_log 
-            (timestamp,user,action,objecttype,object,changes,result,location_id)
-            VALUES 
-            (
-             \"".mysql_escape_string($entry['timestamp'])."\", 
-             \"".mysql_escape_string($entry['user'])."\", 
-             \"".mysql_escape_string($entry['action'])."\", 
-             \"".mysql_escape_string($entry['objecttype'])."\", 
-             \"".mysql_escape_string($entry['object'])."\", 
-             \"".mysql_escape_string($entry['changes'])."\", 
-             \"".mysql_escape_string($entry['result'])."\", 
-             \"".mysql_escape_string($location_id)."\" 
-            );
-          ";
-          $res = mysql_query($query,$con);
-          if(!$res){
-            msg_dialog::display(_("Error"), sprintf(_("Cannot query database '%s' on server '%s': %s"),
-                  $server['DB'],$server['SERVER'], mysql_error($con)), ERROR_DIALOG);
-            return(FALSE);
-          } 
-        }
-        mysql_close($con);
-      }
-    }
-    return(TRUE);
-  }
 }
 
 // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: