Support HTTP_HOST, SERVER_NAME and SERVER_ADDR values in include_host_config feature

pull/132/head
Aleksander Machniak 11 years ago
parent 1390316a87
commit 955a613cac

@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
- Support HTTP_HOST, SERVER_NAME and SERVER_ADDR values in include_host_config feature
- Hide Delivery Status Notification option when smtp_server is unset (#1489336)
- Make default font size for HTML messages configurable (request #118)
- Display full attachment name using title attribute when name is too long to display (#1489320)

@ -119,8 +119,7 @@ class rcube_config
}
// load host-specific configuration
if (!empty($_SERVER['HTTP_HOST']))
$this->load_host_config();
$this->load_host_config();
// set skin (with fallback to old 'skin_path' property)
if (empty($this->prop['skin'])) {
@ -176,21 +175,31 @@ class rcube_config
*/
private function load_host_config()
{
$fname = null;
if (is_array($this->prop['include_host_config'])) {
$fname = $this->prop['include_host_config'][$_SERVER['HTTP_HOST']];
}
else if (!empty($this->prop['include_host_config'])) {
$fname = preg_replace('/[^a-z0-9\.\-_]/i', '', $_SERVER['HTTP_HOST']) . '.inc.php';
if (empty($this->prop['include_host_config'])) {
return;
}
if ($fname) {
$this->load_from_file($fname);
foreach (array('HTTP_HOST', 'SERVER_NAME', 'SERVER_ADDR') as $key) {
$fname = null;
$name = $_SERVER[$key];
if (!$name) {
continue;
}
if (is_array($this->prop['include_host_config'])) {
$fname = $this->prop['include_host_config'][$name];
}
else {
$fname = preg_replace('/[^a-z0-9\.\-_]/i', '', $name) . '.inc.php';
}
if ($fname && $this->load_from_file($fname)) {
return;
}
}
}
/**
* Read configuration from a file
* and merge with the already stored config values

Loading…
Cancel
Save