From cdda6b98d785f103d9be6643a99a882c0d65b64c Mon Sep 17 00:00:00 2001 From: fantu <fantu@ispconfig3> Date: Sun, 21 Dec 2008 04:51:07 -0500 Subject: [PATCH] fix parse error --- server/lib/app.inc.php | 45 +++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 43 insertions(+), 2 deletions(-) diff --git a/server/lib/app.inc.php b/server/lib/app.inc.php index 62580db..457693b 100644 --- a/server/lib/app.inc.php +++ b/server/lib/app.inc.php @@ -1,6 +1,7 @@ <?php + /* -Copyright (c) 2006, Till Brehm, projektfarm Gmbh +Copyright (c) 2007, Till Brehm, projektfarm Gmbh All rights reserved. Redistribution and use in source and binary forms, with or without modification, @@ -39,6 +40,24 @@ if($conf["start_db"] == true) { $this->load('db_'.$conf["db_type"]); $this->db = new db; + + /* + Initialize the connection to the master DB, + if we are in a multiserver setup + */ + + if($conf["dbmaster_host"] != '' && $conf["dbmaster_host"] != $conf["db_host"]) { + $this->dbmaster = new db; + if($this->dbmaster->linkId) $this->dbmaster->closeConn(); + $this->dbmaster->dbHost = $conf["dbmaster_host"]; + $this->dbmaster->dbName = $conf["dbmaster_database"]; + $this->dbmaster->dbUser = $conf["dbmaster_user"]; + $this->dbmaster->dbPass = $conf["dbmaster_password"]; + } else { + $this->dbmaster = $this->db; + } + + } } @@ -87,7 +106,7 @@ if($priority >= $conf["log_priority"]) { //if (is_writable($conf["log_file"])) { if (!$fp = fopen ($conf["log_file"], "a")) { - die("Unable to open Logfile."); + die("Unable to open logfile."); } switch ($priority) { case 0: @@ -107,6 +126,28 @@ echo date("d.m.Y-H:i")." - ".$priority_txt." - ". $msg."\n"; fclose($fp); + // Log to database + if(isset($this->dbmaster)) { + $server_id = $conf['server_id']; + $loglevel = $priority; + $tstamp = time(); + $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 { // die("Unable to write to logfile."); //} -- Gitblit v1.9.1