From c2f53e76fde1ab534e67a9227d4f0adcde05dfa4 Mon Sep 17 00:00:00 2001 From: tbrehm <t.brehm@ispconfig.org> Date: Wed, 28 Oct 2009 14:05:37 -0400 Subject: [PATCH] Fix in maildrop plugin. --- server/lib/app.inc.php | 29 +++++++++++++++++++++++------ 1 files changed, 23 insertions(+), 6 deletions(-) diff --git a/server/lib/app.inc.php b/server/lib/app.inc.php index 697fd23..0fe0b8e 100644 --- a/server/lib/app.inc.php +++ b/server/lib/app.inc.php @@ -40,6 +40,11 @@ if($conf["start_db"] == true) { $this->load('db_'.$conf["db_type"]); $this->db = new db; + if($this->db->linkId) $this->db->closeConn(); + $this->db->dbHost = $conf["db_host"]; + $this->db->dbName = $conf["db_database"]; + $this->db->dbUser = $conf["db_user"]; + $this->db->dbPass = $conf["db_password"]; /* Initialize the connection to the master DB, @@ -68,7 +73,7 @@ $cl = explode(',',$classes); if(is_array($cl)) { foreach($cl as $classname) { - if(!is_object($this->$classname)) { + if(!@is_object($this->$classname)) { if(is_file($conf['classpath'] . "/".$classname.".inc.php") && !is_link($conf['classpath'] . "/".$classname.".inc.php")) { include_once($conf['classpath'] . "/".$classname.".inc.php"); $this->$classname = new $classname; @@ -125,15 +130,27 @@ } echo date("d.m.Y-H:i")." - ".$priority_txt." - ". $msg."\n"; fclose($fp); - + // Log to database - if(isset($this->db)) { + if(isset($this->dbmaster)) { $server_id = $conf['server_id']; $loglevel = $priority; $tstamp = time(); - $message = $this->db->quote($msg); - $sql = "INSERT INTO sys_log (server_id,loglevel,tstamp,message) VALUES ('$server_id','$loglevel','$tstamp','$message')"; - $this->db->query($sql); + $message = $this->dbmaster->quote($msg); + $datalog_id = (isset($this->modules->current_datalog_id) && $this->modules->current_datalog_id > 0)?$this->modules->current_datalog_id:0; + if($datalog_id > 0) { + $tmp_rec = $this->dbmaster->queryOneRecord("SELECT count(syslog_id) as number FROM sys_log WHERE datalog_id = $datalog_id AND loglevel = ".LOGLEVEL_ERROR); + //* Do not insert duplicate errors into the web log. + if($tmp_rec['number'] == 0) { + $sql = "INSERT INTO sys_log (server_id,datalog_id,loglevel,tstamp,message) VALUES ('$server_id',$datalog_id,'$loglevel','$tstamp','$message')"; + $this->dbmaster->query($sql); + } + } else { + $sql = "INSERT INTO sys_log (server_id,datalog_id,loglevel,tstamp,message) VALUES ('$server_id',0,'$loglevel','$tstamp','$message')"; + $this->dbmaster->query($sql); + } + + } //} else { -- Gitblit v1.9.1