diff --git a/installer/rcube_install.php b/installer/rcube_install.php index 12cd5c10d..c4704a3a8 100644 --- a/installer/rcube_install.php +++ b/installer/rcube_install.php @@ -102,7 +102,7 @@ class rcube_install { $value = $this->is_post && (isset($_POST["_$name"]) || $this->config_props[$name]) ? $_POST["_$name"] : $this->config[$name]; - if ($name == 'des_key' && !isset($_REQUEST["_$name"])) + if ($name == 'des_key' && !$this->configured && !isset($_REQUEST["_$name"])) $value = rcube_install::random_key(24); return $value !== null && $value !== '' ? $value : $default; @@ -147,6 +147,9 @@ class rcube_install if (count($value) <= 1) $value = $value[0]; } + else if ($prop == 'pagesize') { + $value = max(2, intval($value)); + } else if ($prop == 'smtp_user' && !empty($_POST['_smtp_user_u'])) { $value = '%u'; } diff --git a/program/steps/settings/save_prefs.inc b/program/steps/settings/save_prefs.inc index 8dae7bc47..9ee30a616 100644 --- a/program/steps/settings/save_prefs.inc +++ b/program/steps/settings/save_prefs.inc @@ -22,7 +22,7 @@ $a_user_prefs = array( 'timezone' => isset($_POST['_timezone']) ? floatval($_POST['_timezone']) : $CONFIG['timezone'], 'dst_active' => isset($_POST['_dst_active']) ? TRUE : FALSE, - 'pagesize' => is_numeric($_POST['_pagesize']) ? intval($_POST['_pagesize']) : $CONFIG['pagesize'], + 'pagesize' => is_numeric($_POST['_pagesize']) ? max(2, intval($_POST['_pagesize'])) : $CONFIG['pagesize'], 'prettydate' => isset($_POST['_pretty_date']) ? TRUE : FALSE, 'prefer_html' => isset($_POST['_prefer_html']) ? TRUE : FALSE, 'htmleditor' => isset($_POST['_htmleditor']) ? TRUE : FALSE,