PHP Class elFinderVolumeDropbox

Author: Dmitry (dio) Levashov
Author: Cem (discofever)
Inheritance: extends elFinderVolumeDriver
Show file Open project: studio-42/elfinder Class Usage Examples

Protected Properties

Property Type Description
$apiError string Last API error message
$driverId string Driver id Must be started from letter and contains [a-z0-9] Used as part of volume id
$dropbox dropbox Dropbox object
$dropboxUid string Dropbox.com uid
$metaCache string Directory for meta data caches If not set driver not cache meta data
$oauth oauth OAuth object
$tmp string Directory for tmp files If not set driver will try to use tmbDir as tmpDir

Public Methods

Method Description
__construct ( ) Constructor Extend options with required fields
getContentUrl ( string $hash, array $options = [] ) : array Return content URL
netmountPrepare ( $options ) : Array Prepare Call from elFinder::netmout() before volume->mount()
netunmount ( $netVolumes, $key ) : boolean process of on netunmount Drop table dropbox & rm thumbs
umount ( ) : void Close opened connection

Protected Methods

Method Description
_abspath ( string $path ) : string Convert path related to root dir into real path
_archive ( string $dir, array $files, string $name, array $arc ) : string | boolean Create archive and return its path
_basename ( string $path ) : string Return file name
_checkArchivers ( ) : array Detect available archivers
_chmod ( string $path, string $mode ) : boolean chmod implementation
_copy ( string $source, string $targetDir, string $name ) : boolean Copy file into another file
_dimensions ( string $path, string $mime ) : string Return object width and height Ususaly used for images, but can be realize for video etc.
_dirname ( string $path ) : string Return parent directory path
_extract ( string $path, array $arc ) : true Extract files from archive
_fclose ( resource $fp, string $path = '' ) : boolean Close opened file
_filePutContents ( string $path, string $content ) : boolean Write a string to a file
_findSymlinks ( string $path ) : boolean Recursive symlinks search
_fopen ( string $path, string $mode = 'rb' ) : false | resource Open file and return file pointer
_getContents ( string $path ) : string | false Get file contents
_inpath ( string $path, string $parent ) : boolean Return true if $path is children of $parent
_joinPath ( string $dir, string $name ) : string Join dir name and file name and retur full path
_mkdir ( string $path, string $name ) : string | boolean Create dir and return created dir path or false on failed
_mkfile ( string $path, string $name ) : string | boolean Create file and return it's path or false on failed
_move ( string $source, $targetDir, string $name ) : boolean | string Move file into another parent dir.
_normpath ( string $path ) : string Return normalized path, this works the same as os.path.normpath() in Python
_path ( string $path ) : string Return fake path started from root dir
_relpath ( string $path ) : string Return file path related to root dir
_rmdir ( string $path ) : boolean Remove dir
_save ( resource $fp, string $path, string $name, array $stat ) : boolean | string Create new file and write into it from file pointer.
_scandir ( string $path ) : array Return files list in directory.
_stat ( string $path ) : array | false Return stat for given path.
_subdirs ( string $path ) : boolean Return true if path is dir and has at least one childs directory
_symlink ( string $target, string $path, string $name ) : boolean Create symlink. FTP driver does not support symlinks.
_unlink ( string $path ) : boolean Remove file
_unpack ( string $path, array $arc ) : void Unpack archive
cacheDir ( string $path ) : string Cache dir contents
configure ( ) : string Configure after successful mount.
copy ( string $src, string $dst, string $name ) : string | false Copy file/recursive copy dir only in current volume.
createTmb ( string $path, $stat ) : false | string Create thumnbnail and return it's URL on success
deltaCheck ( boolean $refresh = true ) : true | string Get delta data and DB update
doSearch ( string $path, string $q, array $mimes ) : array Recursive files search
getThumbnail ( string $path, string $size = 'small' ) : string | boolean Get thumbnail from dropbox.com
init ( ) : boolean Prepare FTP connection Connect to remote server and check if credentials are correct, if so, store the connection id in $ftp_conn
parseRaw ( string $raw ) : array Parse line from dropbox metadata output and return file stat (array)
remove ( string $path, boolean $force = false, boolean $recursive = false ) : boolean Remove file/ recursive remove dir
tmbname ( array $stat ) : string Return thumbnail file name for required file

Private Methods

Method Description
checkDB ( ) : boolean Check DB for delta cache
getDBdat ( string $path ) : array Get dat(dropbox metadata) from DB
getHttpResponseHeader ( string $url ) : string Get HTTP request response header string
query ( string $sql ) : boolean | array DB query and fetchAll
updateDBdat ( string $path, array $dat ) : boolean | array Update DB dat(dropbox metadata)

Method Details

__construct() public method

Constructor Extend options with required fields
Author: Dmitry (dio) Levashov
Author: Cem (DiscoFever)
public __construct ( )

_abspath() protected method

Convert path related to root dir into real path
Author: Dmitry (dio) Levashov
protected _abspath ( string $path ) : string
$path string file path
return string

_archive() protected method

Create archive and return its path
Author: Dmitry (dio) Levashov,
Author: Alexey Sukhotin
protected _archive ( string $dir, array $files, string $name, array $arc ) : string | boolean
$dir string target dir
$files array files names list
$name string archive name
$arc array archiver options
return string | boolean

_basename() protected method

Return file name
Author: Dmitry (dio) Levashov
protected _basename ( string $path ) : string
$path string file path
return string

_checkArchivers() protected method

Detect available archivers
protected _checkArchivers ( ) : array
return array

_chmod() protected method

chmod implementation
protected _chmod ( string $path, string $mode ) : boolean
$path string
$mode string
return boolean

_copy() protected method

Copy file into another file
Author: Dmitry (dio) Levashov
protected _copy ( string $source, string $targetDir, string $name ) : boolean
$source string source file path
$targetDir string target directory path
$name string new file name
return boolean

_dimensions() protected method

..
Author: Dmitry (dio) Levashov
protected _dimensions ( string $path, string $mime ) : string
$path string file path
$mime string file mime type
return string

_dirname() protected method

Return parent directory path
Author: Dmitry (dio) Levashov
protected _dirname ( string $path ) : string
$path string file path
return string

_extract() protected method

Extract files from archive
Author: Dmitry (dio) Levashov,
Author: Alexey Sukhotin
protected _extract ( string $path, array $arc ) : true
$path string archive path
$arc array archiver command and arguments (same as in $this->archivers)
return true

_fclose() protected method

Close opened file
Author: Dmitry (dio) Levashov
protected _fclose ( resource $fp, string $path = '' ) : boolean
$fp resource file pointer
$path string
return boolean

_filePutContents() protected method

Write a string to a file
Author: Dmitry (dio) Levashov
protected _filePutContents ( string $path, string $content ) : boolean
$path string file path
$content string new file content
return boolean

_fopen() protected method

Open file and return file pointer
Author: Dmitry (dio) Levashov
protected _fopen ( string $path, string $mode = 'rb' ) : false | resource
$path string file path
$mode string
return false | resource

_getContents() protected method

Get file contents
Author: Dmitry (dio) Levashov
protected _getContents ( string $path ) : string | false
$path string file path
return string | false

_inpath() protected method

Return true if $path is children of $parent
Author: Dmitry (dio) Levashov
protected _inpath ( string $path, string $parent ) : boolean
$path string path to check
$parent string parent path
return boolean

_joinPath() protected method

Join dir name and file name and retur full path
Author: Dmitry (dio) Levashov
protected _joinPath ( string $dir, string $name ) : string
$dir string
$name string
return string

_mkdir() protected method

Create dir and return created dir path or false on failed
Author: Dmitry (dio) Levashov
protected _mkdir ( string $path, string $name ) : string | boolean
$path string parent dir path
$name string new directory name
return string | boolean

_mkfile() protected method

Create file and return it's path or false on failed
Author: Dmitry (dio) Levashov
protected _mkfile ( string $path, string $name ) : string | boolean
$path string parent dir path
$name string new file name
return string | boolean

_move() protected method

Return new file path or false.
Author: Dmitry (dio) Levashov
protected _move ( string $source, $targetDir, string $name ) : boolean | string
$source string source file path
$targetDir
$name string file name
return boolean | string

_normpath() protected method

Return normalized path, this works the same as os.path.normpath() in Python
Author: Troex Nevelin
protected _normpath ( string $path ) : string
$path string path
return string

_path() protected method

Return fake path started from root dir
Author: Dmitry (dio) Levashov
protected _path ( string $path ) : string
$path string file path
return string

_relpath() protected method

Return file path related to root dir
Author: Dmitry (dio) Levashov
protected _relpath ( string $path ) : string
$path string file path
return string

_rmdir() protected method

Remove dir
Author: Dmitry (dio) Levashov
protected _rmdir ( string $path ) : boolean
$path string dir path
return boolean

_save() protected method

Return new file path or false on error.
Author: Dmitry (dio) Levashov
protected _save ( resource $fp, string $path, string $name, array $stat ) : boolean | string
$fp resource file pointer
$path string
$name string file name
$stat array file stat (required by some virtual fs)
return boolean | string

_scandir() protected method

Return files list in directory.
Author: Dmitry (dio) Levashov
Author: Cem (DiscoFever)
protected _scandir ( string $path ) : array
$path string dir path
return array

_stat() protected method

Stat contains following fields: - (int) size file size in b. required - (int) ts file modification time in unix time. required - (string) mime mimetype. required for folders, others - optionally - (bool) read read permissions. required - (bool) write write permissions. required - (bool) locked is object locked. optionally - (bool) hidden is object hidden. optionally - (string) alias for symlinks - link target path relative to root path. optionally - (string) target for symlinks - link target path. optionally If file does not exists - returns empty array or false.
Author: Dmitry (dio) Levashov
protected _stat ( string $path ) : array | false
$path string file path
return array | false

_subdirs() protected method

Return true if path is dir and has at least one childs directory
Author: Dmitry (dio) Levashov
protected _subdirs ( string $path ) : boolean
$path string dir path
return boolean

_unpack() protected method

Unpack archive
Author: Dmitry (dio) Levashov
Author: Alexey Sukhotin
protected _unpack ( string $path, array $arc ) : void
$path string archive path
$arc array archiver command and arguments (same as in $this->archivers)
return void

cacheDir() protected method

Cache dir contents
Author: Dmitry Levashov
protected cacheDir ( string $path ) : string
$path string dir path
return string

configure() protected method

Configure after successful mount.
Author: Dmitry (dio) Levashov
protected configure ( ) : string
return string

copy() protected method

Return new file path or false.
Author: Dmitry (dio) Levashov
Author: Naoki Sawada
protected copy ( string $src, string $dst, string $name ) : string | false
$src string source path
$dst string destination dir path
$name string new file name (optionaly)
return string | false

createTmb() protected method

Create thumnbnail and return it's URL on success
Author: Dmitry (dio) Levashov
Author: Naoki Sawada
protected createTmb ( string $path, $stat ) : false | string
$path string file path
$stat
return false | string

deltaCheck() protected method

Get delta data and DB update
protected deltaCheck ( boolean $refresh = true ) : true | string
$refresh boolean force refresh
return true | string error message

doSearch() protected method

Recursive files search
Author: Naoki Sawada
protected doSearch ( string $path, string $q, array $mimes ) : array
$path string dir path
$q string search string
$mimes array
return array

getContentUrl() public method

Return content URL
Author: Naoki Sawada
public getContentUrl ( string $hash, array $options = [] ) : array
$hash string file hash
$options array options
return array

getThumbnail() protected method

Get thumbnail from dropbox.com
protected getThumbnail ( string $path, string $size = 'small' ) : string | boolean
$path string
$size string
return string | boolean | boolean

init() protected method

Prepare FTP connection Connect to remote server and check if credentials are correct, if so, store the connection id in $ftp_conn
Author: Dmitry (dio) Levashov
Author: Cem (DiscoFever)
protected init ( ) : boolean
return boolean

netmountPrepare() public method

Prepare Call from elFinder::netmout() before volume->mount()
Author: Naoki Sawada
public netmountPrepare ( $options ) : Array
$options
return Array

netunmount() public method

process of on netunmount Drop table dropbox & rm thumbs
public netunmount ( $netVolumes, $key ) : boolean
$netVolumes
$key
return boolean

parseRaw() protected method

Parse line from dropbox metadata output and return file stat (array)
Author: Dmitry Levashov
protected parseRaw ( string $raw ) : array
$raw string line from ftp_rawlist() output
return array

remove() protected method

Remove file/ recursive remove dir
Author: Dmitry (dio) Levashov
Author: Naoki Sawada
protected remove ( string $path, boolean $force = false, boolean $recursive = false ) : boolean
$path string file path
$force boolean try to remove even if file locked
$recursive boolean
return boolean

tmbname() protected method

Return thumbnail file name for required file
Author: Dmitry (dio) Levashov
protected tmbname ( array $stat ) : string
$stat array file stat
return string

umount() public method

Close opened connection
Author: Dmitry (dio) Levashov
public umount ( ) : void
return void

Property Details

$apiError protected property

Last API error message
protected string $apiError
return string

$driverId protected property

Driver id Must be started from letter and contains [a-z0-9] Used as part of volume id
protected string $driverId
return string

$dropbox protected property

Dropbox object
protected dropbox $dropbox
return dropbox

$dropboxUid protected property

Dropbox.com uid
protected string $dropboxUid
return string

$metaCache protected property

Directory for meta data caches If not set driver not cache meta data
protected string $metaCache
return string

$oauth protected property

OAuth object
protected oauth $oauth
return oauth

$tmp protected property

Directory for tmp files If not set driver will try to use tmbDir as tmpDir
protected string $tmp
return string