mihaildev\elfinder\ElFinder::genPathHash PHP Method

genPathHash() public static method

public static genPathHash ( $path )
    public static function genPathHash($path)
    {
        if (DIRECTORY_SEPARATOR != '/') {
            $path = str_replace('/', DIRECTORY_SEPARATOR, $path);
        }
        if (preg_match('/^@(\\d+)/', $path, $match)) {
            $volume = $match[1];
            $path = ltrim(substr($path, strlen($match[0])), DIRECTORY_SEPARATOR);
            if (empty($path)) {
                $path = DIRECTORY_SEPARATOR;
            }
        } else {
            $volume = 1;
        }
        $hash = rtrim(strtr(base64_encode($path), '+/=', '-_.'), '.');
        return 'elf_fls' . $volume . '_' . $hash;
    }

Usage Example

Example #1
0
 public function init()
 {
     parent::init();
     if (empty($this->language)) {
         $this->language = ElFinder::getSupportedLanguage(\Yii::$app->language);
     }
     if (empty($this->options['id'])) {
         $this->options['id'] = $this->getId();
     } else {
         $this->setId($this->options['id']);
     }
     $managerOptions = [];
     if (!empty($this->filter)) {
         $managerOptions['filter'] = $this->filter;
     }
     $managerOptions['callback'] = $this->getId() . "_manager";
     if (!empty($this->language)) {
         $managerOptions['lang'] = $this->language;
     }
     if (!empty($this->path)) {
         $managerOptions['path'] = $this->path;
     }
     $params = $managerOptions;
     if (!empty($this->startPath)) {
         $params['#'] = ElFinder::genPathHash($this->startPath);
     }
     $this->_managerOptions['url'] = ElFinder::getManagerUrl($this->controller, $params);
     $this->_managerOptions['width'] = $this->width;
     $this->_managerOptions['height'] = $this->height;
     $this->_managerOptions['id'] = $managerOptions['callback'];
 }
All Usage Examples Of mihaildev\elfinder\ElFinder::genPathHash