PHP Класс elFinderVolumeGoogleDrive

Автор: Dmitry (dio) Levashov
Автор: Cem (discofever)
Наследование: extends elFinderVolumeDriver
Показать файл Открыть проект

Открытые свойства

Свойство Тип Описание
$netMountKey string Net mount key.

Защищенные свойства (Protected)

Свойство Тип Описание
$client object Google API client object.
$directories array Cache of chiled directories of each directories.
$driverId string Driver id Must be started from letter and contains [a-z0-9] Used as part of volume id.
$names array Cache of itemID => name of each items.
$parents array Cache of parents of each directories.
$service object GoogleDrive service object.
$tmp string Directory for tmp files If not set driver will try to use tmbDir as tmpDir.

Открытые методы

Метод Описание
__construct ( ) Constructor Extend options with required fields.
debug ( ) : array Return debug info for client.
getContentUrl ( string $hash, array $options = [] ) : boolean | string Return content URL (for netmout volume driver) If file.url == 1 requests from JavaScript client with XHR.
netmountPrepare ( $options ) : array Prepare Call from elFinder::netmout() before volume->mount().
netunmount ( $netVolumes, $key ) : boolean process of on netunmount Drop googledrive & rm thumbs.
umount ( ) Close opened connection.

Защищенные методы

Метод Описание
_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 ( ) Detect available archivers.
_chmod ( $path, $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, $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, $mode = 'rb' ) : resource | false Open file and return file pointer.
_gd_getDirectories ( string $itemId ) : array Get descendants directories.
_gd_getDirectoryData ( string $usecache = true ) Make cache of $parents, $names and $directories.
_gd_getDownloadUrl ( Google_Service_Drive_DriveFile $file ) : string | false Get download url.
_gd_getLink ( object $file ) : string return item URL link.
_gd_getMountPaths ( $id ) Get ID based path from item ID.
_gd_getThumbnail ( string $path ) : string | boolean Get thumbnail from GoogleDrive.com.
_gd_isPublished ( object $file ) : boolean Return is published.
_gd_parseRaw ( string $raw ) : array Parse line from googledrive metadata output and return file stat (array).
_gd_publish ( string $path ) : boolean Publish permissions specified path item.
_gd_readFileChunk ( resource $handle, integer $chunkSize ) : string Read file chunk.
_gd_splitPath ( string $path ) : array Get Parent ID, Item ID, Parent Path as an array from path.
_gd_unPublish ( string $path ) : boolean unPublish permissions specified path.
_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 ) : string | boolean 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, $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, $name ) : boolean Create symlink. FTP driver does not support symlinks.
_unlink ( string $path ) : boolean Remove file.
_unpack ( string $path, array $arc ) : true Unpack archive.
cacheDir ( string $path ) Cache dir contents.
configure ( ) Configure after successfull mount.
copy ( string $src, string $dst, string $name ) : string | false Copy file/recursive copy dir only in current volume.
createTmb ( string $path, $stat ) : string | false Create thumnbnail and return it's URL on success.
doSearch ( string $path, string $q, array $mimes ) : array Recursive files search.
init ( ) : boolean Prepare FTP connection Connect to remote server and check if credentials are correct, if so, store the connection id in $ftp_conn.
isNameExists ( string $path ) : array Return fileinfo based on filename For item ID based path file system Please override if needed on each drivers.
remove ( string $path, boolean $force = false, $recursive = false ) : boolean Remove file/ recursive remove dir.
tmbname ( array $stat ) : string Return thumbnail file name for required file.

Приватные методы

Метод Описание
_gd_getFile ( string $path, $fields = '' ) : array Get dat(googledrive metadata) from GoogleDrive.
_gd_getNameByPath ( string $path ) : array Get dat(googledrive metadata) from GoogleDrive.
_gd_query ( $opts ) : boolean | array Drive query and fetchAll.

Описание методов

__construct() публичный Метод

Constructor Extend options with required fields.
Автор: Dmitry (dio) Levashov
Автор: Cem (DiscoFever)
public __construct ( )

_abspath() защищенный Метод

Convert path related to root dir into real path.
Автор: Dmitry (dio) Levashov
protected _abspath ( string $path ) : string
$path string file path
Результат string

_archive() защищенный Метод

Create archive and return its path.
Автор: Dmitry (dio) Levashov,
Автор: 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
Результат string | boolean

_basename() защищенный Метод

Return file name.
Автор: Dmitry (dio) Levashov
protected _basename ( string $path ) : string
$path string file path
Результат string

_checkArchivers() защищенный Метод

Detect available archivers.
protected _checkArchivers ( )

_chmod() защищенный Метод

chmod implementation.
protected _chmod ( $path, $mode ) : boolean
Результат boolean

_copy() защищенный Метод

Copy file into another file.
Автор: 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
Результат boolean

_dimensions() защищенный Метод

..
Автор: Dmitry (dio) Levashov
protected _dimensions ( string $path, string $mime ) : string
$path string file path
$mime string file mime type
Результат string

_dirname() защищенный Метод

Return parent directory path.
Автор: Dmitry (dio) Levashov
protected _dirname ( string $path ) : string
$path string file path
Результат string

_extract() защищенный Метод

Extract files from archive.
Автор: Dmitry (dio) Levashov,
Автор: Alexey Sukhotin
protected _extract ( string $path, array $arc ) : true
$path string archive path
$arc array archiver command and arguments (same as in $this->archivers)
Результат true

_fclose() защищенный Метод

Close opened file.
Автор: Dmitry (dio) Levashov
protected _fclose ( resource $fp, $path = '' ) : boolean
$fp resource file pointer
Результат boolean

_filePutContents() защищенный Метод

Write a string to a file.
Автор: Dmitry (dio) Levashov
protected _filePutContents ( string $path, string $content ) : boolean
$path string file path
$content string new file content
Результат boolean

_fopen() защищенный Метод

Open file and return file pointer.
Автор: Dmitry (dio) Levashov
protected _fopen ( string $path, $mode = 'rb' ) : resource | false
$path string file path
Результат resource | false

_gd_getDirectories() защищенный Метод

Get descendants directories.
protected _gd_getDirectories ( string $itemId ) : array
$itemId string
Результат array

_gd_getDirectoryData() защищенный Метод

Make cache of $parents, $names and $directories.
protected _gd_getDirectoryData ( string $usecache = true )
$usecache string

_gd_getDownloadUrl() защищенный Метод

Get download url.
protected _gd_getDownloadUrl ( Google_Service_Drive_DriveFile $file ) : string | false
$file Google_Service_Drive_DriveFile
Результат string | false

_gd_getMountPaths() защищенный Метод

Get ID based path from item ID.
protected _gd_getMountPaths ( $id )

_gd_getThumbnail() защищенный Метод

Get thumbnail from GoogleDrive.com.
protected _gd_getThumbnail ( string $path ) : string | boolean
$path string
Результат string | boolean | boolean

_gd_isPublished() защищенный Метод

Return is published.
protected _gd_isPublished ( object $file ) : boolean
$file object
Результат boolean

_gd_parseRaw() защищенный Метод

Parse line from googledrive metadata output and return file stat (array).
Автор: Dmitry Levashov
protected _gd_parseRaw ( string $raw ) : array
$raw string line from ftp_rawlist() output
Результат array

_gd_publish() защищенный Метод

Publish permissions specified path item.
protected _gd_publish ( string $path ) : boolean
$path string
Результат boolean

_gd_readFileChunk() защищенный Метод

Read file chunk.
protected _gd_readFileChunk ( resource $handle, integer $chunkSize ) : string
$handle resource
$chunkSize integer
Результат string

_gd_splitPath() защищенный Метод

Get Parent ID, Item ID, Parent Path as an array from path.
protected _gd_splitPath ( string $path ) : array
$path string
Результат array

_gd_unPublish() защищенный Метод

unPublish permissions specified path.
protected _gd_unPublish ( string $path ) : boolean
$path string
Результат boolean

_getContents() защищенный Метод

Get file contents.
Автор: Dmitry (dio) Levashov
protected _getContents ( string $path ) : string | false
$path string file path
Результат string | false

_inpath() защищенный Метод

Return true if $path is children of $parent.
Автор: Dmitry (dio) Levashov
protected _inpath ( string $path, string $parent ) : boolean
$path string path to check
$parent string parent path
Результат boolean

_joinPath() защищенный Метод

Join dir name and file name and retur full path.
Автор: Dmitry (dio) Levashov
protected _joinPath ( string $dir, string $name ) : string
$dir string
$name string
Результат string

_mkdir() защищенный Метод

Create dir and return created dir path or false on failed.
Автор: Dmitry (dio) Levashov
protected _mkdir ( string $path, string $name ) : string | boolean
$path string parent dir path
$name string new directory name
Результат string | boolean

_mkfile() защищенный Метод

Create file and return it's path or false on failed.
Автор: Dmitry (dio) Levashov
protected _mkfile ( string $path, string $name ) : string | boolean
$path string parent dir path
$name string new file name
Результат string | boolean

_move() защищенный Метод

Return new file path or false.
Автор: Dmitry (dio) Levashov
protected _move ( string $source, $targetDir, string $name ) : string | boolean
$source string source file path
$name string file name
Результат string | boolean

_normpath() защищенный Метод

Return normalized path, this works the same as os.path.normpath() in Python.
Автор: Troex Nevelin
protected _normpath ( string $path ) : string
$path string path
Результат string

_path() защищенный Метод

Return fake path started from root dir.
Автор: Dmitry (dio) Levashov
protected _path ( string $path ) : string
$path string file path
Результат string

_relpath() защищенный Метод

Return file path related to root dir.
Автор: Dmitry (dio) Levashov
protected _relpath ( string $path ) : string
$path string file path
Результат string

_rmdir() защищенный Метод

Remove dir.
Автор: Dmitry (dio) Levashov
protected _rmdir ( string $path ) : boolean
$path string dir path
Результат boolean

_save() защищенный Метод

Return new file path or false on error.
Автор: Dmitry (dio) Levashov
protected _save ( resource $fp, $path, string $name, array $stat ) : boolean | string
$fp resource file pointer
$name string file name
$stat array file stat (required by some virtual fs)
Результат boolean | string

_scandir() защищенный Метод

Return files list in directory.
Автор: Dmitry (dio) Levashov
Автор: Cem (DiscoFever)
protected _scandir ( string $path ) : array
$path string dir path
Результат array

_stat() защищенный Метод

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.
Автор: Dmitry (dio) Levashov
protected _stat ( string $path ) : array | false
$path string file path
Результат array | false

_subdirs() защищенный Метод

Return true if path is dir and has at least one childs directory.
Автор: Dmitry (dio) Levashov
protected _subdirs ( string $path ) : boolean
$path string dir path
Результат boolean

_unpack() защищенный Метод

Unpack archive.
Автор: Dmitry (dio) Levashov
Автор: Alexey Sukhotin
protected _unpack ( string $path, array $arc ) : true
$path string archive path
$arc array archiver command and arguments (same as in $this->archivers)
Результат true

cacheDir() защищенный Метод

Cache dir contents.
Автор: Dmitry Levashov
protected cacheDir ( string $path )
$path string dir path

configure() защищенный Метод

Configure after successfull mount.
Автор: Dmitry (dio) Levashov
protected configure ( )

copy() защищенный Метод

Return new file path or false.
Автор: Dmitry (dio) Levashov
Автор: 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)
Результат string | false

createTmb() защищенный Метод

Create thumnbnail and return it's URL on success.
Автор: Dmitry (dio) Levashov
Автор: Naoki Sawada
protected createTmb ( string $path, $stat ) : string | false
$path string file path
Результат string | false

debug() публичный Метод

Return debug info for client.
public debug ( ) : array
Результат array

doSearch() защищенный Метод

Recursive files search.
Автор: Naoki Sawada
protected doSearch ( string $path, string $q, array $mimes ) : array
$path string dir path
$q string search string
$mimes array
Результат array

getContentUrl() публичный Метод

Return content URL (for netmout volume driver) If file.url == 1 requests from JavaScript client with XHR.
Автор: Naoki Sawada
public getContentUrl ( string $hash, array $options = [] ) : boolean | string
$hash string file hash
$options array options array
Результат boolean | string

init() защищенный Метод

Prepare FTP connection Connect to remote server and check if credentials are correct, if so, store the connection id in $ftp_conn.
Автор: Dmitry (dio) Levashov
Автор: Cem (DiscoFever)
protected init ( ) : boolean
Результат boolean

isNameExists() защищенный Метод

Return fileinfo based on filename For item ID based path file system Please override if needed on each drivers.
protected isNameExists ( string $path ) : array
$path string file cache
Результат array

netmountPrepare() публичный Метод

Prepare Call from elFinder::netmout() before volume->mount().
Автор: Naoki Sawada
Автор: Raja Sharma updating for GoogleDrive
public netmountPrepare ( $options ) : array
Результат array

netunmount() публичный Метод

process of on netunmount Drop googledrive & rm thumbs.
public netunmount ( $netVolumes, $key ) : boolean
Результат boolean

remove() защищенный Метод

Remove file/ recursive remove dir.
Автор: Dmitry (dio) Levashov
Автор: Naoki Sawada
protected remove ( string $path, boolean $force = false, $recursive = false ) : boolean
$path string file path
$force boolean try to remove even if file locked
Результат boolean

tmbname() защищенный Метод

Return thumbnail file name for required file.
Автор: Dmitry (dio) Levashov
protected tmbname ( array $stat ) : string
$stat array file stat
Результат string

umount() публичный Метод

Close opened connection.
Автор: Dmitry (dio) Levashov
public umount ( )

Описание свойств

$client защищенное свойство

Google API client object.
protected object $client
Результат object

$directories защищенное свойство

Cache of chiled directories of each directories.
protected array $directories
Результат array

$driverId защищенное свойство

Driver id Must be started from letter and contains [a-z0-9] Used as part of volume id.
protected string $driverId
Результат string

$names защищенное свойство

Cache of itemID => name of each items.
protected array $names
Результат array

$netMountKey публичное свойство

Net mount key.
public string $netMountKey
Результат string

$parents защищенное свойство

Cache of parents of each directories.
protected array $parents
Результат array

$service защищенное свойство

GoogleDrive service object.
protected object $service
Результат object

$tmp защищенное свойство

Directory for tmp files If not set driver will try to use tmbDir as tmpDir.
protected string $tmp
Результат string