diff --git a/installer/config.php b/installer/config.php index f990fc23f..ee8eb7221 100644 --- a/installer/config.php +++ b/installer/config.php @@ -24,21 +24,37 @@ $RCI->bool_config_props = array( $_SESSION['allowinstaller'] = true; if (!empty($_POST['submit'])) { - echo '

Copy or download the following configuration and save it'; - echo ' as config.inc.php within the '.RCUBE_CONFIG_DIR.' directory of your Roundcube installation.
'; - echo ' Make sure that there are no characters outside the <?php ?> brackets when saving the file.'; - echo ' '; - if ($RCI->legacy_config) { - echo '

Afterwards, please remove the old configuration files main.inc.php and db.inc.php'; - echo ' from the config directory.'; + $_SESSION['config'] = $RCI->create_config(); + + if($RCI->save_configfile()) + { + echo '

The config file was saved successfully into '.RCMAIL_CONFIG_DIR.' directory of your Roundcube installation.'; + + if($RCI->legacy_config) { + echo '

Afterwards, please remove the old configuration files main.inc.php and db.inc.php from the config directory.'; + } + + echo '

'; } - echo '

'; + else + { + echo '

Copy or download the following configuration and save it'; + echo ' as config.inc.php within the '.RCUBE_CONFIG_DIR.' directory of your Roundcube installation.
'; + echo ' Make sure that there are no characters outside the <?php ?> brackets when saving the file.'; + echo ' '; - $textbox = new html_textarea(array('rows' => 16, 'cols' => 60, 'class' => "configfile")); - echo $textbox->show(($_SESSION['config'] = $RCI->create_config())); + if($RCI->legacy_config) { + echo '

Afterwards, please remove the old configuration files main.inc.php and db.inc.php from the config directory.'; + } + + echo '

'; + + $textbox = new html_textarea(array('rows' => 16, 'cols' => 60, 'class' => "configfile")); + echo $textbox->show(($_SESSION['config'])); + } echo '

Of course there are more options to configure. - Have a look at the defaults.inc.php file or visit Howto_Config to find out.

'; + Have a look at the defaults.inc.php file or visit Howto_Config to find out.

'; echo '

'; diff --git a/installer/rcube_install.php b/installer/rcube_install.php index 0e137e11d..76d6a7f10 100644 --- a/installer/rcube_install.php +++ b/installer/rcube_install.php @@ -272,6 +272,21 @@ class rcube_install } + /** + * save generated config file in RCUBE_CONFIG_DIR + * + * @return boolean True if the file was saved successfully, false if not + */ + function save_configfile() + { + if(is_writable(RCUBE_CONFIG_DIR)) + { + return file_put_contents(RCUBE_CONFIG_DIR . 'config.inc.php', $_SESSION['config']); + } + + return false; + } + /** * Check the current configuration for missing properties * and deprecated or obsolete settings