1 | <?php |
---|
2 | /*! |
---|
3 | * HybridAuth |
---|
4 | * http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth |
---|
5 | * (c) 2009-2012, HybridAuth authors | http://hybridauth.sourceforge.net/licenses.html |
---|
6 | */ |
---|
7 | |
---|
8 | /** |
---|
9 | * HybridAuth storage manager |
---|
10 | */ |
---|
11 | class Hybrid_Storage |
---|
12 | { |
---|
13 | function __construct() |
---|
14 | { |
---|
15 | if ( ! session_id() ){ |
---|
16 | if( ! session_start() ){ |
---|
17 | throw new Exception( "Hybridauth requires the use of 'session_start()' at the start of your script, which appears to be disabled.", 1 ); |
---|
18 | } |
---|
19 | } |
---|
20 | |
---|
21 | $this->config( "php_session_id", session_id() ); |
---|
22 | $this->config( "version", Hybrid_Auth::$version ); |
---|
23 | } |
---|
24 | |
---|
25 | public function config($key, $value=null) |
---|
26 | { |
---|
27 | $key = strtolower( $key ); |
---|
28 | |
---|
29 | if( $value ){ |
---|
30 | $_SESSION["HA::CONFIG"][$key] = serialize( $value ); |
---|
31 | } |
---|
32 | elseif( isset( $_SESSION["HA::CONFIG"][$key] ) ){ |
---|
33 | return unserialize( $_SESSION["HA::CONFIG"][$key] ); |
---|
34 | } |
---|
35 | |
---|
36 | return NULL; |
---|
37 | } |
---|
38 | |
---|
39 | public function get($key) |
---|
40 | { |
---|
41 | $key = strtolower( $key ); |
---|
42 | |
---|
43 | if( isset( $_SESSION["HA::STORE"], $_SESSION["HA::STORE"][$key] ) ){ |
---|
44 | return unserialize( $_SESSION["HA::STORE"][$key] ); |
---|
45 | } |
---|
46 | |
---|
47 | return NULL; |
---|
48 | } |
---|
49 | |
---|
50 | public function set( $key, $value ) |
---|
51 | { |
---|
52 | $key = strtolower( $key ); |
---|
53 | |
---|
54 | $_SESSION["HA::STORE"][$key] = serialize( $value ); |
---|
55 | } |
---|
56 | |
---|
57 | function clear() |
---|
58 | { |
---|
59 | $_SESSION["HA::STORE"] = ARRAY(); |
---|
60 | } |
---|
61 | |
---|
62 | function delete($key) |
---|
63 | { |
---|
64 | $key = strtolower( $key ); |
---|
65 | |
---|
66 | if( isset( $_SESSION["HA::STORE"], $_SESSION["HA::STORE"][$key] ) ){ |
---|
67 | $f = $_SESSION['HA::STORE']; |
---|
68 | unset($f[$key]); |
---|
69 | $_SESSION["HA::STORE"] = $f; |
---|
70 | } |
---|
71 | } |
---|
72 | |
---|
73 | function deleteMatch($key) |
---|
74 | { |
---|
75 | $key = strtolower( $key ); |
---|
76 | |
---|
77 | if( isset( $_SESSION["HA::STORE"] ) && count( $_SESSION["HA::STORE"] ) ) { |
---|
78 | $f = $_SESSION['HA::STORE']; |
---|
79 | foreach( $f as $k => $v ){ |
---|
80 | if( strstr( $k, $key ) ){ |
---|
81 | unset( $f[ $k ] ); |
---|
82 | } |
---|
83 | } |
---|
84 | $_SESSION["HA::STORE"] = $f; |
---|
85 | |
---|
86 | } |
---|
87 | } |
---|
88 | |
---|
89 | function getSessionData() |
---|
90 | { |
---|
91 | if( isset( $_SESSION["HA::STORE"] ) ){ |
---|
92 | return serialize( $_SESSION["HA::STORE"] ); |
---|
93 | } |
---|
94 | |
---|
95 | return NULL; |
---|
96 | } |
---|
97 | |
---|
98 | function restoreSessionData( $sessiondata = NULL ) |
---|
99 | { |
---|
100 | $_SESSION["HA::STORE"] = unserialize( $sessiondata ); |
---|
101 | } |
---|
102 | } |
---|