FTP.php

Same filename and directory in other branches
  1. 8.9.x core/lib/Drupal/Core/FileTransfer/FTP.php
  2. 10 core/lib/Drupal/Core/FileTransfer/FTP.php
  3. 11.x core/lib/Drupal/Core/FileTransfer/FTP.php

Namespace

Drupal\Core\FileTransfer

File

core/lib/Drupal/Core/FileTransfer/FTP.php

View source
<?php

namespace Drupal\Core\FileTransfer;


/**
 * Defines the base class for FTP implementations.
 */
abstract class FTP extends FileTransfer {
    
    /**
     * {@inheritdoc}
     */
    public function __construct($jail, $username, $password, $hostname, $port) {
        $this->username = $username;
        $this->password = $password;
        $this->hostname = $hostname;
        $this->port = $port;
        parent::__construct($jail);
    }
    
    /**
     * {@inheritdoc}
     */
    public 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 = 'Drupal\\Core\\FileTransfer\\FTPExtension';
        }
        else {
            throw new FileTransferException('No FTP backend available.');
        }
        return new $class($jail, $username, $password, $hostname, $port);
    }
    
    /**
     * {@inheritdoc}
     */
    public function getSettingsForm() {
        $form = parent::getSettingsForm();
        $form['advanced']['port']['#default_value'] = 21;
        return $form;
    }

}

Classes

Title Deprecated Summary
FTP Defines the base class for FTP implementations.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.