elFinder::sessionDataDecode PHP Метод

sessionDataDecode() публичный статический Метод

base64_decode and unserialize of session data (If needed)
Устаревший:
Автор: Naoki Sawada
public static sessionDataDecode ( mixed &$var, boolean $checkIs = null ) : boolean | mixed
$var mixed target variable
$checkIs boolean data type for check (array|string|object|int)
Результат boolean | mixed
    public static function sessionDataDecode(&$var, $checkIs = null)
    {
        if (self::$base64encodeSessionData) {
            $data = unserialize(base64_decode($var));
        } else {
            $data = $var;
        }
        $chk = true;
        if ($checkIs) {
            switch ($checkIs) {
                case 'array':
                    $chk = is_array($data);
                    break;
                case 'string':
                    $chk = is_string($data);
                    break;
                case 'object':
                    $chk = is_object($data);
                    break;
                case 'int':
                    $chk = is_int($data);
                    break;
            }
        }
        if (!$chk) {
            unset($var);
            return false;
        }
        return $data;
    }

Usage Example

 /**
  * Return fileinfo 
  *
  * @param  string  $path  file cache
  * @return array
  * @author Dmitry (dio) Levashov
  **/
 protected function stat($path)
 {
     if ($path === false || is_null($path)) {
         return false;
     }
     $is_root = $path == $this->root;
     if ($is_root) {
         $rootKey = md5($path);
         if (!isset($this->sessionCache['rootstat'])) {
             $this->sessionCache['rootstat'] = array();
         }
         if (!$this->isMyReload()) {
             // need $path as key for netmount/netunmount
             if (isset($this->sessionCache['rootstat'][$rootKey])) {
                 if ($ret = elFinder::sessionDataDecode($this->sessionCache['rootstat'][$rootKey], 'array')) {
                     return $ret;
                 }
             }
         }
     }
     $ret = isset($this->cache[$path]) ? $this->cache[$path] : $this->updateCache($path, $this->convEncOut($this->_stat($this->convEncIn($path))));
     if ($is_root) {
         $this->sessionRestart();
         $this->sessionCache['rootstat'][$rootKey] = elFinder::sessionDataEncode($ret);
         elFinder::sessionWrite();
     }
     return $ret;
 }
All Usage Examples Of elFinder::sessionDataDecode