From bba657e64ff3334ba2f64e88e977a6dc107d682d Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Fri, 19 Sep 2008 14:26:34 -0400
Subject: [PATCH] Made config files location configurable (#1485215)
---
CHANGELOG | 4 ++++
installer/rcube_install.php | 4 ++--
installer/config.php | 2 +-
program/include/rcmail.php | 2 +-
installer/test.php | 4 ++--
program/include/iniset.php | 2 ++
program/include/rcube_config.php | 8 ++++----
installer/index.php | 4 +++-
8 files changed, 19 insertions(+), 11 deletions(-)
diff --git a/CHANGELOG b/CHANGELOG
index 35bda97..9137398 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,10 @@
CHANGELOG RoundCube Webmail
---------------------------
+2008/09/19 (thomasb)
+----------
+- Made config files location configurable (#1485215)
+
2008/09/16 (alec)
----------
- Reduced memory footprint when forwarding attachments (#1485345)
diff --git a/installer/config.php b/installer/config.php
index 12af1c6..53a4655 100644
--- a/installer/config.php
+++ b/installer/config.php
@@ -24,7 +24,7 @@
if (!empty($_POST['submit'])) {
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><?php ?></tt> brackets when saving the files.</p>';
$textbox = new html_textarea(array('rows' => 16, 'cols' => 60, 'class' => "configfile"));
diff --git a/installer/index.php b/installer/index.php
index 4d0e6c4..ff31667 100644
--- a/installer/index.php
+++ b/installer/index.php
@@ -3,6 +3,8 @@
ini_set('display_errors', 1);
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' . PATH_SEPARATOR;
$include_path .= INSTALL_PATH . 'program/include' . PATH_SEPARATOR;
@@ -68,7 +70,7 @@
if ($RCI->configured && !$RCI->getprop('enable_installer') && !$_SESSION['allowinstaller']) {
// header("HTTP/1.0 404 Not Found");
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>';
exit;
}
diff --git a/installer/rcube_install.php b/installer/rcube_install.php
index 0c4544f..e528cfc 100644
--- a/installer/rcube_install.php
+++ b/installer/rcube_install.php
@@ -79,12 +79,12 @@
*/
function _load_config($suffix)
{
- @include '../config/main.inc' . $suffix;
+ @include RCMAIL_CONFIG_DIR . '/main.inc' . $suffix;
if (is_array($rcmail_config)) {
$this->config += $rcmail_config;
}
- @include '../config/db.inc'. $suffix;
+ @include RCMAIL_CONFIG_DIR . '/db.inc'. $suffix;
if (is_array($rcmail_config)) {
$this->config += $rcmail_config;
}
diff --git a/installer/test.php b/installer/test.php
index 0edfcc9..ca7c7ad 100644
--- a/installer/test.php
+++ b/installer/test.php
@@ -3,8 +3,8 @@
<h3>Check config files</h3>
<?php
-$read_main = is_readable(INSTALL_PATH.'config/main.inc.php');
-$read_db = is_readable(INSTALL_PATH.'config/db.inc.php');
+$read_main = is_readable(RCMAIL_CONFIG_DIR.'/main.inc.php');
+$read_db = is_readable(RCMAIL_CONFIG_DIR.'/db.inc.php');
if ($read_main && !empty($RCI->config)) {
$RCI->pass('main.inc.php');
diff --git a/program/include/iniset.php b/program/include/iniset.php
index 5dacf85..20fe279 100755
--- a/program/include/iniset.php
+++ b/program/include/iniset.php
@@ -30,6 +30,8 @@
define('INSTALL_PATH', dirname($_SERVER['SCRIPT_FILENAME']).'/');
}
+define('RCMAIL_CONFIG_DIR', INSTALL_PATH . 'config');
+
// make sure path_separator is defined
if (!defined('PATH_SEPARATOR')) {
define('PATH_SEPARATOR', (eregi('win', PHP_OS) ? ';' : ':'));
diff --git a/program/include/rcmail.php b/program/include/rcmail.php
index ac328eb..12270f0 100644
--- a/program/include/rcmail.php
+++ b/program/include/rcmail.php
@@ -460,7 +460,7 @@
raise_error(array(
'code' => 600,
'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"
), true, false);
}
diff --git a/program/include/rcube_config.php b/program/include/rcube_config.php
index 98e688d..c3b0c18 100644
--- a/program/include/rcube_config.php
+++ b/program/include/rcube_config.php
@@ -51,13 +51,13 @@
ob_start();
// 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;
else
$this->errors[] = 'main.inc.php was not found.';
// load database config
- if (include(INSTALL_PATH . 'config/db.inc.php'))
+ if (include(RCMAIL_CONFIG_DIR . '/db.inc.php'))
$this->prop += (array)$rcmail_config;
else
$this->errors[] = 'db.inc.php was not found.';
@@ -119,8 +119,8 @@
$fname = preg_replace('/[^a-z0-9\.\-_]/i', '', $_SERVER['HTTP_HOST']) . '.inc.php';
}
- if ($fname && is_file(INSTALL_PATH . 'config/' . $fname)) {
- include(INSTALL_PATH . 'config/' . $fname);
+ if ($fname && is_file(RCMAIL_CONFIG_DIR . '/' . $fname)) {
+ include(RCMAIL_CONFIG_DIR . '/' . $fname);
$this->prop = array_merge($this->prop, (array)$rcmail_config);
}
}
--
Gitblit v1.9.1