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