Вход Регистрация
Файл: Space race/classes/integration/hybridauth/Hybrid/Storage.php
Строк: 77
<?php
/**
* HybridAuth
* http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
* (c) 2009-2014, HybridAuth authors | http://hybridauth.sourceforge.net/licenses.html 
*/

require_once realpath( dirname( __FILE__ ) )  . "/StorageInterface.php";

/**
 * HybridAuth storage manager
 */
class Hybrid_Storage implements Hybrid_Storage_Interface
{
    
/**
     * Constructor
     */
    
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 );
    }
    
    
/**
     * Config
     * @param String $key
     * @param String $value
     */
    
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; 
    }
    
    
/**
     * Get a key
     * @param String $key
     */
    
public function get($key) 
    {
        
$key = strtolower( $key );  

        if( isset( 
$_SESSION["HA::STORE"], $_SESSION["HA::STORE"][$key] ) ){ 
            return 
unserialize( $_SESSION["HA::STORE"][$key] );  
        }

        return 
NULL; 
    }
    
    
/**
     * GEt a set of key and value
     * @param String $key
     * @param String $value
     */
    
public function set( $key, $value )
    {
        
$key = strtolower( $key );

        
$_SESSION["HA::STORE"][$key] = serialize( $value );
    }
    
    
/**
     * Clear session storage
     */
    
function clear()
    { 
        
$_SESSION["HA::STORE"] = ARRAY(); 
    }
    
    
/**
     * Delete a specific key
     * @param String $key
     */
    
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 a set
     * @param String $key
     */
    
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;
            
        }
    }
    
    
/**
     * Get the storage session data into an array
     * @return Array
     */
    
function getSessionData()
    {
        if( isset( 
$_SESSION["HA::STORE"] ) ){ 
            return 
serialize( $_SESSION["HA::STORE"] ); 
        }

        return 
NULL; 
    }
    
    
/**
     * Restore the storage back into session from an array
     * @param Array $sessiondata
     */
    
function restoreSessionData( $sessiondata = NULL )
    { 
        
$_SESSION["HA::STORE"] = unserialize( $sessiondata );
    } 
}
Онлайн: 0
Реклама