From f9c7f3f99c5468f6c55ebc707e9e8987e5e88e01 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Tue, 28 Jun 2011 10:07:42 -0400
Subject: [PATCH] - Added function to create random passwords in auth library. - Fixed {RECORDID} placeholder in SQL datasource strings.

---
 interface/lib/app.inc.php |   31 ++++++++++++++++++++++++++-----
 1 files changed, 26 insertions(+), 5 deletions(-)

diff --git a/interface/lib/app.inc.php b/interface/lib/app.inc.php
index 8694324..4de9904 100644
--- a/interface/lib/app.inc.php
+++ b/interface/lib/app.inc.php
@@ -56,6 +56,15 @@
 
 		//* Start the session
 		if($this->_conf['start_session'] == true) {
+			
+			$this->uses('session');
+			session_set_save_handler(	array($this->session, 'open'),
+										array($this->session, 'close'),
+										array($this->session, 'read'),
+										array($this->session, 'write'),
+										array($this->session, 'destroy'),
+										array($this->session, 'gc'));
+			
 			session_start();
 
 			//* Initialize session variables
@@ -64,7 +73,7 @@
 			if(empty($_SESSION['s']['language'])) $_SESSION['s']['language'] = $conf['language'];
 		}
 
-		$this->uses('auth,plugin');
+		$this->uses('auth,plugin,functions');
 	}
 
 	public function uses($classes) {
@@ -123,8 +132,20 @@
 		//$this->uses("error");
 		//$this->error->message($msg, $priority);
 		if($stop == true) {
-			$content = file_get_contents(dirname(__FILE__) .
-					'/../web/themes/' . $_SESSION['s']['theme'] . '/templates/error.tpl.htm');
+			/*
+			 * We always have a error. So it is better not to use any more objects like
+			 * the template or so, because we don't know why the error occours (it could be, that
+			 * the error occours in one of these objects..)
+			 */
+			/*
+			 * Use the template inside the user-template - Path. If it is not found, fallback to the
+			 * default-template (the "normal" behaviour of all template - files)
+			 */
+			if (file_exists(dirname(__FILE__) . '/../web/themes/' . $_SESSION['s']['theme'] . '/templates/error.tpl.htm')) {
+				$content = file_get_contents(dirname(__FILE__) . '/../web/themes/' . $_SESSION['s']['theme'] . '/templates/error.tpl.htm');
+			} else {
+				$content = file_get_contents(dirname(__FILE__) . '/../web/themes/default/templates/error.tpl.htm');
+			}
 			if($next_link != '') $msg .= '<a href="'.$next_link.'">Next</a>';
 			$content = str_replace('###ERRORMSG###', $msg, $content);
 			die($content);
@@ -142,7 +163,7 @@
 			//* Load module wordbook, if it exists
 			if(isset($_SESSION['s']['module']['name']) && isset($_SESSION['s']['language'])) {
 				$lng_file = '/web/'.$_SESSION['s']['module']['name'].'/lib/lang/'.$_SESSION['s']['language'].'.lng';
-				if(!file_exists(ISPC_ROOT_PATH.$lng_file)) $lng_file = '/web/'.$_SESSION['s']['module']['name'].'/lib/lang/en.lng';
+				if(!file_exists(ISPC_ROOT_PATH.'/'.$lng_file)) $lng_file = '/web/'.$_SESSION['s']['module']['name'].'/lib/lang/en.lng';
 				$this->load_language_file($lng_file);
 			}
 			$this->_language_inc = 1;
@@ -162,7 +183,7 @@
 		$filename = ISPC_ROOT_PATH.'/'.$filename;
 		if(substr($filename,-4) != '.lng') $this->error('Language file has wrong extension.');
 		if(file_exists($filename)) {
-			@include_once($filename);
+			@include($filename);
 			if(is_array($wb)) {
 				if(is_array($this->_wb)) {
 					$this->_wb = array_merge($this->_wb,$wb);

--
Gitblit v1.9.1