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, 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; } } } function uses($classes) { global $conf; $cl = explode(',',$classes); if(is_array($cl)) { foreach($cl as $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; } } } } } function load($classes) { global $conf; $cl = explode(',',$classes); if(is_array($cl)) { foreach($cl as $classname) { if(is_file($conf['classpath'] . "/".$classname.".inc.php") && !is_link($conf['classpath'] . "/".$classname.".inc.php")) { include_once($conf['classpath'] . "/".$classname.".inc.php"); } else { die('Unable to load: '.$conf['classpath'] . "/".$classname.".inc.php"); } } } } /* 0 = DEBUG 1 = WARNING 2 = ERROR */ function log($msg, $priority = 0) { global $conf; if($priority >= $conf["log_priority"]) { //if (is_writable($conf["log_file"])) { if (!$fp = fopen ($conf["log_file"], "a")) { die("Unable to open logfile."); } switch ($priority) { case 0: $priority_txt = "DEBUG"; break; case 1: $priority_txt = "WARNING"; break; case 2: $priority_txt = "ERROR"; break; } if (!fwrite($fp, date("d.m.Y-H:i")." - ".$priority_txt." - ". $msg."\r\n")) { die("Unable to write to logfile."); } 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."); //} } // if } // func /* 0 = DEBUG 1 = WARNING 2 = ERROR */ function error($msg) { $this->log($msg,3); die($msg); } } /* Initialize application (app) object */ $app = new app; ?>