diff --git a/admin_customers.php b/admin_customers.php index 9571809e..5d996a3c 100644 --- a/admin_customers.php +++ b/admin_customers.php @@ -40,6 +40,9 @@ if($page == 'customers' { if($action == '') { + // clear request data + unset($_SESSION['requestData']); + $log->logAction(ADM_ACTION, LOG_NOTICE, "viewed admin_customers"); $fields = array( 'c.loginname' => $lng['login']['username'], diff --git a/lib/classes/output/class.htmlform.php b/lib/classes/output/class.htmlform.php index 3b39e00b..efd90cae 100644 --- a/lib/classes/output/class.htmlform.php +++ b/lib/classes/output/class.htmlform.php @@ -148,7 +148,15 @@ class htmlform $extras .= ' size="'.$data['size'].'"'; } - $value = isset($data['value']) ? $data['value'] : ''; + // add support to save reloaded forms + if (isset($data['value'])) { + $value = $data['value']; + } elseif (isset($_SESSION['requestData'][$fieldname])) { + $value = $_SESSION['requestData'][$fieldname]; + } else { + $value = ''; + } + $ulfield = ($unlimited == true ? ' '.$data['ul_field'] : ''); if(isset($data['display']) && $data['display'] != '') { @@ -169,7 +177,16 @@ class htmlform if(isset($data['rows'])) { $extras .= ' rows="'.$data['rows'].'"'; } - $value = isset($data['value']) ? trim($data['value']) : ''; + + // add support to save reloaded forms + if (isset($data['value'])) { + $value = $data['value']; + } elseif (isset($_SESSION['requestData'][$fieldname])) { + $value = $_SESSION['requestData'][$fieldname]; + } else { + $value = ''; + } + trim($value); eval("\$return = \"" . getTemplate("misc/form/input_textarea", "1") . "\";"); return $return; @@ -187,12 +204,21 @@ class htmlform private static function _selectBox($fieldname = '', $data = array()) { + // add support to save reloaded forms + if (isset($data['select_var'])) { + $select_var = $data['select_var']; + } elseif (isset($_SESSION['requestData'][$fieldname])) { + $select_var = $_SESSION['requestData'][$fieldname]; + } else { + $select_var = ''; + } + return ''; } } diff --git a/lib/functions/output/function.makeyesno.php b/lib/functions/output/function.makeyesno.php index da2305be..d7cd7fcd 100644 --- a/lib/functions/output/function.makeyesno.php +++ b/lib/functions/output/function.makeyesno.php @@ -39,5 +39,14 @@ function makeyesno($name, $yesvalue, $novalue = '', $yesselected = '', $disabled } else { $d = ''; } - return ''; + + if (isset($_SESSION['requestData'])) { + $yesselected = $yesselected & $_SESSION['requestData'][$name]; + } + + return ''; } diff --git a/lib/functions/output/function.standard_error.php b/lib/functions/output/function.standard_error.php index 56b5fda0..5d3a8887 100644 --- a/lib/functions/output/function.standard_error.php +++ b/lib/functions/output/function.standard_error.php @@ -29,6 +29,7 @@ function standard_error($errors = '', $replacer = '') { global $db, $userinfo, $s, $header, $footer, $lng; + $_SESSION['requestData'] = $_POST; $replacer = htmlentities($replacer); if(!is_array($errors))