1 local.inc | public FileTransferLocal::chmodJailed($path, $mode, $recursive) |
Changes the permissions of the file / directory specified in $path
Parameters
string $path: Path to change permissions of.
int $mode: The new file permission mode to be passed to chmod().
boolean $recursive: Pass TRUE to recursively chmod the entire directory specified in $path.
Overrides FileTransferChmodInterface::chmodJailed
File
- core/
includes/ filetransfer/ local.inc, line 64
Class
- FileTransferLocal
- The local connection class for copying files as the httpd user.
Code
public function chmodJailed($path, $mode, $recursive) {
if ($recursive && is_dir($path)) {
foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path, FilesystemIterator::SKIP_DOTS), RecursiveIteratorIterator::SELF_FIRST) as $filename => $file) {
if (@!chmod($filename, $mode)) {
throw new FileTransferException('Cannot chmod %path.', NULL, array('%path' => $filename));
}
}
}
elseif (@!chmod($path, $mode)) {
throw new FileTransferException('Cannot chmod %path.', NULL, array('%path' => $path));
}
}