X-Git-Url: https://jasonwoof.com/gitweb/?p=wfpl.git;a=blobdiff_plain;f=session_messages.php;h=269f7e0be6f8cd437b746670230967aa024de730;hp=481b87a02b94c892b1621b90eea00ac6cce230dd;hb=9a3136a5bee66e1055ffb566373952b6054dd7bf;hpb=856f805c6cbb6e712c662214f3b5821442f808a0 diff --git a/session_messages.php b/session_messages.php index 481b87a..269f7e0 100644 --- a/session_messages.php +++ b/session_messages.php @@ -23,9 +23,8 @@ # see messages.php for documentation on how to use it. -require_once('code/wfpl/session.php'); -require_once('code/wfpl/string_array.php'); -require_once('code/wfpl/messages.php'); +require_once(__DIR__.'/'.'session.php'); +require_once(__DIR__.'/'.'messages.php'); function session_save_messages() { if(!isset($GLOBALS['wfpl_messages'])) { @@ -34,24 +33,24 @@ function session_save_messages() { if(!is_array($GLOBALS['wfpl_messages'])) { return; } + if(!count($GLOBALS['wfpl_messages'])) { + return; + } init_session(); - session_set('wfpl_messages', array_to_string($GLOBALS['wfpl_messages'])); + session_set('wfpl_messages', json_encode($GLOBALS['wfpl_messages'])); } function session_restore_messages() { - if(!session_exists()) { - return false; - } - $messages = session_get('wfpl_messages'); - if($messages !== false) { - $messages = string_to_array($messages); - if(!(isset($GLOBALS['wfpl_messages']) && is_array($GLOBALS['wfpl_messages']))) { - $GLOBALS['wfpl_messages'] = array(); + if(session_exists()) { + $messages = session_get('wfpl_messages'); + if($messages !== false) { + session_clear('wfpl_messages'); + $messages = json_decode($messages, true); + if ($messages !== null) { + return $messages; + } } - # messages from the previous run happened first - $GLOBALS['wfpl_messages'] = array_merge($messages, $GLOBALS['wfpl_messages']); - } - session_clear('wfpl_messages'); + return array(); }