Вход Регистрация
Файл: WoWonder 1.2.1/Update Guide/v1.1/Script/assets/import/hybridauth/Hybrid/Storage.php
Строк: 105
<?php

/**
 * HybridAuth
 * http://hybridauth.sourceforge.net | http://github.com/hybridauth/hybridauth
 * (c) 2009-2015, 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);
    }

    
/**
     * Saves a value in the config storage, or returns config if value is null
     *
     * @param string $key   Config name
     * @param string $value Config value
     * @return array|null
     */
    
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;
    }

    
/**
     * Returns value from session storage
     *
     * @param string $key Key
     * @return string|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;
    }

    
/**
     * Saves a key value pair to the session storage
     *
     * @param string $key   Key
     * @param string $value Value
     * @return void
     */
    
public function set($key$value) {
        
$key strtolower($key);
        
$_SESSION["HA::STORE"][$key] = serialize($value);
    }

    
/**
     * Clear session storage
     * @return void
     */
    
function clear() {
        
$_SESSION["HA::STORE"] = array();
    }

    
/**
     * Delete a specific key from session storage
     *
     * @param string $key Key
     * @return void
     */
    
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 all keys recursively from session storage
     *
     * @param string $key Key
     * @retun void
     */
    
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;
        }
    }

    
/**
     * Returns session storage as a serialized string
     * @return string|null
     */
    
function getSessionData() {
        if (isset(
$_SESSION["HA::STORE"])) {
            return 
serialize($_SESSION["HA::STORE"]);
        }
        return 
null;
    }

    
/**
     * Restores the session from serialized session data
     * 
     * @param string $sessiondata Serialized session data
     * @return void
     */
    
function restoreSessionData($sessiondata null) {
        
$_SESSION["HA::STORE"] = unserialize($sessiondata);
    }

}
Онлайн: 1
Реклама