summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Beaver <sbeaver@netgate.com>2016-07-06 10:47:55 -0400
committerStephen Beaver <sbeaver@netgate.com>2016-07-06 10:51:52 -0400
commit1e686fe97e8b13bf5db0d64ca2fb5209bc3ee30b (patch)
treeacddba7de2326d216805c83a9a3a11daaadc87dd
parente63e23acd30d2d18fe3e17f859c23a2aa69c4290 (diff)
downloadpfsense-1e686fe97e8b13bf5db0d64ca2fb5209bc3ee30b.zip
pfsense-1e686fe97e8b13bf5db0d64ca2fb5209bc3ee30b.tar.gz
Fixed #6577 - Preserve user input on error
(cherry picked from commit a654d899cd5d288501fea1ec52dba2e3f0e479ba)
-rw-r--r--src/usr/local/www/pkg_edit.php16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/usr/local/www/pkg_edit.php b/src/usr/local/www/pkg_edit.php
index 20df922..118433d 100644
--- a/src/usr/local/www/pkg_edit.php
+++ b/src/usr/local/www/pkg_edit.php
@@ -1420,15 +1420,19 @@ foreach ($pkg['fields']['field'] as $pkga) {
unset($value);
$width = null;
- if ($rowhelper['value'] != "") {
- $value = $rowhelper['value'];
- }
$fieldname = $rowhelper['fieldname'];
$fielddescr = $rowhelper['fielddescr'];
- // if user is editing a record, load in the data.
- if (isset($id) && $a_pkg[$id]) {
+print($fieldname); print("<br />");
+print($_POST[$fieldname.$rowcounter]); print("<br />"); print("<br />");
+
+ // If input validation failed, read the value from the POST data so that hte user's input is not lost
+ if ($get_from_post && isset($_POST[$fieldname.$rowcounter])) {
+ $value = $_POST[$fieldname.$rowcounter];
+ } elseif (isset($id) && $a_pkg[$id]) {
$value = $row[$fieldname];
+ }elseif ($rowhelper['value'] != "") {
+ $value = $rowhelper['value'];
}
$type = $rowhelper['type'];
@@ -1437,7 +1441,7 @@ foreach ($pkg['fields']['field'] as $pkga) {
$value = base64_decode($value);
}
}
- $fieldname = $rowhelper['fieldname'];
+
if ($rowhelper['size']) {
$size = $rowhelper['size'];
OpenPOWER on IntegriCloud