Functions - persistent_form_values: Update to support greater flexibility.
This commit is contained in:
parent
be28ab7af4
commit
1f5283e53d
|
|
@ -2153,32 +2153,42 @@ function number_pad($number,$n) {
|
||||||
function persistent_form_values($action, $array = null) {
|
function persistent_form_values($action, $array = null) {
|
||||||
switch ($action) {
|
switch ($action) {
|
||||||
case 'store':
|
case 'store':
|
||||||
|
// $array is expected to be an array of key / value pairs to store in the session
|
||||||
if (is_array($array) && @sizeof($array) != 0) {
|
if (is_array($array) && @sizeof($array) != 0) {
|
||||||
$_SESSION[$_SERVER['PHP_SELF']] = $array;
|
$_SESSION['persistent'][$_SERVER['PHP_SELF']] = $array;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'exists':
|
case 'exists':
|
||||||
return is_array($_SESSION[$_SERVER['PHP_SELF']]) && @sizeof($_SESSION[$_SERVER['PHP_SELF']]) != 0 ? true : false;
|
return is_array($_SESSION['persistent'][$_SERVER['PHP_SELF']]) && @sizeof($_SESSION['persistent'][$_SERVER['PHP_SELF']]) != 0 ? true : false;
|
||||||
break;
|
break;
|
||||||
case 'load':
|
case 'load':
|
||||||
if (is_array($_SESSION[$_SERVER['PHP_SELF']]) && @sizeof($_SESSION[$_SERVER['PHP_SELF']]) != 0) {
|
// $array is expected to be the name of the array to create containing the key / value pairs
|
||||||
foreach ($_SESSION[$_SERVER['PHP_SELF']] as $key => $value) {
|
if ($array && !is_array($array)) {
|
||||||
|
global $$array;
|
||||||
|
}
|
||||||
|
if (is_array($_SESSION['persistent'][$_SERVER['PHP_SELF']]) && @sizeof($_SESSION['persistent'][$_SERVER['PHP_SELF']]) != 0) {
|
||||||
|
foreach ($_SESSION['persistent'][$_SERVER['PHP_SELF']] as $key => $value) {
|
||||||
if ($key != 'XID' && $key != 'ACT' && $key != 'RET') {
|
if ($key != 'XID' && $key != 'ACT' && $key != 'RET') {
|
||||||
|
if ($array && !is_array($array)) {
|
||||||
|
$$array[$key] = $value;
|
||||||
|
}
|
||||||
|
else {
|
||||||
global $$key;
|
global $$key;
|
||||||
$$key = $value;
|
$$key = $value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
global $unsaved;
|
global $unsaved;
|
||||||
$unsaved = true;
|
$unsaved = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'view':
|
case 'view':
|
||||||
if (is_array($_SESSION[$_SERVER['PHP_SELF']]) && @sizeof($_SESSION[$_SERVER['PHP_SELF']]) != 0) {
|
if (is_array($_SESSION['persistent'][$_SERVER['PHP_SELF']]) && @sizeof($_SESSION['persistent'][$_SERVER['PHP_SELF']]) != 0) {
|
||||||
view_array($_SESSION[$_SERVER['PHP_SELF']], false);
|
view_array($_SESSION['persistent'][$_SERVER['PHP_SELF']], false);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'clear':
|
case 'clear':
|
||||||
unset($_SESSION[$_SERVER['PHP_SELF']]);
|
unset($_SESSION['persistent'][$_SERVER['PHP_SELF']]);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue