Mercurial > hg > isophonics-drupal-site
annotate core/lib/Drupal/Core/FileTransfer/FTP.php @ 19:fa3358dc1485 tip
Add ndrum files
author | Chris Cannam |
---|---|
date | Wed, 28 Aug 2019 13:14:47 +0100 |
parents | 4c8ae668cc8c |
children |
rev | line source |
---|---|
Chris@0 | 1 <?php |
Chris@0 | 2 |
Chris@0 | 3 namespace Drupal\Core\FileTransfer; |
Chris@0 | 4 |
Chris@0 | 5 /** |
Chris@0 | 6 * Defines the base class for FTP implementations. |
Chris@0 | 7 */ |
Chris@0 | 8 abstract class FTP extends FileTransfer { |
Chris@0 | 9 |
Chris@0 | 10 /** |
Chris@0 | 11 * {@inheritdoc} |
Chris@0 | 12 */ |
Chris@0 | 13 public function __construct($jail, $username, $password, $hostname, $port) { |
Chris@0 | 14 $this->username = $username; |
Chris@0 | 15 $this->password = $password; |
Chris@0 | 16 $this->hostname = $hostname; |
Chris@0 | 17 $this->port = $port; |
Chris@0 | 18 parent::__construct($jail); |
Chris@0 | 19 } |
Chris@0 | 20 |
Chris@0 | 21 /** |
Chris@0 | 22 * {@inheritdoc} |
Chris@0 | 23 */ |
Chris@0 | 24 public static function factory($jail, $settings) { |
Chris@0 | 25 $username = empty($settings['username']) ? '' : $settings['username']; |
Chris@0 | 26 $password = empty($settings['password']) ? '' : $settings['password']; |
Chris@0 | 27 $hostname = empty($settings['advanced']['hostname']) ? 'localhost' : $settings['advanced']['hostname']; |
Chris@0 | 28 $port = empty($settings['advanced']['port']) ? 21 : $settings['advanced']['port']; |
Chris@0 | 29 |
Chris@0 | 30 if (function_exists('ftp_connect')) { |
Chris@0 | 31 $class = 'Drupal\Core\FileTransfer\FTPExtension'; |
Chris@0 | 32 } |
Chris@0 | 33 else { |
Chris@0 | 34 throw new FileTransferException('No FTP backend available.'); |
Chris@0 | 35 } |
Chris@0 | 36 |
Chris@0 | 37 return new $class($jail, $username, $password, $hostname, $port); |
Chris@0 | 38 } |
Chris@0 | 39 |
Chris@0 | 40 /** |
Chris@0 | 41 * {@inheritdoc} |
Chris@0 | 42 */ |
Chris@0 | 43 public function getSettingsForm() { |
Chris@0 | 44 $form = parent::getSettingsForm(); |
Chris@0 | 45 $form['advanced']['port']['#default_value'] = 21; |
Chris@0 | 46 return $form; |
Chris@0 | 47 } |
Chris@0 | 48 |
Chris@0 | 49 } |