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)

---
 installer/config.php |   18 +++++++++++++-----
 1 files changed, 13 insertions(+), 5 deletions(-)

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 = '&nbsp;<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>&lt;?php ?&gt;</tt> brackets when saving the file.';
     echo '&nbsp;<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">

--
Gitblit v1.9.1