Skip to content
config.inc.php 6.33 KiB
Newer Older
tbrehm's avatar
tbrehm committed
<?php
/*
Copyright (c) 2007, Till Brehm, Falko Timme, projektfarm Gmbh
tbrehm's avatar
tbrehm committed
All rights reserved.

Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:

    * Redistributions of source code must retain the above copyright notice,
      this list of conditions and the following disclaimer.
    * Redistributions in binary form must reproduce the above copyright notice,
      this list of conditions and the following disclaimer in the documentation
      and/or other materials provided with the distribution.
    * Neither the name of ISPConfig nor the names of its contributors
      may be used to endorse or promote products derived from this software without
      specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/

error_reporting(E_ALL|E_NOTICE);
pedro_morgan's avatar
pedro_morgan committed
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
tbrehm's avatar
tbrehm committed

//** Key paramaters
$conf['app_title'] = 'ISPConfig';
$conf['app_version'] = '3.0.0';
$conf['modules_available'] 	= 'admin,mail,sites,monitor,client,dns';
tbrehm's avatar
tbrehm committed

//********************************************************************************
//** Future Code idea  - pedro - rfc
//** >>>>
pedro_morgan's avatar
pedro_morgan committed
/*  Database connection
	The only time paramaters are needed is to connect, otherwise the variables
	are not required "around" the application. ie Connected and done.
pedro_morgan's avatar
pedro_morgan committed
	Prefered is an array as $DB in capitals, ie
pedro_morgan's avatar
pedro_morgan committed
	$DB['engine'] = 'type'; 
pedro_morgan's avatar
pedro_morgan committed
	$DB['host'] = 'ip';
	$DB['user'] = 'me';
	$DB['password'] = 'secret';
	$DB['database'] = 'db_name';
pedro_morgan's avatar
pedro_morgan committed
	
	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);
pedro_morgan's avatar
pedro_morgan committed
	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)
pedro_morgan's avatar
pedro_morgan committed
	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.
pedro_morgan's avatar
pedro_morgan committed
//* Detect the local database settings ie $DB array()
//* Copy db_local.php.skel for and change for local development
if(file_exists(dirname(__FILE__).'/db_local.php')){
	require_once(dirname(__FILE__).'/db_local.php');
pedro_morgan's avatar
pedro_morgan committed
	$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'];
pedro_morgan's avatar
pedro_morgan committed
}else{
	//** Database Settings
	$conf['db_type']			= 'mysql';
	$conf['db_host']			= 'localhost';
	$conf['db_user']			= 'root';
	$conf['db_password']		= '';
    $conf['db_database']        = 'ispconfig3';
pedro_morgan's avatar
pedro_morgan committed
}
tbrehm's avatar
tbrehm committed

/*  Dynamic constants are another technique as well as key files as constants.
    The base root directory is the interface/ directory which is the top level for php
    From this eveything else is be defined underneath as constants
    The constants are directory paths with no trailing /
    This should do away with the $conf['rootpath'] etc
    The $conf['fs_div'] is unnecessary if only / is used, will work on windoze also
    
*/
//** The main ROOT is the parent directory to this file, ie interface
define('ISPC_ROOT', realpath('../'));
define('ISPC_CLASS_PATH', ISPC_ROOT.'/lib/classes');
define('ISPC_TEMP_PATH', ISPC_ROOT.'/temp');
define('ISPC_CACHE_PATH', ISPC_ROOT.'/cache');
//<< End pedro rfc block

//** Database Settings
/* See above
$conf['db_type']            = 'mysql';
$conf['db_host']            = 'localhost';
$conf['db_user']            = 'root';
$conf['db_password']        = '';
$conf['db_database']        = 'ispconfig3';
*/
tbrehm's avatar
tbrehm committed

pedro_morgan's avatar
pedro_morgan committed
$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';
pedro_morgan's avatar
pedro_morgan committed
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, can leak everywhere */
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
tbrehm's avatar
tbrehm committed
//$conf["programs"]["convert"]	= "/usr/bin/convert";
$conf['programs']['wput']		= $conf['rootpath']."\\tools\\wput\\wput.exe";
tbrehm's avatar
tbrehm committed


//** Themes
$conf['theme']					= 'default';
$conf['html_content_encoding']	= 'text/html; charset=iso-8859-1';
$conf['logo'] 					= 'themes/default/images/mydnsconfig_logo.gif';
tbrehm's avatar
tbrehm committed

//** Default Language
$conf['language']       = 'en';
tbrehm's avatar
tbrehm committed

//**  Auto Load Modules
$conf['start_db']		= true;
$conf['start_session']	= true;
tbrehm's avatar
tbrehm committed


//** DNS Settings
tbrehm's avatar
tbrehm committed

//* 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;
tbrehm's avatar
tbrehm committed

tbrehm's avatar
tbrehm committed
?>