Changed behavior to include host-specific configuration (Bug #1483849)

release-0.6
thomascube 18 years ago
parent cbdd6dcaea
commit 9606ffb322

@ -173,6 +173,9 @@ $rcmail_config['mail_header_delimiter'] = NULL;
* 'fuzzy_search' => 0);
*/
// try to load host-specific configuration
$rcmail_config['include_host_config'] = FALSE;
/***** these settings can be overwritten by user's preferences *****/
@ -200,10 +203,6 @@ $rcmail_config['message_sort_order'] = 'DESC';
// list of configuration option names that need to be available in Javascript.
$rcmail_config['javascript_config'] = array('read_when_deleted', 'flag_for_deletion');
/***** try to load host-specific configuration *****/
@include($_SERVER['HTTP_HOST'].'.inc.php');
// end of config file
?>

@ -42,6 +42,10 @@ function rcmail_startup($task='mail')
// load config file
include_once('config/main.inc.php');
$CONFIG = is_array($rcmail_config) ? $rcmail_config : array();
// load host-specific configuration
rcmail_load_host_config(&$CONFIG);
$CONFIG['skin_path'] = $CONFIG['skin_path'] ? preg_replace('/\/$/', '', $CONFIG['skin_path']) : 'skins/default';
// load db conf
@ -126,6 +130,24 @@ function rcmail_startup($task='mail')
register_shutdown_function('rcmail_shutdown');
}
// load a host-specific config file if configured
function rcmail_load_host_config(&$config)
{
$fname = NULL;
if (is_array($config['include_host_config']))
$fname = $config['include_host_config'][$_SERVER['HTTP_HOST']];
else if (!empty($config['include_host_config']))
$fname = preg_replace('/[^a-z0-9\.\-_]/i', '', $_SERVER['HTTP_HOST']) . '.inc.php';
if ($fname && is_file('config/'.$fname))
{
include('config/'.$fname);
$config = array_merge($config, $rcmail_config);
}
}
// create authorization hash

Loading…
Cancel
Save