From b9a3ef486ebcde18a5ade37865ff8f397185d24f Mon Sep 17 00:00:00 2001 From: Till Brehm <tbrehm@ispconfig.org> Date: Sun, 24 Jul 2016 05:30:59 -0400 Subject: [PATCH] Fixed #3979 Mailbox users unable to save autoresponders --- server/lib/app.inc.php | 33 +++++++++++++++++++++++++-------- 1 files changed, 25 insertions(+), 8 deletions(-) diff --git a/server/lib/app.inc.php b/server/lib/app.inc.php index a1e75af..dd8be5a 100755 --- a/server/lib/app.inc.php +++ b/server/lib/app.inc.php @@ -35,6 +35,7 @@ var $loaded_modules = array(); var $loaded_plugins = array(); + var $_calling_script = ''; function __construct() { @@ -50,7 +51,7 @@ */ if($conf['dbmaster_host'] != '' && ($conf['dbmaster_host'] != $conf['db_host'] || ($conf['dbmaster_host'] == $conf['db_host'] && $conf['dbmaster_database'] != $conf['db_database']))) { - $this->dbmaster = new db($conf['dbmaster_host'], $conf['dbmaster_user'], $conf['dbmaster_password'], $conf['dbmaster_database']); + $this->dbmaster = new db($conf['dbmaster_host'], $conf['dbmaster_user'], $conf['dbmaster_password'], $conf['dbmaster_database'], $conf['dbmaster_port']); } else { $this->dbmaster = $this->db; } @@ -58,6 +59,23 @@ } + } + + function setCaller($caller) { + $this->_calling_script = $caller; + } + + function getCaller() { + return $this->_calling_script; + } + + function forceErrorExit($errmsg = 'undefined') { + global $conf; + + if($this->_calling_script == 'server') { + @unlink($conf['temppath'] . $conf['fs_div'] . '.ispconfig_lock'); + } + die('Exiting because of error: ' . $errmsg); } function uses($classes) { @@ -133,19 +151,18 @@ if(isset($this->dbmaster)) { $server_id = $conf['server_id']; $loglevel = $priority; - $tstamp = time(); - $message = $this->dbmaster->quote($msg); + $message = $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); + $tmp_rec = $this->dbmaster->queryOneRecord("SELECT count(syslog_id) as number FROM sys_log WHERE datalog_id = ? AND loglevel = ?", $datalog_id, 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); + $sql = "INSERT INTO sys_log (server_id,datalog_id,loglevel,tstamp,message) VALUES (?, ?, ?, UNIX_TIMESTAMP(), ?)"; + $this->dbmaster->query($sql, $server_id, $datalog_id, $loglevel, $message); } } else { - $sql = "INSERT INTO sys_log (server_id,datalog_id,loglevel,tstamp,message) VALUES ('$server_id',0,'$loglevel','$tstamp','$message')"; - $this->dbmaster->query($sql); + $sql = "INSERT INTO sys_log (server_id,datalog_id,loglevel,tstamp,message) VALUES (?, 0, ?, UNIX_TIMESTAMP(), ?)"; + $this->dbmaster->query($sql, $server_id, $loglevel, $message); } } -- Gitblit v1.9.1