From ae2fe663889a87fe594d82a1789dc98e9cb01904 Mon Sep 17 00:00:00 2001 From: thomascube Date: Sun, 21 Sep 2008 11:58:40 +0000 Subject: Save posted config in session for later download --- installer/config.php | 4 ++-- installer/index.php | 18 ++++++++++++------ installer/rcube_install.php | 9 ++++----- 3 files changed, 18 insertions(+), 13 deletions(-) diff --git a/installer/config.php b/installer/config.php index 53a4655ed..d5e10e8b4 100644 --- a/installer/config.php +++ b/installer/config.php @@ -30,10 +30,10 @@ if (!empty($_POST['submit'])) { $textbox = new html_textarea(array('rows' => 16, 'cols' => 60, 'class' => "configfile")); echo '
main.inc.php (download)
'; - echo $textbox->show($RCI->create_config('main')); + echo $textbox->show(($_SESSION['main.inc.php'] = $RCI->create_config('main'))); echo '
db.inc.php (download)
'; - echo $textbox->show($RCI->create_config('db')); + echo $textbox->show($_SESSION['db.inc.php'] = $RCI->create_config('db')); echo '

Of course there are more options to configure. Have a look at the config files or visit Howto_Config to find out.

'; diff --git a/installer/index.php b/installer/index.php index ff31667f9..d14e6ff37 100644 --- a/installer/index.php +++ b/installer/index.php @@ -31,12 +31,18 @@ function __autoload($classname) $RCI = rcube_install::get_instance(); $RCI->load_config(); -if (isset($_GET['_getfile']) && in_array($_GET['_getfile'], array('main', 'db'))) -{ - header('Content-type: text/plain'); - header('Content-Disposition: attachment; filename="'.$_GET['_getfile'].'.inc.php"'); - echo $RCI->create_config($_GET['_getfile']); - exit; +if (isset($_GET['_getfile']) && in_array($_GET['_getfile'], array('main', 'db'))) { + $filename = $_GET['_getfile'] . '.inc.php'; + if (!empty($_SESSION[$filename])) { + header('Content-type: text/plain'); + header('Content-Disposition: attachment; filename="'.$filename.'"'); + echo $_SESSION[$filename]; + exit; + } + else { + header('HTTP/1.0 404 Not found'); + die("The requested configuration was not found. Please run the installer from the beginning."); + } } ?> diff --git a/installer/rcube_install.php b/installer/rcube_install.php index e528cfc1f..37645adbc 100644 --- a/installer/rcube_install.php +++ b/installer/rcube_install.php @@ -129,18 +129,17 @@ class rcube_install // convert some form data if ($prop == 'debug_level') { $val = 0; - if (isset($value)) - foreach ($value as $dbgval) + if (is_array($value)) + foreach ($value as $dbgval) $val += intval($dbgval); - $value = $val; + $value = $val; } else if ($which == 'db' && $prop == 'db_dsnw' && !empty($_POST['_dbtype'])) { if ($_POST['_dbtype'] == 'sqlite') $value = sprintf('%s://%s?mode=0646', $_POST['_dbtype'], $_POST['_dbname']{0} == '/' ? '/' . $_POST['_dbname'] : $_POST['_dbname']); else $value = sprintf('%s://%s:%s@%s/%s', $_POST['_dbtype'], - rawurlencode($_POST['_dbuser']), rawurlencode($_POST['_dbpass']), - $_POST['_dbhost'], $_POST['_dbname']); + rawurlencode($_POST['_dbuser']), rawurlencode($_POST['_dbpass']), $_POST['_dbhost'], $_POST['_dbname']); } else if ($prop == 'smtp_auth_type' && $value == '0') { $value = ''; -- cgit v1.2.3