From f17e5b0b58eb420c40ca37cde95fc91842a96f04 Mon Sep 17 00:00:00 2001
From: pedro_morgan <pedro_morgan@ispconfig3>
Date: Fri, 17 Aug 2007 05:23:48 -0400
Subject: [PATCH] Tidied up app.inc.php * now php5 class * Inctroducted $_loaded_modules class var to silence "undefined property" error * Cleaned code to PEAR standards
---
interface/lib/app.inc.php | 249 ++++++++++++++++++++++++-------------------------
1 files changed, 122 insertions(+), 127 deletions(-)
diff --git a/interface/lib/app.inc.php b/interface/lib/app.inc.php
index 9854b63..f10dfaf 100644
--- a/interface/lib/app.inc.php
+++ b/interface/lib/app.inc.php
@@ -27,94 +27,91 @@
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-ob_start("ob_gzhandler");
+ob_start('ob_gzhandler');
class app {
- var $_language_inc = 0;
- var $_wb;
+ private $_language_inc = 0;
+ private $_wb;
+ private $_loaded_classes = array();
- function app() {
+ public function __construct() {
+ global $conf;
+
+ if($conf['start_db'] == true) {
+ $this->load('db_'.$conf['db_type']);
+ $this->db = new db;
+ }
- global $conf;
+ if($conf['start_session'] == true) {
+ session_start();
+ $_SESSION['s']['id'] = session_id();
+ if(!isset($_SESSION['s']['theme']) || $_SESSION['s']['theme'] == ''){
+ $_SESSION['s']['theme'] = $conf['theme'];
+ }
+ if($_SESSION['s']['language'] == '') $_SESSION['s']['language'] = $conf['language'];
+ }
+ }
- if($conf["start_db"] == true) {
- $this->load('db_'.$conf["db_type"]);
- $this->db = new db;
- }
+ public function uses($classes) {
+ global $conf;
+
+ $cl = explode(',',$classes);
+ if(is_array($cl)) {
+ foreach($cl as $classname){
+ if(!array_key_exists($classname, $this->_loaded_classes)){
+ include_once($conf['classpath'] . '/'.$classname.'.inc.php');
+ $this->$classname = new $classname;
+ $this->_loaded_classes[$classname] = true;
+ }
+ }
+ }
+ }
- if($conf["start_session"] == true) {
- session_start();
- $_SESSION["s"]['id'] = session_id();
- if($_SESSION["s"]["theme"] == '') $_SESSION["s"]['theme'] = $conf['theme'];
- if($_SESSION["s"]["language"] == '') $_SESSION["s"]['language'] = $conf['language'];
- }
+ public function load($files) {
+ global $conf;
+
+ $fl = explode(',',$files);
+ if(is_array($fl)) {
+ foreach($fl as $file) {
+ include_once($conf['classpath'] . '/'.$file.'.inc.php');
+ }
+ }
+ }
- }
+ /*
+ 0 = DEBUG
+ 1 = WARNING
+ 2 = ERROR
+ */
+ public 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')) {
+ $this->error('Logfile konnte nicht ge�ffnet werden.');
+ }
+ if (!fwrite($fp, date('d.m.Y-H:i').' - '. $msg."\r\n")) {
+ $this->error('Schreiben in Logfile nicht m�glich.');
+ }
+ fclose($fp);
+ } else {
+ $this->error('Logfile ist nicht beschreibbar.');
+ }
+ }
+ }
- function uses($classes) {
- global $conf;
-
- $cl = explode(',',$classes);
- if(is_array($cl)) {
- foreach($cl as $classname) {
- if(!is_object($this->$classname)) {
- include_once($conf['classpath'] . "/".$classname.".inc.php");
- $this->$classname = new $classname;
- }
- }
- }
-
- }
-
- function load($files) {
-
- global $conf;
- $fl = explode(',',$files);
- if(is_array($fl)) {
- foreach($fl as $file) {
- include_once($conf['classpath'] . "/".$file.".inc.php");
- }
- }
-
- }
-
- /*
- 0 = DEBUG
- 1 = WARNING
- 2 = ERROR
- */
-
- function log($msg, $priority = 0) {
-
- if($priority >= $conf["log_priority"]) {
- if (is_writable($conf["log_file"])) {
-
- if (!$fp = fopen ($conf["log_file"], "a")) {
- $this->error("Logfile konnte nicht ge�ffnet werden.");
- }
- if (!fwrite($fp, date("d.m.Y-H:i")." - ". $msg."\r\n")) {
- $this->error("Schreiben in Logfile nicht m�glich.");
- }
- fclose($fp);
-
- } else {
- $this->error("Logfile ist nicht beschreibbar.");
- }
- } // if
- } // func
-
- /*
- 0 = DEBUG
- 1 = WARNING
- 2 = ERROR
- */
-
- function error($msg, $next_link = '', $stop = true, $priority = 1) {
- //$this->uses("error");
- //$this->error->message($msg, $priority);
- if($stop == true){
- $msg = '<html>
+ /*
+ 0 = DEBUG
+ 1 = WARNING
+ 2 = ERROR
+ */
+ public function error($msg, $next_link = '', $stop = true, $priority = 1) {
+ //$this->uses("error");
+ //$this->error->message($msg, $priority);
+ if($stop == true){
+ $msg = '<html>
<head>
<title>Error</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
@@ -125,63 +122,61 @@
<table width="100%" border="0" cellspacing="0" cellpadding="2">
<tr>
<td class="error"><b>Error:</b><br>'.$msg;
- if($next_link != "") $msg .= '<a href="'.$next_link.'">Next</a><br>';
- $msg .= '</td>
+ if($next_link != "") $msg .= '<a href="'.$next_link.'">Next</a><br>';
+ $msg .= '</td>
</tr>
</table>
</body>
</html>';
- die($msg);
- } else {
- echo $msg;
- if($next_link != "") echo "<a href='$next_link'>Next</a>";
- }
- }
+ die($msg);
+ } else {
+ echo $msg;
+ if($next_link != '') echo "<a href='$next_link'>Next</a>";
+ }
+ }
- function lng($text)
- {
- global $conf;
- if($this->_language_inc != 1) {
- // loading global and module Wordbook
- @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");
- $this->_wb = $wb;
- $this->_language_inc = 1;
- }
+ public function lng($text){
+ global $conf;
+
+ if($this->_language_inc != 1) {
+ //* loading global and module Wordbook
+ @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');
+ $this->_wb = $wb;
+ $this->_language_inc = 1;
+ }
+
+ if(!empty($this->_wb[$text])) {
+ $text = $this->_wb[$text];
+ }
+
+ return $text;
+ }
- if(!empty($this->_wb[$text])) {
- $text = $this->_wb[$text];
- }
-
- return $text;
- }
-
- function tpl_defaults() {
- global $conf;
-
- $this->tpl->setVar('theme',$_SESSION["s"]["theme"]);
- $this->tpl->setVar('phpsessid',session_id());
- $this->tpl->setVar('html_content_encoding',$conf["html_content_encoding"]);
- if($conf["logo"] != '' && @is_file($conf["logo"])){
- $this->tpl->setVar('logo', '<img src="'.$conf["logo"].'" border="0" alt="">');
- } else {
- $this->tpl->setVar('logo', ' ');
- }
- $this->tpl->setVar('app_title',$conf["app_title"]);
- $this->tpl->setVar('delete_confirmation',$this->lng('delete_confirmation'));
- $this->tpl->setVar('app_module',$_SESSION["s"]["module"]["name"]);
- if($_SESSION["s"]["user"]["typ"] == 'admin') {
- $this->tpl->setVar('is_admin',1);
- }
-
- }
-
-}
+ public function tpl_defaults() {
+ global $conf;
+
+ $this->tpl->setVar('theme',$_SESSION['s']['theme']);
+ $this->tpl->setVar('phpsessid',session_id());
+ $this->tpl->setVar('html_content_encoding',$conf['html_content_encoding']);
+ if($conf['logo'] != '' && @is_file($conf['logo'])){
+ $this->tpl->setVar('logo', '<img src="'.$conf['logo'].'" border="0" alt="">');
+ } else {
+ $this->tpl->setVar('logo', ' ');
+ }
+ $this->tpl->setVar('app_title',$conf["app_title"]);
+ $this->tpl->setVar('delete_confirmation',$this->lng('delete_confirmation'));
+ $this->tpl->setVar('app_module',$_SESSION['s']['module']['name']);
+ if(isset($_SESSION['s']['user']) && $_SESSION['s']['user']['typ'] == 'admin') {
+ $this->tpl->setVar('is_admin',1);
+ }
+ }
+
+} // end class
/*
Initialize application (app) object
*/
-
-$app = new app;
+$app = new app(); // new app($conf);
?>
\ No newline at end of file
--
Gitblit v1.9.1