config("php_session_id", session_id()); $this->config("version", Hybrid_Auth::$version); } /** * Saves a value in the config storage, or returns config if value is null * * @param string $key Config name * @param string $value Config value * @return array|null */ public function config($key, $value = null) { $key = strtolower($key); if ($value) { $_SESSION["HA::CONFIG"][$key] = serialize($value); } elseif (isset($_SESSION["HA::CONFIG"][$key])) { return unserialize($_SESSION["HA::CONFIG"][$key]); } return null; } /** * Returns value from session storage * * @param string $key Key * @return string|null */ public function get($key) { $key = strtolower($key); if (isset($_SESSION["HA::STORE"], $_SESSION["HA::STORE"][$key])) { return unserialize($_SESSION["HA::STORE"][$key]); } return null; } /** * Saves a key value pair to the session storage * * @param string $key Key * @param string $value Value * @return void */ public function set($key, $value) { $key = strtolower($key); $_SESSION["HA::STORE"][$key] = serialize($value); } /** * Clear session storage * @return void */ function clear() { $_SESSION["HA::STORE"] = array(); } /** * Delete a specific key from session storage * * @param string $key Key * @return void */ function delete($key) { $key = strtolower($key); if (isset($_SESSION["HA::STORE"], $_SESSION["HA::STORE"][$key])) { $f = $_SESSION['HA::STORE']; unset($f[$key]); $_SESSION["HA::STORE"] = $f; } } /** * Delete all keys recursively from session storage * * @param string $key Key * @retun void */ function deleteMatch($key) { $key = strtolower($key); if (isset($_SESSION["HA::STORE"]) && count($_SESSION["HA::STORE"])) { $f = $_SESSION['HA::STORE']; foreach ($f as $k => $v) { if (strstr($k, $key)) { unset($f[$k]); } } $_SESSION["HA::STORE"] = $f; } } /** * Returns session storage as a serialized string * @return string|null */ function getSessionData() { if (isset($_SESSION["HA::STORE"])) { return serialize($_SESSION["HA::STORE"]); } return null; } /** * Restores the session from serialized session data * * @param string $sessiondata Serialized session data * @return void */ function restoreSessionData($sessiondata = null) { $_SESSION["HA::STORE"] = unserialize($sessiondata); } }