Вход Регистрация
Файл: Source/auth/Social/Session.php
Строк: 87
<?php
/**
 * Social_Session is for common session utilities
 *
 * @author Hüseyin BABAL
 */

class Social_Session {

    public 
$session_key = "SOCIALAUTH_SESSION";

    function 
__construct() {
        if ( ! 
session_id() ){
            if( ! 
session_start() ){
                throw new 
Exception( "In order to use SocialAuth, you need to sstart session with 'session_start()'", 1 );
            }
        }
    }

    
/**
     * Set value in the config
     *
     * @param $key
     * @param $value
     */
    
public function set( $key, $value ) {
        
$_SESSION[$this->session_key][strtolower($key)] = serialize( $value );
    }

    
/**
     * Get specific value from session by using key
     *
     * @param $key
     * @return mixed|null
     */
    
public function get( $key ) {
        
$key = strtolower( $key );
        if( !empty( 
$_SESSION[$this->session_key] ) && !empty( $_SESSION[$this->session_key][$key] ) ) {
            return 
unserialize( $_SESSION[$this->session_key][$key] );
        }
        return 
null;
    }

    
/**
     * Delete entire session related to SocialAuth
     */
    
function flush() {
        
$_SESSION[$this->session_key] = array();
    }

    function 
deleteByKey( $key ) {
        
$key = strtolower( $key );
        if( isset( 
$_SESSION[$this->session_key], $_SESSION[$this->session_key][$key] ) ){
            
$temp = $_SESSION[$this->session_key];
            unset(
$temp[$key]);
            
$_SESSION[$this->session_key] = $temp;
        }
    }

    
/**
     * Delete session value elongs to specified network
     *
     * @param $network_name
     */
    
function deleteByNetwork( $network_name ) {
        
$key = strtolower( $network_name );

        if( isset( 
$_SESSION[$this->session_key] ) && count( $_SESSION[$this->session_key] ) ) {
            
$temp = $_SESSION[$this->session_key];
            foreach( 
$temp as $k => $v ){
                if( 
strstr( $k, $key ) ){
                    unset( 
$temp[ $k ] );
                }
            }
            
$_SESSION[$this->session_key] = $temp;

        }
    }

    
/**
     * Get entire session object
     *
     * @return null|string
     */
    
function getSessionObject() {
        if( isset( 
$_SESSION[$this->session_key] ) ){
            return 
serialize( $_SESSION[$this->session_key] );
        }

        return 
null;
    }

    
/**
     * Reinit session with custom value
     *
     * @param null $data
     */
    
function overrideSession( $data = null ) {
        
$_SESSION[$this->session_key] = unserialize( $data );
    }
}
Онлайн: 1
Реклама