Skip to content
Snippets Groups Projects
Commit f17e5b0b authored by pedro_morgan's avatar pedro_morgan
Browse files

Tidied up app.inc.php

* now php5 class 
* Inctroducted $_loaded_modules class var to silence "undefined property" error
* Cleaned code to PEAR standards
parent 09223320
No related branches found
No related tags found
No related merge requests found
...@@ -27,94 +27,91 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, ...@@ -27,94 +27,91 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/ */
ob_start("ob_gzhandler"); ob_start('ob_gzhandler');
class app { class app {
var $_language_inc = 0; private $_language_inc = 0;
var $_wb; private $_wb;
private $_loaded_classes = array();
function app() {
public function __construct() {
global $conf; global $conf;
if($conf["start_db"] == true) { if($conf['start_db'] == true) {
$this->load('db_'.$conf["db_type"]); $this->load('db_'.$conf['db_type']);
$this->db = new db; $this->db = new db;
} }
if($conf["start_session"] == true) { if($conf['start_session'] == true) {
session_start(); session_start();
$_SESSION["s"]['id'] = session_id(); $_SESSION['s']['id'] = session_id();
if($_SESSION["s"]["theme"] == '') $_SESSION["s"]['theme'] = $conf['theme']; if(!isset($_SESSION['s']['theme']) || $_SESSION['s']['theme'] == ''){
if($_SESSION["s"]["language"] == '') $_SESSION["s"]['language'] = $conf['language']; $_SESSION['s']['theme'] = $conf['theme'];
} }
if($_SESSION['s']['language'] == '') $_SESSION['s']['language'] = $conf['language'];
} }
}
function uses($classes) {
global $conf; public function uses($classes) {
global $conf;
$cl = explode(',',$classes);
if(is_array($cl)) { $cl = explode(',',$classes);
foreach($cl as $classname) { if(is_array($cl)) {
if(!is_object($this->$classname)) { foreach($cl as $classname){
include_once($conf['classpath'] . "/".$classname.".inc.php"); if(!array_key_exists($classname, $this->_loaded_classes)){
$this->$classname = new $classname; include_once($conf['classpath'] . '/'.$classname.'.inc.php');
} $this->$classname = new $classname;
} $this->_loaded_classes[$classname] = true;
} }
}
} }
}
function load($files) {
public function load($files) {
global $conf; global $conf;
$fl = explode(',',$files);
if(is_array($fl)) { $fl = explode(',',$files);
foreach($fl as $file) { if(is_array($fl)) {
include_once($conf['classpath'] . "/".$file.".inc.php"); foreach($fl as $file) {
} include_once($conf['classpath'] . '/'.$file.'.inc.php');
} }
}
} }
/* /*
0 = DEBUG 0 = DEBUG
1 = WARNING 1 = WARNING
2 = ERROR 2 = ERROR
*/ */
public function log($msg, $priority = 0) {
function log($msg, $priority = 0) { global $conf;
if($priority >= $conf["log_priority"]) { if($priority >= $conf['log_priority']) {
if (is_writable($conf["log_file"])) { if (is_writable($conf['log_file'])) {
if (!$fp = fopen ($conf['log_file'], 'a')) {
if (!$fp = fopen ($conf["log_file"], "a")) { $this->error('Logfile konnte nicht ge�ffnet werden.');
$this->error("Logfile konnte nicht geöffnet werden."); }
} if (!fwrite($fp, date('d.m.Y-H:i').' - '. $msg."\r\n")) {
if (!fwrite($fp, date("d.m.Y-H:i")." - ". $msg."\r\n")) { $this->error('Schreiben in Logfile nicht m�glich.');
$this->error("Schreiben in Logfile nicht möglich."); }
} fclose($fp);
fclose($fp); } else {
$this->error('Logfile ist nicht beschreibbar.');
} else { }
$this->error("Logfile ist nicht beschreibbar."); }
} }
} // if
} // func /*
0 = DEBUG
/* 1 = WARNING
0 = DEBUG 2 = ERROR
1 = WARNING */
2 = ERROR public function error($msg, $next_link = '', $stop = true, $priority = 1) {
*/ //$this->uses("error");
//$this->error->message($msg, $priority);
function error($msg, $next_link = '', $stop = true, $priority = 1) { if($stop == true){
//$this->uses("error"); $msg = '<html>
//$this->error->message($msg, $priority);
if($stop == true){
$msg = '<html>
<head> <head>
<title>Error</title> <title>Error</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
...@@ -125,63 +122,61 @@ class app { ...@@ -125,63 +122,61 @@ class app {
<table width="100%" border="0" cellspacing="0" cellpadding="2"> <table width="100%" border="0" cellspacing="0" cellpadding="2">
<tr> <tr>
<td class="error"><b>Error:</b><br>'.$msg; <td class="error"><b>Error:</b><br>'.$msg;
if($next_link != "") $msg .= '<a href="'.$next_link.'">Next</a><br>'; if($next_link != "") $msg .= '<a href="'.$next_link.'">Next</a><br>';
$msg .= '</td> $msg .= '</td>
</tr> </tr>
</table> </table>
</body> </body>
</html>'; </html>';
die($msg); die($msg);
} else { } else {
echo $msg; echo $msg;
if($next_link != "") echo "<a href='$next_link'>Next</a>"; if($next_link != '') echo "<a href='$next_link'>Next</a>";
} }
} }
function lng($text) public function lng($text){
{ global $conf;
global $conf;
if($this->_language_inc != 1) { if($this->_language_inc != 1) {
// loading global and module Wordbook //* loading global and module Wordbook
@include_once($conf["rootpath"]."/lib/lang/".$_SESSION["s"]["language"].".lng"); @include_once($conf['rootpath'].'/lib/lang/'.$_SESSION['s']['language'].'.lng');
@include_once($conf["rootpath"]."/web/".$_SESSION["s"]["module"]["name"]."/lib/lang/".$_SESSION["s"]["language"].".lng"); @include_once($conf['rootpath'].'/web/'.$_SESSION['s']['module']['name'].'/lib/lang/'.$_SESSION['s']['language'].'.lng');
$this->_wb = $wb; $this->_wb = $wb;
$this->_language_inc = 1; $this->_language_inc = 1;
} }
if(!empty($this->_wb[$text])) { if(!empty($this->_wb[$text])) {
$text = $this->_wb[$text]; $text = $this->_wb[$text];
} }
return $text; return $text;
} }
function tpl_defaults() { public function tpl_defaults() {
global $conf; global $conf;
$this->tpl->setVar('theme',$_SESSION["s"]["theme"]); $this->tpl->setVar('theme',$_SESSION['s']['theme']);
$this->tpl->setVar('phpsessid',session_id()); $this->tpl->setVar('phpsessid',session_id());
$this->tpl->setVar('html_content_encoding',$conf["html_content_encoding"]); $this->tpl->setVar('html_content_encoding',$conf['html_content_encoding']);
if($conf["logo"] != '' && @is_file($conf["logo"])){ if($conf['logo'] != '' && @is_file($conf['logo'])){
$this->tpl->setVar('logo', '<img src="'.$conf["logo"].'" border="0" alt="">'); $this->tpl->setVar('logo', '<img src="'.$conf['logo'].'" border="0" alt="">');
} else { } else {
$this->tpl->setVar('logo', '&nbsp;'); $this->tpl->setVar('logo', '&nbsp;');
} }
$this->tpl->setVar('app_title',$conf["app_title"]); $this->tpl->setVar('app_title',$conf["app_title"]);
$this->tpl->setVar('delete_confirmation',$this->lng('delete_confirmation')); $this->tpl->setVar('delete_confirmation',$this->lng('delete_confirmation'));
$this->tpl->setVar('app_module',$_SESSION["s"]["module"]["name"]); $this->tpl->setVar('app_module',$_SESSION['s']['module']['name']);
if($_SESSION["s"]["user"]["typ"] == 'admin') { if(isset($_SESSION['s']['user']) && $_SESSION['s']['user']['typ'] == 'admin') {
$this->tpl->setVar('is_admin',1); $this->tpl->setVar('is_admin',1);
} }
}
}
} // end class
}
/* /*
Initialize application (app) object Initialize application (app) object
*/ */
$app = new app(); // new app($conf);
$app = new app;
?> ?>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment