Edit File by line
/home/barbar84/www/wp-conte.../plugins/wp-file-.../lib/php
File: elFinderVolumeDriver.class.php
<?php
[0] Fix | Delete
[1] Fix | Delete
/**
[2] Fix | Delete
* Base class for elFinder volume.
[3] Fix | Delete
* Provide 2 layers:
[4] Fix | Delete
* 1. Public API (commands)
[5] Fix | Delete
* 2. abstract fs API
[6] Fix | Delete
* All abstract methods begin with "_"
[7] Fix | Delete
*
[8] Fix | Delete
* @author Dmitry (dio) Levashov
[9] Fix | Delete
* @author Troex Nevelin
[10] Fix | Delete
* @author Alexey Sukhotin
[11] Fix | Delete
* @method netmountPrepare(array $options)
[12] Fix | Delete
* @method postNetmount(array $options)
[13] Fix | Delete
*/
[14] Fix | Delete
abstract class elFinderVolumeDriver
[15] Fix | Delete
{
[16] Fix | Delete
[17] Fix | Delete
/**
[18] Fix | Delete
* Net mount key
[19] Fix | Delete
*
[20] Fix | Delete
* @var string
[21] Fix | Delete
**/
[22] Fix | Delete
public $netMountKey = '';
[23] Fix | Delete
[24] Fix | Delete
/**
[25] Fix | Delete
* Request args
[26] Fix | Delete
* $_POST or $_GET values
[27] Fix | Delete
*
[28] Fix | Delete
* @var array
[29] Fix | Delete
*/
[30] Fix | Delete
protected $ARGS = array();
[31] Fix | Delete
[32] Fix | Delete
/**
[33] Fix | Delete
* Driver id
[34] Fix | Delete
* Must be started from letter and contains [a-z0-9]
[35] Fix | Delete
* Used as part of volume id
[36] Fix | Delete
*
[37] Fix | Delete
* @var string
[38] Fix | Delete
**/
[39] Fix | Delete
protected $driverId = 'a';
[40] Fix | Delete
[41] Fix | Delete
/**
[42] Fix | Delete
* Volume id - used as prefix for files hashes
[43] Fix | Delete
*
[44] Fix | Delete
* @var string
[45] Fix | Delete
**/
[46] Fix | Delete
protected $id = '';
[47] Fix | Delete
[48] Fix | Delete
/**
[49] Fix | Delete
* Flag - volume "mounted" and available
[50] Fix | Delete
*
[51] Fix | Delete
* @var bool
[52] Fix | Delete
**/
[53] Fix | Delete
protected $mounted = false;
[54] Fix | Delete
[55] Fix | Delete
/**
[56] Fix | Delete
* Root directory path
[57] Fix | Delete
*
[58] Fix | Delete
* @var string
[59] Fix | Delete
**/
[60] Fix | Delete
protected $root = '';
[61] Fix | Delete
[62] Fix | Delete
/**
[63] Fix | Delete
* Root basename | alias
[64] Fix | Delete
*
[65] Fix | Delete
* @var string
[66] Fix | Delete
**/
[67] Fix | Delete
protected $rootName = '';
[68] Fix | Delete
[69] Fix | Delete
/**
[70] Fix | Delete
* Default directory to open
[71] Fix | Delete
*
[72] Fix | Delete
* @var string
[73] Fix | Delete
**/
[74] Fix | Delete
protected $startPath = '';
[75] Fix | Delete
[76] Fix | Delete
/**
[77] Fix | Delete
* Base URL
[78] Fix | Delete
*
[79] Fix | Delete
* @var string
[80] Fix | Delete
**/
[81] Fix | Delete
protected $URL = '';
[82] Fix | Delete
[83] Fix | Delete
/**
[84] Fix | Delete
* Path to temporary directory
[85] Fix | Delete
*
[86] Fix | Delete
* @var string
[87] Fix | Delete
*/
[88] Fix | Delete
protected $tmp;
[89] Fix | Delete
[90] Fix | Delete
/**
[91] Fix | Delete
* A file save destination path when a temporary content URL is required
[92] Fix | Delete
* on a network volume or the like
[93] Fix | Delete
* If not specified, it tries to use "Connector Path/../files/.tmb".
[94] Fix | Delete
*
[95] Fix | Delete
* @var string
[96] Fix | Delete
*/
[97] Fix | Delete
protected $tmpLinkPath = '';
[98] Fix | Delete
[99] Fix | Delete
/**
[100] Fix | Delete
* A file save destination URL when a temporary content URL is required
[101] Fix | Delete
* on a network volume or the like
[102] Fix | Delete
* If not specified, it tries to use "Connector URL/../files/.tmb".
[103] Fix | Delete
*
[104] Fix | Delete
* @var string
[105] Fix | Delete
*/
[106] Fix | Delete
protected $tmpLinkUrl = '';
[107] Fix | Delete
[108] Fix | Delete
/**
[109] Fix | Delete
* Thumbnails dir path
[110] Fix | Delete
*
[111] Fix | Delete
* @var string
[112] Fix | Delete
**/
[113] Fix | Delete
protected $tmbPath = '';
[114] Fix | Delete
[115] Fix | Delete
/**
[116] Fix | Delete
* Is thumbnails dir writable
[117] Fix | Delete
*
[118] Fix | Delete
* @var bool
[119] Fix | Delete
**/
[120] Fix | Delete
protected $tmbPathWritable = false;
[121] Fix | Delete
[122] Fix | Delete
/**
[123] Fix | Delete
* Thumbnails base URL
[124] Fix | Delete
*
[125] Fix | Delete
* @var string
[126] Fix | Delete
**/
[127] Fix | Delete
protected $tmbURL = '';
[128] Fix | Delete
[129] Fix | Delete
/**
[130] Fix | Delete
* Thumbnails size in px
[131] Fix | Delete
*
[132] Fix | Delete
* @var int
[133] Fix | Delete
**/
[134] Fix | Delete
protected $tmbSize = 48;
[135] Fix | Delete
[136] Fix | Delete
/**
[137] Fix | Delete
* Image manipulation lib name
[138] Fix | Delete
* auto|imagick|gd|convert
[139] Fix | Delete
*
[140] Fix | Delete
* @var string
[141] Fix | Delete
**/
[142] Fix | Delete
protected $imgLib = 'auto';
[143] Fix | Delete
[144] Fix | Delete
/**
[145] Fix | Delete
* Video to Image converter
[146] Fix | Delete
*
[147] Fix | Delete
* @var array
[148] Fix | Delete
*/
[149] Fix | Delete
protected $imgConverter = array();
[150] Fix | Delete
[151] Fix | Delete
/**
[152] Fix | Delete
* Library to crypt files name
[153] Fix | Delete
*
[154] Fix | Delete
* @var string
[155] Fix | Delete
**/
[156] Fix | Delete
protected $cryptLib = '';
[157] Fix | Delete
[158] Fix | Delete
/**
[159] Fix | Delete
* Archivers config
[160] Fix | Delete
*
[161] Fix | Delete
* @var array
[162] Fix | Delete
**/
[163] Fix | Delete
protected $archivers = array(
[164] Fix | Delete
'create' => array(),
[165] Fix | Delete
'extract' => array()
[166] Fix | Delete
);
[167] Fix | Delete
[168] Fix | Delete
/**
[169] Fix | Delete
* Static var of $this->options['maxArcFilesSize']
[170] Fix | Delete
*
[171] Fix | Delete
* @var int|string
[172] Fix | Delete
*/
[173] Fix | Delete
protected static $maxArcFilesSize;
[174] Fix | Delete
[175] Fix | Delete
/**
[176] Fix | Delete
* Server character encoding
[177] Fix | Delete
*
[178] Fix | Delete
* @var string or null
[179] Fix | Delete
**/
[180] Fix | Delete
protected $encoding = null;
[181] Fix | Delete
[182] Fix | Delete
/**
[183] Fix | Delete
* How many subdirs levels return for tree
[184] Fix | Delete
*
[185] Fix | Delete
* @var int
[186] Fix | Delete
**/
[187] Fix | Delete
protected $treeDeep = 1;
[188] Fix | Delete
[189] Fix | Delete
/**
[190] Fix | Delete
* Errors from last failed action
[191] Fix | Delete
*
[192] Fix | Delete
* @var array
[193] Fix | Delete
**/
[194] Fix | Delete
protected $error = array();
[195] Fix | Delete
[196] Fix | Delete
/**
[197] Fix | Delete
* Today 24:00 timestamp
[198] Fix | Delete
*
[199] Fix | Delete
* @var int
[200] Fix | Delete
**/
[201] Fix | Delete
protected $today = 0;
[202] Fix | Delete
[203] Fix | Delete
/**
[204] Fix | Delete
* Yesterday 24:00 timestamp
[205] Fix | Delete
*
[206] Fix | Delete
* @var int
[207] Fix | Delete
**/
[208] Fix | Delete
protected $yesterday = 0;
[209] Fix | Delete
[210] Fix | Delete
/**
[211] Fix | Delete
* Force make dirctory on extract
[212] Fix | Delete
*
[213] Fix | Delete
* @var int
[214] Fix | Delete
**/
[215] Fix | Delete
protected $extractToNewdir = 'auto';
[216] Fix | Delete
[217] Fix | Delete
/**
[218] Fix | Delete
* Object configuration
[219] Fix | Delete
*
[220] Fix | Delete
* @var array
[221] Fix | Delete
**/
[222] Fix | Delete
protected $options = array(
[223] Fix | Delete
// Driver ID (Prefix of volume ID), Normally, the value specified for each volume driver is used.
[224] Fix | Delete
'driverId' => '',
[225] Fix | Delete
// Id (Suffix of volume ID), Normally, the number incremented according to the specified number of volumes is used.
[226] Fix | Delete
'id' => '',
[227] Fix | Delete
// revision id of root directory that uses for caching control of root stat
[228] Fix | Delete
'rootRev' => '',
[229] Fix | Delete
// driver type it uses volume root's CSS class name. e.g. 'group' -> Adds 'elfinder-group' to CSS class name.
[230] Fix | Delete
'type' => '',
[231] Fix | Delete
// root directory path
[232] Fix | Delete
'path' => '',
[233] Fix | Delete
// Folder hash value on elFinder to be the parent of this volume
[234] Fix | Delete
'phash' => '',
[235] Fix | Delete
// Folder hash value on elFinder to trash bin of this volume, it require 'copyJoin' to true
[236] Fix | Delete
'trashHash' => '',
[237] Fix | Delete
// open this path on initial request instead of root path
[238] Fix | Delete
'startPath' => '',
[239] Fix | Delete
// how many subdirs levels return per request
[240] Fix | Delete
'treeDeep' => 1,
[241] Fix | Delete
// root url, not set to URL via the connector. If you want to hide the file URL, do not set this value. (replacement for old "fileURL" option)
[242] Fix | Delete
'URL' => '',
[243] Fix | Delete
// enable onetime URL to a file - (true, false, 'auto' (true if a temporary directory is available) or callable (A function that return onetime URL))
[244] Fix | Delete
'onetimeUrl' => 'auto',
[245] Fix | Delete
// directory link url to own manager url with folder hash (`true`, `false`, `'hide'`(No show) or default `'auto'`: URL is empty then `true` else `false`)
[246] Fix | Delete
'dirUrlOwn' => 'auto',
[247] Fix | Delete
// directory separator. required by client to show paths correctly
[248] Fix | Delete
'separator' => DIRECTORY_SEPARATOR,
[249] Fix | Delete
// Use '/' as directory separator when the path hash encode/decode on the Windows server too
[250] Fix | Delete
'winHashFix' => false,
[251] Fix | Delete
// Server character encoding (default is '': UTF-8)
[252] Fix | Delete
'encoding' => '',
[253] Fix | Delete
// for convert character encoding (default is '': Not change locale)
[254] Fix | Delete
'locale' => '',
[255] Fix | Delete
// URL of volume icon image
[256] Fix | Delete
'icon' => '',
[257] Fix | Delete
// CSS Class of volume root in tree
[258] Fix | Delete
'rootCssClass' => '',
[259] Fix | Delete
// Items to disable session caching
[260] Fix | Delete
'noSessionCache' => array(),
[261] Fix | Delete
// enable i18n folder name that convert name to elFinderInstance.messages['folder_'+name]
[262] Fix | Delete
'i18nFolderName' => false,
[263] Fix | Delete
// Search timeout (sec)
[264] Fix | Delete
'searchTimeout' => 30,
[265] Fix | Delete
// Search exclusion directory regex pattern (require demiliter e.g. '#/path/to/exclude_directory#i')
[266] Fix | Delete
'searchExDirReg' => '',
[267] Fix | Delete
// library to crypt/uncrypt files names (not implemented)
[268] Fix | Delete
'cryptLib' => '',
[269] Fix | Delete
// how to detect files mimetypes. (auto/internal/finfo/mime_content_type)
[270] Fix | Delete
'mimeDetect' => 'auto',
[271] Fix | Delete
// mime.types file path (for mimeDetect==internal)
[272] Fix | Delete
'mimefile' => '',
[273] Fix | Delete
// Static extension/MIME of general server side scripts to security issues
[274] Fix | Delete
'staticMineMap' => array(
[275] Fix | Delete
'php:*' => 'text/x-php',
[276] Fix | Delete
'pht:*' => 'text/x-php',
[277] Fix | Delete
'php3:*' => 'text/x-php',
[278] Fix | Delete
'php4:*' => 'text/x-php',
[279] Fix | Delete
'php5:*' => 'text/x-php',
[280] Fix | Delete
'php7:*' => 'text/x-php',
[281] Fix | Delete
'phtml:*' => 'text/x-php',
[282] Fix | Delete
'phar:*' => 'text/x-php',
[283] Fix | Delete
'cgi:*' => 'text/x-httpd-cgi',
[284] Fix | Delete
'pl:*' => 'text/x-perl',
[285] Fix | Delete
'asp:*' => 'text/x-asap',
[286] Fix | Delete
'aspx:*' => 'text/x-asap',
[287] Fix | Delete
'py:*' => 'text/x-python',
[288] Fix | Delete
'rb:*' => 'text/x-ruby',
[289] Fix | Delete
'jsp:*' => 'text/x-jsp'
[290] Fix | Delete
),
[291] Fix | Delete
// mime type normalize map : Array '[ext]:[detected mime type]' => '[normalized mime]'
[292] Fix | Delete
'mimeMap' => array(
[293] Fix | Delete
'md:application/x-genesis-rom' => 'text/x-markdown',
[294] Fix | Delete
'md:text/plain' => 'text/x-markdown',
[295] Fix | Delete
'markdown:text/plain' => 'text/x-markdown',
[296] Fix | Delete
'css:text/x-asm' => 'text/css',
[297] Fix | Delete
'css:text/plain' => 'text/css',
[298] Fix | Delete
'csv:text/plain' => 'text/csv',
[299] Fix | Delete
'java:text/x-c' => 'text/x-java-source',
[300] Fix | Delete
'json:text/plain' => 'application/json',
[301] Fix | Delete
'sql:text/plain' => 'text/x-sql',
[302] Fix | Delete
'rtf:text/rtf' => 'application/rtf',
[303] Fix | Delete
'rtfd:text/rtfd' => 'application/rtfd',
[304] Fix | Delete
'ico:image/vnd.microsoft.icon' => 'image/x-icon',
[305] Fix | Delete
'svg:text/plain' => 'image/svg+xml',
[306] Fix | Delete
'pxd:application/octet-stream' => 'image/x-pixlr-data',
[307] Fix | Delete
'dng:image/tiff' => 'image/x-adobe-dng',
[308] Fix | Delete
'sketch:application/zip' => 'image/x-sketch',
[309] Fix | Delete
'sketch:application/octet-stream' => 'image/x-sketch',
[310] Fix | Delete
'xcf:application/octet-stream' => 'image/x-xcf',
[311] Fix | Delete
'amr:application/octet-stream' => 'audio/amr',
[312] Fix | Delete
'm4a:video/mp4' => 'audio/mp4',
[313] Fix | Delete
'oga:application/ogg' => 'audio/ogg',
[314] Fix | Delete
'ogv:application/ogg' => 'video/ogg',
[315] Fix | Delete
'zip:application/x-zip' => 'application/zip',
[316] Fix | Delete
'm3u8:text/plain' => 'application/x-mpegURL',
[317] Fix | Delete
'mpd:text/plain' => 'application/dash+xml',
[318] Fix | Delete
'mpd:application/xml' => 'application/dash+xml',
[319] Fix | Delete
'*:application/x-dosexec' => 'application/x-executable',
[320] Fix | Delete
'doc:application/vnd.ms-office' => 'application/msword',
[321] Fix | Delete
'xls:application/vnd.ms-office' => 'application/vnd.ms-excel',
[322] Fix | Delete
'ppt:application/vnd.ms-office' => 'application/vnd.ms-powerpoint',
[323] Fix | Delete
'yml:text/plain' => 'text/x-yaml',
[324] Fix | Delete
'ai:application/pdf' => 'application/postscript',
[325] Fix | Delete
'cgm:text/plain' => 'image/cgm',
[326] Fix | Delete
'dxf:text/plain' => 'image/vnd.dxf',
[327] Fix | Delete
'dds:application/octet-stream' => 'image/vnd-ms.dds',
[328] Fix | Delete
'hpgl:text/plain' => 'application/vnd.hp-hpgl',
[329] Fix | Delete
'igs:text/plain' => 'model/iges',
[330] Fix | Delete
'iges:text/plain' => 'model/iges',
[331] Fix | Delete
'plt:application/octet-stream' => 'application/plt',
[332] Fix | Delete
'plt:text/plain' => 'application/plt',
[333] Fix | Delete
'sat:text/plain' => 'application/sat',
[334] Fix | Delete
'step:text/plain' => 'application/step',
[335] Fix | Delete
'stp:text/plain' => 'application/step'
[336] Fix | Delete
),
[337] Fix | Delete
// An option to add MimeMap to the `mimeMap` option
[338] Fix | Delete
// Array '[ext]:[detected mime type]' => '[normalized mime]'
[339] Fix | Delete
'additionalMimeMap' => array(),
[340] Fix | Delete
// MIME-Type of filetype detected as unknown
[341] Fix | Delete
'mimeTypeUnknown' => 'application/octet-stream',
[342] Fix | Delete
// MIME regex of send HTTP header "Content-Disposition: inline" or allow preview in quicklook
[343] Fix | Delete
// '.' is allow inline of all of MIME types
[344] Fix | Delete
// '$^' is not allow inline of all of MIME types
[345] Fix | Delete
'dispInlineRegex' => '^(?:(?:video|audio)|image/(?!.+\+xml)|application/(?:ogg|x-mpegURL|dash\+xml)|(?:text/plain|application/pdf)$)',
[346] Fix | Delete
// temporary content URL's base path
[347] Fix | Delete
'tmpLinkPath' => '',
[348] Fix | Delete
// temporary content URL's base URL
[349] Fix | Delete
'tmpLinkUrl' => '',
[350] Fix | Delete
// directory for thumbnails
[351] Fix | Delete
'tmbPath' => '.tmb',
[352] Fix | Delete
// mode to create thumbnails dir
[353] Fix | Delete
'tmbPathMode' => 0777,
[354] Fix | Delete
// thumbnails dir URL. Set it if store thumbnails outside root directory
[355] Fix | Delete
'tmbURL' => '',
[356] Fix | Delete
// thumbnails size (px)
[357] Fix | Delete
'tmbSize' => 48,
[358] Fix | Delete
// thumbnails crop (true - crop, false - scale image to fit thumbnail size)
[359] Fix | Delete
'tmbCrop' => true,
[360] Fix | Delete
// thumbnail URL require custom data as the GET query
[361] Fix | Delete
'tmbReqCustomData' => false,
[362] Fix | Delete
// thumbnails background color (hex #rrggbb or 'transparent')
[363] Fix | Delete
'tmbBgColor' => 'transparent',
[364] Fix | Delete
// image rotate fallback background color (hex #rrggbb)
[365] Fix | Delete
'bgColorFb' => '#ffffff',
[366] Fix | Delete
// image manipulations library (imagick|gd|convert|auto|none, none - Does not check the image library at all.)
[367] Fix | Delete
'imgLib' => 'auto',
[368] Fix | Delete
// Fallback self image to thumbnail (nothing imgLib)
[369] Fix | Delete
'tmbFbSelf' => true,
[370] Fix | Delete
// Video to Image converters ['TYPE or MIME' => ['func' => function($file){ /* Converts $file to Image */ return true; }, 'maxlen' => (int)TransferLength]]
[371] Fix | Delete
'imgConverter' => array(),
[372] Fix | Delete
// Max length of transfer to image converter
[373] Fix | Delete
'tmbVideoConvLen' => 10000000,
[374] Fix | Delete
// Captre point seccond
[375] Fix | Delete
'tmbVideoConvSec' => 6,
[376] Fix | Delete
// Life time (hour) for thumbnail garbage collection ("0" means no GC)
[377] Fix | Delete
'tmbGcMaxlifeHour' => 0,
[378] Fix | Delete
// Percentage of garbage collection executed for thumbnail creation command ("1" means "1%")
[379] Fix | Delete
'tmbGcPercentage' => 1,
[380] Fix | Delete
// Resource path of fallback icon images defailt: php/resouces
[381] Fix | Delete
'resourcePath' => '',
[382] Fix | Delete
// Jpeg image saveing quality
[383] Fix | Delete
'jpgQuality' => 100,
[384] Fix | Delete
// Save as progressive JPEG on image editing
[385] Fix | Delete
'jpgProgressive' => true,
[386] Fix | Delete
// enable to get substitute image with command `dim`
[387] Fix | Delete
'substituteImg' => true,
[388] Fix | Delete
// on paste file - if true - old file will be replaced with new one, if false new file get name - original_name-number.ext
[389] Fix | Delete
'copyOverwrite' => true,
[390] Fix | Delete
// if true - join new and old directories content on paste
[391] Fix | Delete
'copyJoin' => true,
[392] Fix | Delete
// on upload - if true - old file will be replaced with new one, if false new file get name - original_name-number.ext
[393] Fix | Delete
'uploadOverwrite' => true,
[394] Fix | Delete
// mimetypes allowed to upload
[395] Fix | Delete
'uploadAllow' => array(),
[396] Fix | Delete
// mimetypes not allowed to upload
[397] Fix | Delete
'uploadDeny' => array(),
[398] Fix | Delete
// order to process uploadAllow and uploadDeny options
[399] Fix | Delete
'uploadOrder' => array('deny', 'allow'),
[400] Fix | Delete
// maximum upload file size. NOTE - this is size for every uploaded files
[401] Fix | Delete
'uploadMaxSize' => 0,
[402] Fix | Delete
// Maximum number of folders that can be created at one time. (0: unlimited)
[403] Fix | Delete
'uploadMaxMkdirs' => 0,
[404] Fix | Delete
// maximum number of chunked upload connection. `-1` to disable chunked upload
[405] Fix | Delete
'uploadMaxConn' => 3,
[406] Fix | Delete
// maximum get file size. NOTE - Maximum value is 50% of PHP memory_limit
[407] Fix | Delete
'getMaxSize' => 0,
[408] Fix | Delete
// files dates format
[409] Fix | Delete
'dateFormat' => 'j M Y H:i',
[410] Fix | Delete
// files time format
[411] Fix | Delete
'timeFormat' => 'H:i',
[412] Fix | Delete
// if true - every folder will be check for children folders, -1 - every folder will be check asynchronously, false - all folders will be marked as having subfolders
[413] Fix | Delete
'checkSubfolders' => true, // true, false or -1
[414] Fix | Delete
// allow to copy from this volume to other ones?
[415] Fix | Delete
'copyFrom' => true,
[416] Fix | Delete
// allow to copy from other volumes to this one?
[417] Fix | Delete
'copyTo' => true,
[418] Fix | Delete
// cmd duplicate suffix format e.g. '_%s_' to without spaces
[419] Fix | Delete
'duplicateSuffix' => ' %s ',
[420] Fix | Delete
// unique name numbar format e.g. '(%d)' to (1), (2)...
[421] Fix | Delete
'uniqueNumFormat' => '%d',
[422] Fix | Delete
// list of commands disabled on this root
[423] Fix | Delete
'disabled' => array(),
[424] Fix | Delete
// enable file owner, group & mode info, `false` to inactivate "chmod" command.
[425] Fix | Delete
'statOwner' => false,
[426] Fix | Delete
// allow exec chmod of read-only files
[427] Fix | Delete
'allowChmodReadOnly' => false,
[428] Fix | Delete
// regexp or function name to validate new file name
[429] Fix | Delete
'acceptedName' => '/^[^\.].*/', // Notice: overwritten it in some volume drivers contractor
[430] Fix | Delete
// regexp or function name to validate new directory name
[431] Fix | Delete
'acceptedDirname' => '', // used `acceptedName` if empty value
[432] Fix | Delete
// function/class method to control files permissions
[433] Fix | Delete
'accessControl' => null,
[434] Fix | Delete
// some data required by access control
[435] Fix | Delete
'accessControlData' => null,
[436] Fix | Delete
// root stat that return without asking the system when mounted and not the current volume. Query to the system with false. array|false
[437] Fix | Delete
'rapidRootStat' => array(
[438] Fix | Delete
'read' => true,
[439] Fix | Delete
'write' => true,
[440] Fix | Delete
'locked' => false,
[441] Fix | Delete
'hidden' => false,
[442] Fix | Delete
'size' => 0, // Unknown
[443] Fix | Delete
'ts' => 0, // Unknown
[444] Fix | Delete
'dirs' => -1, // Check on demand for subdirectories
[445] Fix | Delete
'mime' => 'directory'
[446] Fix | Delete
),
[447] Fix | Delete
// default permissions.
[448] Fix | Delete
'defaults' => array(
[449] Fix | Delete
'read' => true,
[450] Fix | Delete
'write' => true,
[451] Fix | Delete
'locked' => false,
[452] Fix | Delete
'hidden' => false
[453] Fix | Delete
),
[454] Fix | Delete
// files attributes
[455] Fix | Delete
'attributes' => array(),
[456] Fix | Delete
// max allowed archive files size (0 - no limit)
[457] Fix | Delete
'maxArcFilesSize' => '2G',
[458] Fix | Delete
// Allowed archive's mimetypes to create. Leave empty for all available types.
[459] Fix | Delete
'archiveMimes' => array(),
[460] Fix | Delete
// Manual config for archivers. See example below. Leave empty for auto detect
[461] Fix | Delete
'archivers' => array(),
[462] Fix | Delete
// Use Archive function for remote volume
[463] Fix | Delete
'useRemoteArchive' => false,
[464] Fix | Delete
// plugin settings
[465] Fix | Delete
'plugin' => array(),
[466] Fix | Delete
// Is support parent directory time stamp update on add|remove|rename item
[467] Fix | Delete
// Default `null` is auto detection that is LocalFileSystem, FTP or Dropbox are `true`
[468] Fix | Delete
'syncChkAsTs' => null,
[469] Fix | Delete
// Long pooling sync checker function for syncChkAsTs is true
[470] Fix | Delete
// Calls with args (TARGET DIRCTORY PATH, STAND-BY(sec), OLD TIMESTAMP, VOLUME DRIVER INSTANCE, ELFINDER INSTANCE)
[471] Fix | Delete
// This function must return the following values. Changed: New Timestamp or Same: Old Timestamp or Error: false
[472] Fix | Delete
// Default `null` is try use elFinderVolumeLocalFileSystem::localFileSystemInotify() on LocalFileSystem driver
[473] Fix | Delete
// another driver use elFinder stat() checker
[474] Fix | Delete
'syncCheckFunc' => null,
[475] Fix | Delete
// Long polling sync stand-by time (sec)
[476] Fix | Delete
'plStandby' => 30,
[477] Fix | Delete
// Sleep time (sec) for elFinder stat() checker (syncChkAsTs is true)
[478] Fix | Delete
'tsPlSleep' => 10,
[479] Fix | Delete
// Sleep time (sec) for elFinder ls() checker (syncChkAsTs is false)
[480] Fix | Delete
'lsPlSleep' => 30,
[481] Fix | Delete
// Client side sync interval minimum (ms)
[482] Fix | Delete
// Default `null` is auto set to ('tsPlSleep' or 'lsPlSleep') * 1000
[483] Fix | Delete
// `0` to disable auto sync
[484] Fix | Delete
'syncMinMs' => null,
[485] Fix | Delete
// required to fix bug on macos
[486] Fix | Delete
// However, we recommend to use the Normalizer plugin instead this option
[487] Fix | Delete
'utf8fix' => false,
[488] Fix | Delete
// й ё Й Ё Ø Å
[489] Fix | Delete
'utf8patterns' => array("\u0438\u0306", "\u0435\u0308", "\u0418\u0306", "\u0415\u0308", "\u00d8A", "\u030a"),
[490] Fix | Delete
'utf8replace' => array("\u0439", "\u0451", "\u0419", "\u0401", "\u00d8", "\u00c5"),
[491] Fix | Delete
// cache control HTTP headers for commands `file` and `get`
[492] Fix | Delete
'cacheHeaders' => array(
[493] Fix | Delete
'Cache-Control: max-age=3600',
[494] Fix | Delete
'Expires:',
[495] Fix | Delete
'Pragma:'
[496] Fix | Delete
),
[497] Fix | Delete
// Header to use to accelerate sending local files to clients (e.g. 'X-Sendfile', 'X-Accel-Redirect')
[498] Fix | Delete
'xsendfile' => '',
[499] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function