source: extensions/oAuth/include/hybridauth/Hybrid/Storage.php @ 26555

Last change on this file since 26555 was 26555, checked in by mistic100, 10 years ago

update Hybridauth, update guides

File size: 2.2 KB
Line 
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 */
11class 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}
Note: See TracBrowser for help on using the repository browser.