abstract class FileTransferFTP

Base class for FTP implementations.

Hierarchy

Expanded class hierarchy of FileTransferFTP

1 string reference to 'FileTransferFTP'
system_filetransfer_info in drupal-7.x/modules/system/system.module
Implements hook_filetransfer_info().

File

drupal-7.x/includes/filetransfer/ftp.inc, line 6

View source
abstract class FileTransferFTP extends FileTransfer {

  public function __construct($jail, $username, $password, $hostname, $port) {
    $this->username = $username;
    $this->password = $password;
    $this->hostname = $hostname;
    $this->port = $port;
    parent::__construct($jail);
  }

  /**
   * Return an object which can implement the FTP protocol.
   *
   * @param string $jail
   * @param array $settings
   * @return FileTransferFTP
   *   The appropriate FileTransferFTP subclass based on the available
   *   options. If the FTP PHP extension is available, use it.
   */
  static function factory($jail, $settings) {
    $username = empty($settings['username']) ? '' : $settings['username'];
    $password = empty($settings['password']) ? '' : $settings['password'];
    $hostname = empty($settings['advanced']['hostname']) ? 'localhost' : $settings['advanced']['hostname'];
    $port = empty($settings['advanced']['port']) ? 21 : $settings['advanced']['port'];

    if (function_exists('ftp_connect')) {
      $class = 'FileTransferFTPExtension';
    }
    else {
      throw new FileTransferException('No FTP backend available.');
    }

    return new $class($jail, $username, $password, $hostname, $port);
  }

  /**
   * Returns the form to configure the FileTransfer class for FTP.
   */
  public function getSettingsForm() {
    $form = parent::getSettingsForm();
    $form['advanced']['port']['#default_value'] = 21;
    return $form;
  }
}

Members

Contains filters are case sensitive
Namesort descending Modifiers Type Description
FileTransfer::$hostname protected property
FileTransfer::$password protected property
FileTransfer::$port protected property
FileTransfer::$username protected property
FileTransfer::checkPath protected final function Checks that the path is inside the jail and throws an exception if not.
FileTransfer::chmod public final function
FileTransfer::connect abstract protected function Connect to the server.
FileTransfer::copyDirectory public final function Copies a directory.
FileTransfer::copyDirectoryJailed protected function Copies a directory.
FileTransfer::copyFile public final function Copies a file.
FileTransfer::copyFileJailed abstract protected function Copies a file.
FileTransfer::createDirectory public final function Creates a directory.
FileTransfer::createDirectoryJailed abstract protected function Creates a directory.
FileTransfer::findChroot function Return the chroot property for this connection.
FileTransfer::fixRemotePath protected final function Returns a modified path suitable for passing to the server. If a path is a windows path, makes it POSIX compliant by removing the drive letter. If $this->chroot has a value, it is stripped from the path to allow for chroot'd filetransfer systems.
FileTransfer::isDirectory abstract public function Checks if a particular path is a directory
FileTransfer::isFile abstract public function Checks if a particular path is a file (not a directory).
FileTransfer::removeDirectory public final function Removes a directory.
FileTransfer::removeDirectoryJailed abstract protected function Removes a directory.
FileTransfer::removeFile public final function Removes a file.
FileTransfer::removeFileJailed abstract protected function Removes a file.
FileTransfer::sanitizePath function Changes backslashes to slashes, also removes a trailing slash.
FileTransfer::setChroot function Sets the chroot and changes the jail to match the correct path scheme
FileTransfer::__get function Implementation of the magic __get() method.
FileTransferFTP::factory static function Return an object which can implement the FTP protocol. Overrides FileTransfer::factory
FileTransferFTP::getSettingsForm public function Returns the form to configure the FileTransfer class for FTP. Overrides FileTransfer::getSettingsForm
FileTransferFTP::__construct public function The constructor for the UpdateConnection class. This method is also called from the classes that extend this class and override this method. Overrides FileTransfer::__construct