Made config files location configurable (#1485215)

release-0.6
thomascube 16 years ago
parent ddd894dbe8
commit bba657e64f

@ -1,6 +1,10 @@
CHANGELOG RoundCube Webmail CHANGELOG RoundCube Webmail
--------------------------- ---------------------------
2008/09/19 (thomasb)
----------
- Made config files location configurable (#1485215)
2008/09/16 (alec) 2008/09/16 (alec)
---------- ----------
- Reduced memory footprint when forwarding attachments (#1485345) - Reduced memory footprint when forwarding attachments (#1485345)

@ -24,7 +24,7 @@ $_SESSION['allowinstaller'] = true;
if (!empty($_POST['submit'])) { if (!empty($_POST['submit'])) {
echo '<p class="notice">Copy or download the following configurations and save them in two files'; echo '<p class="notice">Copy or download the following configurations and save them in two files';
echo ' (names above the text box) within the <tt>config/</tt> directory of your RoundCube installation.<br/>'; echo ' (names above the text box) within the <tt>'.RCMAIL_CONFIG_DIR.'</tt> directory of your RoundCube installation.<br/>';
echo ' Make sure that there are no characters outside the <tt>&lt;?php ?&gt;</tt> brackets when saving the files.</p>'; echo ' Make sure that there are no characters outside the <tt>&lt;?php ?&gt;</tt> brackets when saving the files.</p>';
$textbox = new html_textarea(array('rows' => 16, 'cols' => 60, 'class' => "configfile")); $textbox = new html_textarea(array('rows' => 16, 'cols' => 60, 'class' => "configfile"));

@ -3,6 +3,8 @@ ini_set('error_reporting', E_ALL&~E_NOTICE);
ini_set('display_errors', 1); ini_set('display_errors', 1);
define('INSTALL_PATH', realpath(dirname(__FILE__) . '/../').'/'); define('INSTALL_PATH', realpath(dirname(__FILE__) . '/../').'/');
define('RCMAIL_CONFIG_DIR', INSTALL_PATH . 'config');
$include_path = INSTALL_PATH . 'program/lib' . PATH_SEPARATOR; $include_path = INSTALL_PATH . 'program/lib' . PATH_SEPARATOR;
$include_path .= INSTALL_PATH . 'program' . PATH_SEPARATOR; $include_path .= INSTALL_PATH . 'program' . PATH_SEPARATOR;
$include_path .= INSTALL_PATH . 'program/include' . PATH_SEPARATOR; $include_path .= INSTALL_PATH . 'program/include' . PATH_SEPARATOR;
@ -68,7 +70,7 @@ if (isset($_GET['_getfile']) && in_array($_GET['_getfile'], array('main', 'db'))
if ($RCI->configured && !$RCI->getprop('enable_installer') && !$_SESSION['allowinstaller']) { if ($RCI->configured && !$RCI->getprop('enable_installer') && !$_SESSION['allowinstaller']) {
// header("HTTP/1.0 404 Not Found"); // header("HTTP/1.0 404 Not Found");
echo '<h2 class="error">The installer is disabled!</h2>'; echo '<h2 class="error">The installer is disabled!</h2>';
echo '<p>To enable it again, set <tt>$rcmail_config[\'enable_installer\'] = true;</tt> in config/main.inc.php</p>'; echo '<p>To enable it again, set <tt>$rcmail_config[\'enable_installer\'] = true;</tt> in '.RCMAIL_CONFIG_DIR.'/main.inc.php</p>';
echo '</div></body></html>'; echo '</div></body></html>';
exit; exit;
} }

@ -79,12 +79,12 @@ class rcube_install
*/ */
function _load_config($suffix) function _load_config($suffix)
{ {
@include '../config/main.inc' . $suffix; @include RCMAIL_CONFIG_DIR . '/main.inc' . $suffix;
if (is_array($rcmail_config)) { if (is_array($rcmail_config)) {
$this->config += $rcmail_config; $this->config += $rcmail_config;
} }
@include '../config/db.inc'. $suffix; @include RCMAIL_CONFIG_DIR . '/db.inc'. $suffix;
if (is_array($rcmail_config)) { if (is_array($rcmail_config)) {
$this->config += $rcmail_config; $this->config += $rcmail_config;
} }

@ -3,8 +3,8 @@
<h3>Check config files</h3> <h3>Check config files</h3>
<?php <?php
$read_main = is_readable(INSTALL_PATH.'config/main.inc.php'); $read_main = is_readable(RCMAIL_CONFIG_DIR.'/main.inc.php');
$read_db = is_readable(INSTALL_PATH.'config/db.inc.php'); $read_db = is_readable(RCMAIL_CONFIG_DIR.'/db.inc.php');
if ($read_main && !empty($RCI->config)) { if ($read_main && !empty($RCI->config)) {
$RCI->pass('main.inc.php'); $RCI->pass('main.inc.php');

@ -30,6 +30,8 @@ if (!defined('INSTALL_PATH')) {
define('INSTALL_PATH', dirname($_SERVER['SCRIPT_FILENAME']).'/'); define('INSTALL_PATH', dirname($_SERVER['SCRIPT_FILENAME']).'/');
} }
define('RCMAIL_CONFIG_DIR', INSTALL_PATH . 'config');
// make sure path_separator is defined // make sure path_separator is defined
if (!defined('PATH_SEPARATOR')) { if (!defined('PATH_SEPARATOR')) {
define('PATH_SEPARATOR', (eregi('win', PHP_OS) ? ';' : ':')); define('PATH_SEPARATOR', (eregi('win', PHP_OS) ? ';' : ':'));

@ -460,7 +460,7 @@ class rcmail
raise_error(array( raise_error(array(
'code' => 600, 'code' => 600,
'type' => 'php', 'type' => 'php',
'file' => "config/main.inc.php", 'file' => RCMAIL_CONFIG_DIR."/main.inc.php",
'message' => "Acces denied for new user $username. 'auto_create_user' is disabled" 'message' => "Acces denied for new user $username. 'auto_create_user' is disabled"
), true, false); ), true, false);
} }

@ -51,13 +51,13 @@ class rcube_config
ob_start(); ob_start();
// load main config file // load main config file
if (include(INSTALL_PATH . 'config/main.inc.php')) if (include(RCMAIL_CONFIG_DIR . '/main.inc.php'))
$this->prop = (array)$rcmail_config; $this->prop = (array)$rcmail_config;
else else
$this->errors[] = 'main.inc.php was not found.'; $this->errors[] = 'main.inc.php was not found.';
// load database config // load database config
if (include(INSTALL_PATH . 'config/db.inc.php')) if (include(RCMAIL_CONFIG_DIR . '/db.inc.php'))
$this->prop += (array)$rcmail_config; $this->prop += (array)$rcmail_config;
else else
$this->errors[] = 'db.inc.php was not found.'; $this->errors[] = 'db.inc.php was not found.';
@ -119,8 +119,8 @@ class rcube_config
$fname = preg_replace('/[^a-z0-9\.\-_]/i', '', $_SERVER['HTTP_HOST']) . '.inc.php'; $fname = preg_replace('/[^a-z0-9\.\-_]/i', '', $_SERVER['HTTP_HOST']) . '.inc.php';
} }
if ($fname && is_file(INSTALL_PATH . 'config/' . $fname)) { if ($fname && is_file(RCMAIL_CONFIG_DIR . '/' . $fname)) {
include(INSTALL_PATH . 'config/' . $fname); include(RCMAIL_CONFIG_DIR . '/' . $fname);
$this->prop = array_merge($this->prop, (array)$rcmail_config); $this->prop = array_merge($this->prop, (array)$rcmail_config);
} }
} }

Loading…
Cancel
Save