1 ftp.inc FileTransferFTPExtension::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/ftp.inc, line 123

Class

FileTransferFTPExtension

Code

function chmodJailed($path, $mode, $recursive) {
  if (!ftp_chmod($this->connection, $mode, $path)) {
    throw new FileTransferException("Unable to set permissions on %file", NULL, array('%file' => $path));
  }
  if ($this->isDirectory($path) && $recursive) {
    $filelist = @ftp_nlist($this->connection, $path);
    if (!$filelist) {
      //empty directory - returns false
      return;
    }
    foreach ($filelist as $file) {
      $this->chmodJailed($file, $mode, $recursive);
    }
  }
}