old mode 100644
new mode 100755
| | |
| | | <?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, |
| | |
| | | EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
| | | */ |
| | | |
| | | //* Set timezone |
| | | if(isset($conf['timezone']) && $conf['timezone'] != '') date_default_timezone_set($conf['timezone']); |
| | | |
| | | class app { |
| | | |
| | | var modules = array(); |
| | | var plugins = array(); |
| | | var $loaded_modules = array(); |
| | | var $loaded_plugins = array(); |
| | | |
| | | function app() { |
| | | function __construct() { |
| | | |
| | | global $conf; |
| | | |
| | | if($conf["start_db"] == true) { |
| | | $this->load('db_'.$conf["db_type"]); |
| | | 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'] || ($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']); |
| | | } 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; |
| | | } |
| | | 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') && (DEVSYSTEM || !is_link($conf['classpath'].'/'.$classname.'.inc.php'))) { |
| | | include_once($conf['classpath'].'/'.$classname.'.inc.php'); |
| | | $this->$classname = new $classname; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | function load($files) { |
| | | function load($classes) { |
| | | |
| | | global $conf; |
| | | $fl = explode(',',$files); |
| | | if(is_array($fl)) { |
| | | foreach($fl as $file) { |
| | | if(is_file($conf['classpath'] . "/".$classname.".inc.php") && !is_link($conf['classpath'] . "/".$classname.".inc.php")) { |
| | | include_once($conf['classpath'] . "/".$file.".inc.php"); |
| | | } |
| | | } |
| | | } |
| | | global $conf; |
| | | |
| | | $cl = explode(',',$classes); |
| | | if(is_array($cl)) { |
| | | foreach($cl as $classname) { |
| | | if(is_file($conf['classpath'].'/'.$classname.'.inc.php') && (DEVSYSTEM || !is_link($conf['classpath'].'/'.$classname.'.inc.php'))) { |
| | | include_once($conf['classpath'].'/'.$classname.'.inc.php'); |
| | | } else { |
| | | die('Unable to load: '.$conf['classpath'].'/'.$classname.'.inc.php'); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | /* |
| | |
| | | |
| | | function log($msg, $priority = 0) { |
| | | |
| | | global $conf; |
| | | |
| | | if($priority >= $conf["log_priority"]) { |
| | | if (is_writable($conf["log_file"])) { |
| | | global $conf; |
| | | |
| | | if (!$fp = fopen ($conf["log_file"], "a")) { |
| | | die("Unable to open Logfile."); |
| | | 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"; |
| | | switch ($priority) { |
| | | case 0: |
| | | $priority_txt = 'DEBUG'; |
| | | break; |
| | | case: 1; |
| | | $priority_txt = "WARNING"; |
| | | case 1: |
| | | $priority_txt = 'WARNING'; |
| | | break; |
| | | case: 2; |
| | | $priority_txt = "ERROR"; |
| | | 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."); |
| | | if (!fwrite($fp, @date('d.m.Y-H:i').' - '.$priority_txt.' - '. $msg."\r\n")) { |
| | | die('Unable to write to logfile.'); |
| | | } |
| | | fclose($fp); |
| | | echo @date('d.m.Y-H:i').' - '.$priority_txt.' - '. $msg."\n"; |
| | | fclose($fp); |
| | | |
| | | } else { |
| | | $this->error("Unable to write to logfile."); |
| | | } |
| | | // 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 |
| | | |
| | |
| | | |
| | | function error($msg) { |
| | | $this->log($msg,3); |
| | | die(); |
| | | die($msg); |
| | | } |
| | | |
| | | } |
| | |
| | | |
| | | $app = new app; |
| | | |
| | | ?> |
| | | ?> |