/
Storage.php
102 lines (83 loc) · 2.16 KB
/
Storage.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
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 );
}
}