From 4766e9e10c141a75a14a1440dc63eb1d8a5ada8c Mon Sep 17 00:00:00 2001
From: pedro_morgan <pedro_morgan@ispconfig3>
Date: Sun, 19 Aug 2007 00:59:09 -0400
Subject: [PATCH] * Introducing the sb_local.php.skel file to keep a local configuration

---
 interface/lib/config.inc.php |  160 +++++++++++++++++++++++++++++++----------------------
 1 files changed, 94 insertions(+), 66 deletions(-)

diff --git a/interface/lib/config.inc.php b/interface/lib/config.inc.php
index 4ee220b..f2b334f 100644
--- a/interface/lib/config.inc.php
+++ b/interface/lib/config.inc.php
@@ -27,90 +27,118 @@
 EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
 
-Header("Pragma: no-cache");
-Header("Cache-Control: no-store, no-cache, max-age=0, must-revalidate");
-Header("Content-Type: text/html");
+error_reporting(E_ALL|E_STRICT);
 
-ini_set('register_globals',0);
+header('Pragma: no-cache');
+header('Cache-Control: no-store, no-cache, max-age=0, must-revalidate');
+header('Content-Type: text/html');
+//* TODO: Js caching - pedro
 
-$conf["app_title"] = "ISPConfig";
-$conf["app_version"] = "3.0.0";
+//** Key paramaters
+$conf['app_title'] = 'ISPConfig';
+$conf['app_version'] = '3.0.0';
+$conf['modules_available'] 	= 'admin,mail,sites,monitor,client,dns';
 
 
-/*
-        Database Settings
+//** Future Code  - pedro - rfc
+/* Database connection
+	The only time paramaters are needed is to connect, otherwise its not needed  
+	variables "around" the application. ie Connected and done.
+	Prefered is an array as $DB in capitals, ie
+	$DB['host'] = 'type'; 
+	$DB['host'] = 'ip';
+	$DB['user'] = 'me';
+	$DB['password'] = 'secret';
+	$DB['database'] = 'db_name';
+	
+	The connection paramaters are all contained within one array structure
+	With this array structure the connection can be passed around, to functions
+	However it can also leak so it can be destroyed eg
+	$dbClass->connect($DB);
+	unset($DB); // only the paranoid survive
+		
+	Also there is a scenario where we are devloping and using this file
+	and the database paramaters might leak into svn etc.
+    (This idea is borrowed from the tikiwiki.org project)
+	To resolve this there is a file called db_local.php.skel which is not detected
+	rename this to db_local.php and edit the paramaters.
+	
+	$DB['type']			= 'mysql';
+	$DB['host']			= 'localhost';
+	$DB['database']		= 'ispconfig3';
+	$DB['user']			= 'root';
+	$DB['password']		= '';
 */
 
-$conf["db_type"]			= 'mysql';
-$conf["db_host"]			= 'localhost';
-$conf["db_database"]		= 'ispconfig3';
-$conf["db_user"]			= 'root';
-$conf["db_password"]		= '';
+//** Detect for local database setting or set and load default params
+if(file_exists(dirname(__FILE__).'/db_local.php')){
+	require_once(dirname(__FILE__).'/db_local.php');
+	$conf['db_type']			= $DB['type'];
+	$conf['db_host']			= $DB['host'];
+	$conf['db_user']			= $DB['user'];
+	$conf['db_password']		= $DB['password'];	
+    $conf['db_database']        = $DB['database'];
+}else{
+	//** Database Settings
+	$conf['db_type']			= 'mysql';
+	$conf['db_host']			= 'localhost';
+	$conf['db_user']			= 'root';
+	$conf['db_password']		= '';
+    $conf['db_database']        = 'ispconfig3';
+}
 
 
-/*
-   Path Settings (Do not change!)
-*/
+//** Path Settings (Do not change!)
+$conf['rootpath']			= substr(dirname(__FILE__),0,-4);
+$conf['fs_div']				= '/'; // File system divider, \\ on windows and / on linux and unix
+$conf['classpath']			= $conf['rootpath'].$conf['fs_div'].'lib'.$conf['fs_div'].'classes';
+$conf['temppath']			= $conf['rootpath'].$conf['fs_div'].'temp';
+// predro notes: not sure this is the right thing ?
+$conf['cache_dir']          = $conf['rootpath'].$conf['fs_div'].'/cache';
 
-$conf["rootpath"]			= substr(dirname(__FILE__),0,-4);
-$conf["fs_div"]				= "/"; // File system divider, \\ on windows and / on linux and unix
-$conf["classpath"]			= $conf["rootpath"].$conf["fs_div"]."lib".$conf["fs_div"]."classes";
-$conf["temppath"]			= $conf["rootpath"].$conf["fs_div"]."temp";
+define('DIR_TRENNER', $conf['fs_div']);
+define('SERVER_ROOT', $conf['rootpath']);
+define('INCLUDE_ROOT', SERVER_ROOT.DIR_TRENNER.'lib');
+define('CLASSES_ROOT', INCLUDE_ROOT.DIR_TRENNER.'classes');
+
+/* pedro notes ? this stuff is REALLY not necessay */
+define('DB_TYPE', $conf['db_type']);
+define('DB_HOST', $conf['db_host']);
+define('DB_DATABASE',$conf['db_database']);
+define('DB_USER', $conf['db_user']);
+define('DB_PASSWORD', $conf['db_password']);
 
 
-define("DIR_TRENNER",$conf["fs_div"]);
-define("SERVER_ROOT",$conf["rootpath"]);
-define("INCLUDE_ROOT",SERVER_ROOT.DIR_TRENNER."lib");
-define("CLASSES_ROOT",INCLUDE_ROOT.DIR_TRENNER."classes");
-
-define("DB_TYPE",$conf["db_type"]);
-define("DB_HOST",$conf["db_host"]);
-define("DB_DATABASE",$conf["db_database"]);
-define("DB_USER",$conf["db_user"]);
-define("DB_PASSWORD",$conf["db_password"]);
-
-
-/*
-        External programs
-*/
-
+//**  External programs
 //$conf["programs"]["convert"]	= "/usr/bin/convert";
-$conf["programs"]["wput"]		= $conf["rootpath"]."\\tools\\wput\\wput.exe";
+$conf['programs']['wput']		= $conf['rootpath']."\\tools\\wput\\wput.exe";
 
 
-/*
-        Themes
-*/
+//** Themes
+$conf['theme']					= 'default';
+$conf['html_content_encoding']	= 'text/html; charset=iso-8859-1';
+$conf['logo'] 					= 'themes/default/images/mydnsconfig_logo.gif';
 
-$conf["theme"]					= 'default';
-$conf["html_content_encoding"]	= 'text/html; charset=iso-8859-1';
-$conf["logo"] 					= 'themes/default/images/mydnsconfig_logo.gif';
+//** Default Language
+$conf['language']       = 'en';
 
-/*
-        Default Language
-*/
-
-$conf["language"]                = 'en';
+//**  Auto Load Modules
+$conf['start_db']		= true;
+$conf['start_session']	= true;
 
 
-/*
-        Auto Load Modules
-*/
+//** DNS Settings
 
-$conf["start_db"]		= true;
-$conf["start_session"]	= true;
-
-/*
-        DNS Settings
-*/
-
-$conf["auto_create_ptr"] 	 = 1; // Automatically create PTR records?
-$conf["default_ns"] 		 = 'ns1.example.com.'; // must be set if $conf['auto_create_ptr'] is 1. Don't forget the trailing dot!
-$conf["default_mbox"] 		 = 'admin.example.com.'; // Admin email address. Must be set if $conf['auto_create_ptr'] is 1. Replace "@" with ".". Don't forget the trailing dot!
-$conf["default_ttl"] 		 = 86400;
-$conf["default_refresh"] 	 = 28800;
-$conf["default_retry"] 		 = 7200;
-$conf["default_expire"] 	 = 604800;
-$conf["default_minimum_ttl"] = 86400;
+//* Automatically create PTR records?
+$conf['auto_create_ptr'] 	 = 1; 
+//* must be set if $conf['auto_create_ptr'] is 1. Don't forget the trailing dot!
+$conf['default_ns'] 		 = 'ns1.example.com.'; 
+//* Admin email address. Must be set if $conf['auto_create_ptr'] is 1. Replace "@" with ".". Don't forget the trailing dot!
+$conf['default_mbox'] 		 = 'admin.example.com.'; 
+$conf['default_ttl'] 		 = 86400;
+$conf['default_refresh'] 	 = 28800;
+$conf['default_retry'] 		 = 7200;
+$conf['default_expire'] 	 = 604800;
+$conf['default_minimum_ttl'] = 86400;
 
 ?>
\ No newline at end of file

--
Gitblit v1.9.1