Gollem::stripAPIPath PHP Method

stripAPIPath() public static method

This will remove: - leading '/' - leading 'gollem' - trailing '/' The desired end result is the path including VFS backend.
public static stripAPIPath ( string $path ) : string
$path string Path as presented to Gollem API.
return string Cleaned path as described above.
    public static function stripAPIPath($path)
    {
        return trim(preg_replace('|/?gollem|', '', $path), '/');
    }

Usage Example

Beispiel #1
0
 /**
  * Removes a file or folder from the VFS
  *
  * @param string $path  Path of file or folder to delete
  */
 public function path_delete($path)
 {
     // Clean off the irrelevant portions of the path
     $path = Gollem::stripAPIPath($path);
     if ($path == '') {
         // We are at the root of gollem.  Any writes at this level are
         // disallowed.
         throw new Gollem_Exception(_("The application folder can not be deleted."));
     }
     $backend_key = $this->_getBackend($path);
     throw new Gollem_Exception('Permssion checks not implemented yet.');
     // Trim off the backend_key (and '/') to get the VFS relative path
     $fullpath = substr($path, strlen($backend_key) + 1);
     // Get the VFS-standard $name,$path pair
     list($name, $path) = Gollem::getVFSPath($fullpath);
     // Apparently Gollem::verifyDir() (called by deleteF* next) needs to
     // see a path with a leading '/'
     $path = $backends[$backend_key]['root'] . $path;
     $GLOBALS['injector']->getInstance('Gollem_Vfs')->isFolder($path, $name) ? Gollem::deleteFolder($path, $name) : Gollem::deleteFile($path, $name);
 }