Chris@0: username = $username; Chris@0: $this->password = $password; Chris@0: $this->hostname = $hostname; Chris@0: $this->port = $port; Chris@0: parent::__construct($jail); Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public static function factory($jail, $settings) { Chris@0: $username = empty($settings['username']) ? '' : $settings['username']; Chris@0: $password = empty($settings['password']) ? '' : $settings['password']; Chris@0: $hostname = empty($settings['advanced']['hostname']) ? 'localhost' : $settings['advanced']['hostname']; Chris@0: $port = empty($settings['advanced']['port']) ? 21 : $settings['advanced']['port']; Chris@0: Chris@0: if (function_exists('ftp_connect')) { Chris@0: $class = 'Drupal\Core\FileTransfer\FTPExtension'; Chris@0: } Chris@0: else { Chris@0: throw new FileTransferException('No FTP backend available.'); Chris@0: } Chris@0: Chris@0: return new $class($jail, $username, $password, $hostname, $port); Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function getSettingsForm() { Chris@0: $form = parent::getSettingsForm(); Chris@0: $form['advanced']['port']['#default_value'] = 21; Chris@0: return $form; Chris@0: } Chris@0: Chris@0: }