summaryrefslogtreecommitdiffstats
path: root/includes/HybridAuth/Storage.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/HybridAuth/Storage.php')
-rw-r--r--includes/HybridAuth/Storage.php102
1 files changed, 102 insertions, 0 deletions
diff --git a/includes/HybridAuth/Storage.php b/includes/HybridAuth/Storage.php
new file mode 100644
index 0000000..2fabeb7
--- /dev/null
+++ b/includes/HybridAuth/Storage.php
@@ -0,0 +1,102 @@
+<?php
+/*!
+* HybridAuth
+* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
+* (c) 2009-2012, HybridAuth authors | http://hybridauth.sourceforge.net/licenses.html
+*/
+
+/**
+ * HybridAuth storage manager
+ */
+class Hybrid_Storage
+{
+ function __construct()
+ {
+ if ( ! session_id() ){
+ if( ! session_start() ){
+ throw new Exception( "Hybridauth requires the use of 'session_start()' at the start of your script, which appears to be disabled.", 1 );
+ }
+ }
+
+ $this->config( "php_session_id", session_id() );
+ $this->config( "version", Hybrid_Auth::$version );
+ }
+
+ 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;
+ }
+
+ public function get($key)
+ {
+ $key = strtolower( $key );
+
+ if( isset( $_SESSION["HA::STORE"], $_SESSION["HA::STORE"][$key] ) ){
+ return unserialize( $_SESSION["HA::STORE"][$key] );
+ }
+
+ return NULL;
+ }
+
+ public function set( $key, $value )
+ {
+ $key = strtolower( $key );
+
+ $_SESSION["HA::STORE"][$key] = serialize( $value );
+ }
+
+ function clear()
+ {
+ $_SESSION["HA::STORE"] = ARRAY();
+ }
+
+ 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;
+ }
+ }
+
+ 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;
+
+ }
+ }
+
+ function getSessionData()
+ {
+ if( isset( $_SESSION["HA::STORE"] ) ){
+ return serialize( $_SESSION["HA::STORE"] );
+ }
+
+ return NULL;
+ }
+
+ function restoreSessionData( $sessiondata = NULL )
+ {
+ $_SESSION["HA::STORE"] = unserialize( $sessiondata );
+ }
+}