From f8f91aa1bafd8f80df5039fb42ca93b443fb9b31 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak <alec@alec.pl> Date: Wed, 26 Aug 2015 13:39:19 -0400 Subject: [PATCH] Installer: Add button to save generated config file in system temp directory (#1488149) --- CHANGELOG | 1 + installer/config.php | 18 +++++++++++++----- installer/index.php | 8 +++++++- 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 5511d7d..cfa2667 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,7 @@ CHANGELOG Roundcube Webmail =========================== +- Installer: Add button to save generated config file in system temp directory (#1488149) - Remove common subject prefixes Re:, Re[x]:, Re-x: on reply (#1490497) - Added GSSAPI/Kerberos authentication plugin - krb_authentication - Password: Allow temporarily disabling the plugin functionality with a notice diff --git a/installer/config.php b/installer/config.php index 5bdacf9..4882c1d 100644 --- a/installer/config.php +++ b/installer/config.php @@ -4,11 +4,6 @@ die("Not allowed! Please open installer/index.php instead."); } -?> -<form action="index.php" method="post"> -<input type="hidden" name="_step" value="2" /> -<?php - // register these boolean fields $RCI->bool_config_props = array( 'ip_check' => 1, @@ -36,10 +31,20 @@ echo '</p>'; } else { + if (($dir = sys_get_temp_dir()) && @is_writable($dir)) { + echo '<iframe name="getconfig" style="display:none"></iframe>'; + echo '<form id="getconfig_form" action="index.php" method="get" target="getconfig" style="display:none">'; + echo '<input name="_getconfig" value="2" /></form>'; + + $button_txt = html::quote('Save in ' . $dir); + $save_button = ' <input type="button" onclick="document.getElementById(\'getconfig_form\').submit()" value="' . $button_txt . '" />'; + } + echo '<p class="notice">Copy or download the following configuration and save it'; echo ' as <tt><b>config.inc.php</b></tt> within the <tt>'.RCUBE_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 file.'; echo ' <input type="button" onclick="location.href=\'index.php?_getconfig=1\'" value="Download" />'; + echo $save_button; if ($RCI->legacy_config) { echo '<br/><br/>Afterwards, please <b>remove</b> the old configuration files <tt>main.inc.php</tt> and <tt>db.inc.php</tt> from the config directory.'; @@ -61,6 +66,9 @@ } ?> +<form action="index.php" method="post"> +<input type="hidden" name="_step" value="2" /> + <fieldset> <legend>General configuration</legend> <dl class="configblock"> diff --git a/installer/index.php b/installer/index.php index 3e74e68..052359c 100644 --- a/installer/index.php +++ b/installer/index.php @@ -66,7 +66,13 @@ if (isset($_GET['_getconfig'])) { $filename = 'config.inc.php'; - if (!empty($_SESSION['config'])) { + if (!empty($_SESSION['config']) && $_GET['_getconfig'] == 2) { + $path = sys_get_temp_dir() . DIRECTORY_SEPARATOR . $filename; + @unlink($path); + file_put_contents($path, $_SESSION['config']); + exit; + } + else if (!empty($_SESSION['config'])) { header('Content-type: text/plain'); header('Content-Disposition: attachment; filename="'.$filename.'"'); echo $_SESSION['config']; -- Gitblit v1.9.1