Documentation TYPO3 par Ameos |
Public Member Functions | |
init ($mounts, $f_ext) | |
getTotalFileInfo ($wholePath) | |
is_allowed ($iconkey, $type) | |
checkIfFullAccess ($theDest) | |
is_webpath ($path) | |
checkIfAllowed ($ext, $theDest, $filename='') | |
checkFileNameLen ($fileName) | |
is_directory ($theDir) | |
isPathValid ($theFile) | |
getUniqueName ($theFile, $theDest, $dontCheckForUnique=0) | |
checkPathAgainstMounts ($thePath) | |
findFirstWebFolder () | |
blindPath ($thePath) | |
findTempFolder () | |
cleanDirectoryName ($theDir) | |
rmDoubleSlash ($string) | |
slashPath ($path) | |
cleanFileName ($fileName, $charset='') | |
formatSize ($sizeInBytes) | |
Public Attributes | |
$getUniqueNamePrefix = '' | |
$maxNumber = 99 | |
$uniquePrecision = 6 | |
$maxInputNameLen = 60 | |
$tempFN = '_temp_' | |
$f_ext = Array() | |
$mounts = Array() | |
$webPath = '' | |
$isInit = 0 |
Definition at line 81 of file class.t3lib_basicfilefunc.php.
t3lib_basicFileFunctions::init | ( | $ | mounts, | |
$ | f_ext | |||
) |
Constructor This function should be called to initialise the internal arrays $this->mounts and $this->f_ext
A typical example of the array $mounts is this: $mounts[xx][path] = (..a mounted path..) the 'xx'-keys is just numerical from zero. There are also a [name] and [type] value that just denotes the mountname and type. Not used for athentication here. $this->mounts is traversed in the function checkPathAgainstMounts($thePath), and it is checked that $thePath is actually below one of the mount-paths The mountpaths are with a trailing '/'. $thePath must be with a trailing '/' also! As you can see, $this->mounts is very critical! This is the array that decides where the user will be allowed to copy files!! Typically the global var $WEBMOUNTS would be passed along as $mounts
A typical example of the array $f_ext is this: $f_ext['webspace']['allow']=''; $f_ext['webspace']['deny']='php3,php'; $f_ext['ftpspace']['allow']='*'; $f_ext['ftpspace']['deny']=''; The control of fileextensions goes in two catagories. Webspace and Ftpspace. Webspace is folders accessible from a webbrowser (below TYPO3_DOCUMENT_ROOT) and ftpspace is everything else. The control is done like this: If an extension matches 'allow' then the check returns true. If not and an extension matches 'deny' then the check return false. If no match at all, returns true. You list extensions comma-separated. If the value is a '*' every extension is allowed The list is case-insensitive when used in this class (see init()) Typically TYPO3_CONF_VARS['BE']['fileExtensions'] would be passed along as $f_ext.
Example: $basicff->init($GLOBALS['FILEMOUNTS'],$TYPO3_CONF_VARS['BE']['fileExtensions']);
array | Contains the paths of the file mounts for the current BE user. Normally $GLOBALS['FILEMOUNTS'] is passed. This variable is set during backend user initialization; $FILEMOUNTS = $BE_USER->returnFilemounts(); (see typo3/init.php) | |
array | Array with information about allowed and denied file extensions. Typically passed: $TYPO3_CONF_VARS['BE']['fileExtensions'] |
Definition at line 133 of file class.t3lib_basicfilefunc.php.
References $f_ext, $mounts, t3lib_div::getIndpEnv(), and t3lib_div::uniqueList().
t3lib_basicFileFunctions::getTotalFileInfo | ( | $ | wholePath | ) |
Returns an array with a whole lot of fileinformation.
string | Filepath to existing file. Should probably be absolute. Filefunctions are performed on this value. |
Definition at line 152 of file class.t3lib_basicfilefunc.php.
References t3lib_div::split_fileref().
t3lib_basicFileFunctions::is_allowed | ( | $ | iconkey, | |
$ | type | |||
) |
Checks if a $iconkey (fileextension) is allowed according to $this->f_ext.
string | The extension to check, eg. "php" or "html" etc. | |
string | Either "webspage" or "ftpspace" - points to a key in $this->f_ext |
Definition at line 172 of file class.t3lib_basicfilefunc.php.
References t3lib_div::inList().
Referenced by checkIfAllowed().
t3lib_basicFileFunctions::checkIfFullAccess | ( | $ | theDest | ) |
Returns true if you can operate of ANY file ('*') in the space $theDest is in ('webspace' / 'ftpspace')
string | Absolute path |
Definition at line 197 of file class.t3lib_basicfilefunc.php.
References is_webpath().
Referenced by t3lib_extFileFunctions::func_copy(), t3lib_extFileFunctions::func_move(), and t3lib_extFileFunctions::func_unzip().
t3lib_basicFileFunctions::is_webpath | ( | $ | path | ) |
Checks if $this->webPath (should be TYPO3_DOCUMENT_ROOT) is in the first part of $path Returns true also if $this->init is not set or if $path is empty...
string | Absolute path to check |
Definition at line 211 of file class.t3lib_basicfilefunc.php.
References t3lib_div::isFirstPartOfStr(), and slashPath().
Referenced by checkIfAllowed(), and checkIfFullAccess().
t3lib_basicFileFunctions::checkIfAllowed | ( | $ | ext, | |
$ | theDest, | |||
$ | filename = '' | |||
) |
If the filename is given, check it against the TYPO3_CONF_VARS[BE][fileDenyPattern] + Checks if the $ext fileextension is allowed in the path $theDest (this is based on whether $theDest is below the $this->webPath)
string | File extension, eg. "php" or "html" | |
string | Absolute path for which to test | |
string | Filename to check against TYPO3_CONF_VARS[BE][fileDenyPattern] |
Definition at line 231 of file class.t3lib_basicfilefunc.php.
References is_allowed(), is_webpath(), and t3lib_div::verifyFilenameAgainstDenyPattern().
Referenced by t3lib_extFileFunctions::func_copy(), t3lib_extFileFunctions::func_edit(), t3lib_extFileFunctions::func_move(), t3lib_extFileFunctions::func_newfile(), t3lib_extFileFunctions::func_rename(), and t3lib_extFileFunctions::func_upload().
t3lib_basicFileFunctions::checkFileNameLen | ( | $ | fileName | ) |
Returns true if the input filename string is shorter than $this->maxInputNameLen.
string | Filename, eg "somefile.html" |
Definition at line 241 of file class.t3lib_basicfilefunc.php.
Referenced by t3lib_extFileFunctions::func_newfile(), t3lib_extFileFunctions::func_newfolder(), and t3lib_extFileFunctions::func_rename().
t3lib_basicFileFunctions::is_directory | ( | $ | theDir | ) |
Cleans $theDir for slashes in the end of the string and returns the new path, if it exists on the server.
string | Directory path to check |
Definition at line 251 of file class.t3lib_basicfilefunc.php.
References cleanDirectoryName(), and isPathValid().
Referenced by t3lib_extFileFunctions::func_copy(), t3lib_extFileFunctions::func_delete(), t3lib_extFileFunctions::func_move(), t3lib_extFileFunctions::func_newfile(), t3lib_extFileFunctions::func_newfolder(), t3lib_extFileFunctions::func_unzip(), t3lib_extFileFunctions::func_upload(), and getUniqueName().
t3lib_basicFileFunctions::isPathValid | ( | $ | theFile | ) |
Wrapper for t3lib_div::validPathStr()
string | Filepath to evaluate |
Definition at line 268 of file class.t3lib_basicfilefunc.php.
References t3lib_div::validPathStr().
Referenced by checkPathAgainstMounts(), t3lib_extFileFunctions::findRecycler(), t3lib_extFileFunctions::func_copy(), t3lib_extFileFunctions::func_delete(), t3lib_extFileFunctions::func_move(), and is_directory().
t3lib_basicFileFunctions::getUniqueName | ( | $ | theFile, | |
$ | theDest, | |||
$ | dontCheckForUnique = 0 | |||
) |
Returns the destination path/filename of a unique filename/foldername in that path. If $theFile exists in $theDest (directory) the file have numbers appended up to $this->maxNumber. Hereafter a unique string will be appended. This function is used by fx. TCEmain when files are attached to records and needs to be uniquely named in the uploads/* folders
string | The input filename to check | |
string | The directory for which to return a unique filename for $theFile. $theDest MUST be a valid directory. Should be absolute. | |
boolean | If set the filename is returned with the path prepended without checking whether it already existed! |
Definition at line 283 of file class.t3lib_basicfilefunc.php.
References is_directory(), and t3lib_div::split_fileref().
Referenced by t3lib_extFileFunctions::func_copy(), t3lib_extFileFunctions::func_move(), and t3lib_extFileFunctions::func_upload().
t3lib_basicFileFunctions::checkPathAgainstMounts | ( | $ | thePath | ) |
Checks if $thePath is a path under one of the paths in $this->mounts See comment in the header of this class.
string | $thePath MUST HAVE a trailing '/' in order to match correctly with the mounts |
Definition at line 326 of file class.t3lib_basicfilefunc.php.
References t3lib_div::isFirstPartOfStr(), and isPathValid().
Referenced by blindPath(), t3lib_extFileFunctions::findRecycler(), t3lib_extFileFunctions::func_copy(), t3lib_extFileFunctions::func_delete(), t3lib_extFileFunctions::func_edit(), t3lib_extFileFunctions::func_move(), t3lib_extFileFunctions::func_newfile(), t3lib_extFileFunctions::func_newfolder(), t3lib_extFileFunctions::func_rename(), t3lib_extFileFunctions::func_unzip(), and t3lib_extFileFunctions::func_upload().
t3lib_basicFileFunctions::findFirstWebFolder | ( | ) |
Find first web folder (relative to PATH_site.'fileadmin') in filemounts array
Definition at line 342 of file class.t3lib_basicfilefunc.php.
References t3lib_div::isFirstPartOfStr().
t3lib_basicFileFunctions::blindPath | ( | $ | thePath | ) |
Removes filemount part of a path, thus blinding the position. Takes a path, $thePath, and removes the part of the path which equals the filemount.
string | $thePath is a path which MUST be found within one of the internally set filemounts, $this->mounts |
Definition at line 362 of file class.t3lib_basicfilefunc.php.
References checkPathAgainstMounts().
t3lib_basicFileFunctions::findTempFolder | ( | ) |
Find temporary folder Finds the first $this->tempFN ('_temp_' usually) -folder in the internal array of filemounts, $this->mounts
Definition at line 378 of file class.t3lib_basicfilefunc.php.
t3lib_basicFileFunctions::cleanDirectoryName | ( | $ | theDir | ) |
Removes all dots, slashes and spaces after a path...
string | Input string |
Definition at line 412 of file class.t3lib_basicfilefunc.php.
References rmDoubleSlash().
Referenced by t3lib_extFileFunctions::findRecycler(), and is_directory().
t3lib_basicFileFunctions::rmDoubleSlash | ( | $ | string | ) |
Converts any double slashes (//) to a single slash (/)
string | Input value |
Definition at line 422 of file class.t3lib_basicfilefunc.php.
Referenced by cleanDirectoryName().
t3lib_basicFileFunctions::slashPath | ( | $ | path | ) |
Returns a string which has a slash '/' appended if it doesn't already have that slash
string | Input string |
Definition at line 432 of file class.t3lib_basicfilefunc.php.
Referenced by is_webpath().
t3lib_basicFileFunctions::cleanFileName | ( | $ | fileName, | |
$ | charset = '' | |||
) |
Returns a string where any character not matching [.a-zA-Z0-9_-] is substituted by '_'
string | Input string, typically the body of a filename | |
string | Charset of the a filename (defaults to current charset; depending on context) |
Definition at line 446 of file class.t3lib_basicfilefunc.php.
References t3lib_div::makeInstance().
Referenced by t3lib_extFileFunctions::func_newfile(), t3lib_extFileFunctions::func_newfolder(), t3lib_extFileFunctions::func_rename(), and t3lib_extFileFunctions::func_upload().
t3lib_basicFileFunctions::formatSize | ( | $ | sizeInBytes | ) |
Formats an integer, $sizeInBytes, to Mb or Kb or just bytes
integer | Bytes to be formated |
Definition at line 486 of file class.t3lib_basicfilefunc.php.