- Improve handling of whitespace characters after closing PHP tag in localization and config files

release-0.6
alecpl 14 years ago
parent b091848487
commit 7c9850da45

@ -929,6 +929,9 @@ class rcmail
if (empty($this->texts) || $lang != $_SESSION['language']) {
$this->texts = array();
// handle empty lines after closing PHP tag in localization files
ob_start();
// get english labels (these should be complete)
@include(INSTALL_PATH . 'program/localization/en_US/labels.inc');
@include(INSTALL_PATH . 'program/localization/en_US/messages.inc');
@ -949,6 +952,8 @@ class rcmail
$this->texts = array_merge($this->texts, $messages);
}
ob_end_clean();
$_SESSION['language'] = $lang;
}

@ -47,10 +47,6 @@ class rcube_config
*/
private function load()
{
// start output buffering, we don't need any output yet,
// it'll be cleared after reading of config files, etc.
ob_start();
// load main config file
if (!$this->load_from_file(RCMAIL_CONFIG_DIR . '/main.inc.php'))
$this->errors[] = 'main.inc.php was not found.';
@ -98,9 +94,6 @@ class rcube_config
ini_set('display_errors', 0);
}
// clear output buffer
ob_end_clean();
// export config data
$GLOBALS['CONFIG'] = &$this->prop;
}
@ -136,7 +129,11 @@ class rcube_config
public function load_from_file($fpath)
{
if (is_file($fpath) && is_readable($fpath)) {
// use output buffering, we don't need any output here
ob_start();
include($fpath);
ob_end_clean();
if (is_array($rcmail_config)) {
$this->prop = array_merge($this->prop, $rcmail_config, $this->userprefs);
return true;

@ -129,12 +129,17 @@ abstract class rcube_plugin
$lang = $_SESSION['language'];
$locdir = slashify(realpath(slashify($this->home) . $dir));
$texts = array();
// use buffering to handle empty lines/spaces after closing PHP tag
ob_start();
foreach (array('en_US', $lang) as $lng) {
@include($locdir . $lng . '.inc');
$texts = (array)$labels + (array)$messages + (array)$texts;
}
ob_end_clean();
// prepend domain to text keys and add to the application texts repository
if (!empty($texts)) {
$add = array();

Loading…
Cancel
Save