diff --git a/administrator/components/com_installer/tmpl/update/default.php b/administrator/components/com_installer/tmpl/update/default.php
index d75f2f19dff67..0feac5f24e9f4 100644
--- a/administrator/components/com_installer/tmpl/update/default.php
+++ b/administrator/components/com_installer/tmpl/update/default.php
@@ -31,9 +31,6 @@
showMessage) : ?>
loadTemplate('message'); ?>
- ftp) : ?>
- loadTemplate('ftp'); ?>
-
$this)); ?>
items)) : ?>
diff --git a/administrator/components/com_languages/src/Model/InstalledModel.php b/administrator/components/com_languages/src/Model/InstalledModel.php
index bea4e01c46ba8..989172d9e60ef 100644
--- a/administrator/components/com_languages/src/Model/InstalledModel.php
+++ b/administrator/components/com_languages/src/Model/InstalledModel.php
@@ -12,7 +12,6 @@
\defined('_JEXEC') or die;
use Joomla\CMS\Application\ApplicationHelper;
-use Joomla\CMS\Client\ClientHelper;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Factory;
use Joomla\CMS\Filesystem\Folder;
@@ -35,11 +34,6 @@ class InstalledModel extends ListModel
*/
protected $user = null;
- /**
- * @var boolean|\JExeption True, if FTP settings should be shown, or an exception
- */
- protected $ftp = null;
-
/**
* @var string option name
*/
@@ -155,23 +149,6 @@ public function getClient()
return ApplicationHelper::getClientInfo($this->getState('client_id', 0));
}
- /**
- * Method to get the ftp credentials.
- *
- * @return object
- *
- * @since 1.6
- */
- public function getFtp()
- {
- if (is_null($this->ftp))
- {
- $this->ftp = ClientHelper::setCredentialsFromRequest('ftp');
- }
-
- return $this->ftp;
- }
-
/**
* Method to get the option.
*
diff --git a/administrator/components/com_languages/src/View/Installed/HtmlView.php b/administrator/components/com_languages/src/View/Installed/HtmlView.php
index 632a33774863d..161cc81309e07 100644
--- a/administrator/components/com_languages/src/View/Installed/HtmlView.php
+++ b/administrator/components/com_languages/src/View/Installed/HtmlView.php
@@ -25,13 +25,6 @@
*/
class HtmlView extends BaseHtmlView
{
- /**
- * True, if FTP settings should be shown, or an exception.
- *
- * @var boolean|\Exception
- */
- protected $ftp = null;
-
/**
* Option (component) name
*
@@ -86,7 +79,6 @@ class HtmlView extends BaseHtmlView
*/
public function display($tpl = null)
{
- $this->ftp = $this->get('Ftp');
$this->option = $this->get('Option');
$this->pagination = $this->get('Pagination');
$this->rows = $this->get('Data');
diff --git a/administrator/components/com_templates/src/Controller/TemplateController.php b/administrator/components/com_templates/src/Controller/TemplateController.php
index 7240bdda7c208..2c49a37e10084 100644
--- a/administrator/components/com_templates/src/Controller/TemplateController.php
+++ b/administrator/components/com_templates/src/Controller/TemplateController.php
@@ -12,7 +12,6 @@
\defined('_JEXEC') or die;
use Joomla\CMS\Application\CMSApplication;
-use Joomla\CMS\Client\ClientHelper;
use Joomla\CMS\Filesystem\Path;
use Joomla\CMS\Filter\InputFilter;
use Joomla\CMS\Language\Text;
@@ -183,9 +182,6 @@ public function copy()
return false;
}
- // Set FTP credentials, if given
- ClientHelper::setCredentialsFromRequest('ftp');
-
// Check that new name is valid
if (($newNameRaw !== null) && ($newName !== $newNameRaw))
{
diff --git a/administrator/language/en-GB/com_config.ini b/administrator/language/en-GB/com_config.ini
index 5d706f6565561..3dd3553c58711 100644
--- a/administrator/language/en-GB/com_config.ini
+++ b/administrator/language/en-GB/com_config.ini
@@ -83,12 +83,6 @@ COM_CONFIG_FIELD_FILTERS_NO_HTML="No HTML"
COM_CONFIG_FIELD_FILTERS_ALLOWED_LIST="Allowed List"
COM_CONFIG_FIELD_FORCE_SSL_LABEL="Force HTTPS"
COM_CONFIG_FIELD_FORCE_SSL_DESC="HTTPS must be enabled on your server or load balancer to utilise this option. Enable 'Behind Load Balancer' if your SSL terminates on your load balancer but your site is served on http on its webserver."
-COM_CONFIG_FIELD_FTP_ENABLE_LABEL="Enable FTP"
-COM_CONFIG_FIELD_FTP_HOST_LABEL="FTP Host"
-COM_CONFIG_FIELD_FTP_PASSWORD_LABEL="FTP Password"
-COM_CONFIG_FIELD_FTP_PORT_LABEL="FTP Port"
-COM_CONFIG_FIELD_FTP_ROOT_LABEL="FTP Root"
-COM_CONFIG_FIELD_FTP_USERNAME_LABEL="FTP Username"
COM_CONFIG_FIELD_GZIP_COMPRESSION_LABEL="Gzip Page Compression"
COM_CONFIG_FIELD_HTMLBODY_LABEL="HTML Body"
COM_CONFIG_FIELD_LOADBALANCER_ENABLE_DESC="If your site is behind a load balancer or reverse proxy, enable this setting so that IP addresses and other configurations within Joomla automatically take this into account."
@@ -194,9 +188,6 @@ COM_CONFIG_FILTER_OPTION_SELECT_EXTENSION="- Select Extension -"
COM_CONFIG_FRONTEDITING_LABEL="Frontend Editing"
COM_CONFIG_FRONTEDITING_MENUSANDMODULES="Modules & Menus"
COM_CONFIG_FRONTEDITING_MODULES="Modules"
-COM_CONFIG_FTP_DETAILS="FTP Login Details"
-COM_CONFIG_FTP_DETAILS_TIP="For updating your configuration.php file, Joomla will most likely need your FTP account details. Please enter them in the form fields below."
-COM_CONFIG_FTP_SETTINGS="FTP"
COM_CONFIG_GLOBAL_CONFIGURATION="Global Configuration"
COM_CONFIG_HEADING_COMPONENT="Component"
COM_CONFIG_HEADING_DESCRIPTION="Description"
diff --git a/administrator/language/en-GB/com_installer.ini b/administrator/language/en-GB/com_installer.ini
index a902194ff533d..32a074e59572d 100644
--- a/administrator/language/en-GB/com_installer.ini
+++ b/administrator/language/en-GB/com_installer.ini
@@ -130,8 +130,6 @@ COM_INSTALLER_MSG_DATABASE_SCHEMA_VERSION="Database version (in #__schemas): %s.
COM_INSTALLER_MSG_DATABASE_SKIPPED="%s database changes did not alter table structure and were skipped."
COM_INSTALLER_MSG_DATABASE_UPDATEVERSION_ERROR="Database update version (
%1$s) does not match
%2$s version (
%3$s)."
COM_INSTALLER_MSG_DATABASE_UTF8_CONVERSION_UTF8MB4="The Joomla! Core database tables have not been converted yet to UTF-8 Multibyte (utf8mb4)."
-COM_INSTALLER_MSG_DESCFTP="For installing or uninstalling Extensions, Joomla will most likely need your FTP account details. Please enter them in the form fields below."
-COM_INSTALLER_MSG_DESCFTPTITLE="FTP Login Details"
COM_INSTALLER_MSG_DISCOVER_DESCRIPTION="Discover extensions that have not gone through the normal installation process."
COM_INSTALLER_MSG_DISCOVER_FAILEDTOPURGEEXTENSIONS="Failed to clear discovered extensions"
COM_INSTALLER_MSG_DISCOVER_INSTALLFAILED="Discover install failed."
diff --git a/administrator/language/en-GB/com_languages.ini b/administrator/language/en-GB/com_languages.ini
index a853adf2b01e3..4cb4a7e9824da 100644
--- a/administrator/language/en-GB/com_languages.ini
+++ b/administrator/language/en-GB/com_languages.ini
@@ -19,8 +19,6 @@ COM_LANGUAGES_FIELD_LANG_TAG_LABEL="Language Tag"
COM_LANGUAGES_FIELD_SITE_NAME_LABEL="Custom Site Name"
COM_LANGUAGES_FIELD_TITLE_NATIVE_LABEL="Title in Native Language"
COM_LANGUAGES_FIELDSET_SITE_NAME_LABEL="Site Name"
-COM_LANGUAGES_FTP_DESC="For setting Languages as default, Joomla will most likely need your FTP account details. Please enter them in the form fields below."
-COM_LANGUAGES_FTP_TITLE="FTP Login Details"
COM_LANGUAGES_HEADING_AUTHOR="Author"
COM_LANGUAGES_HEADING_AUTHOR_ASC="Author ascending"
COM_LANGUAGES_HEADING_AUTHOR_DESC="Author descending"
diff --git a/administrator/language/en-GB/com_templates.ini b/administrator/language/en-GB/com_templates.ini
index e907cad24f9c1..abea057ef3162 100644
--- a/administrator/language/en-GB/com_templates.ini
+++ b/administrator/language/en-GB/com_templates.ini
@@ -123,8 +123,6 @@ COM_TEMPLATES_FOLDER_ERROR="Not able to create folder."
COM_TEMPLATES_FOLDER_EXISTS="Folder with the same name already exists."
COM_TEMPLATES_FOLDER_NAME="Folder Name"
COM_TEMPLATES_FOLDER_NOT_EXISTS="The folder does not exist."
-COM_TEMPLATES_FTP_DESC="For updating the template source files, Joomla will most likely need your FTP account details. Please enter them in the form fields below."
-COM_TEMPLATES_FTP_TITLE="FTP Login Details"
COM_TEMPLATES_GD_EXTENSION_NOT_AVAILALE="The GD extension for PHP is not available.
In order to manipulate images you need additional extensions installed on your server. See the
Official Technical Requirements documentation for more details."
COM_TEMPLATES_GRID_UNSET_LANGUAGE="Unset %s Default"
COM_TEMPLATES_HEADING_ASSIGNED="Assigned"
diff --git a/installation/configuration.php-dist b/installation/configuration.php-dist
index 9cbea9d92ee44..66d88ee3a3dfd 100644
--- a/installation/configuration.php-dist
+++ b/installation/configuration.php-dist
@@ -56,12 +56,6 @@ class JConfig
public $gzip = false;
public $error_reporting = 'default';
public $helpurl = 'https://help.joomla.org/proxy?keyref=Help{major}{minor}:{keyref}&lang={langcode}';
- public $ftp_host = '';
- public $ftp_port = '';
- public $ftp_user = '';
- public $ftp_pass = '';
- public $ftp_root = '';
- public $ftp_enable = false;
public $tmp_path = '/tmp'; // This path needs to be writable by Joomla!
public $log_path = '/administrator/logs'; // This path needs to be writable by Joomla!
public $live_site = ''; // Optional, full URL to Joomla install.
diff --git a/installation/forms/preinstall.xml b/installation/forms/preinstall.xml
index 2e3d61f333058..6377a53bf4db6 100644
--- a/installation/forms/preinstall.xml
+++ b/installation/forms/preinstall.xml
@@ -10,68 +10,4 @@
onchange="Install.setlanguage();"
/>
-
-
-
-
diff --git a/installation/language/en-GB/joomla.ini b/installation/language/en-GB/joomla.ini
index 37d390a7e966b..9f2e469f9f797 100644
--- a/installation/language/en-GB/joomla.ini
+++ b/installation/language/en-GB/joomla.ini
@@ -199,7 +199,7 @@ INSTL_ERROR_INITIALISE_SCHEMA="Can't initialise database schema."
INSTL_FILE_UPLOADS="File Uploads"
INSTL_GNU_GPL_LICENSE="GNU General Public License"
INSTL_HELP_LINK="Help installing Joomla"
-INSTL_NOTICEYOUCANSTILLINSTALL="You can still continue the installation if you repair the permissions or you provide an FTP connection."
+INSTL_NOTICE_NEEDSTOBEWRITABLE="You can still continue the installation if you repair the permissions."
INSTL_OUTPUT_BUFFERING="Output Buffering"
INSTL_PHP_VERSION="PHP Version"
INSTL_PHP_VERSION_NEWER="PHP Version >= %s"
diff --git a/installation/language/en-US/joomla.ini b/installation/language/en-US/joomla.ini
index 59e0ed14598da..906c8295a312c 100644
--- a/installation/language/en-US/joomla.ini
+++ b/installation/language/en-US/joomla.ini
@@ -200,7 +200,7 @@ INSTL_ERROR_INITIALISE_SCHEMA="Can't initialise database schema."
INSTL_FILE_UPLOADS="File Uploads"
INSTL_GNU_GPL_LICENSE="GNU General Public License"
INSTL_HELP_LINK="Help installing Joomla"
-INSTL_NOTICEYOUCANSTILLINSTALL="You can still continue the installation if you repair the permissions or you provide an FTP connection."
+INSTL_NOTICE_NEEDSTOBEWRITABLE="You can still continue the installation if you repair the permissions."
INSTL_OUTPUT_BUFFERING="Output Buffering"
INSTL_PHP_VERSION="PHP Version"
INSTL_PHP_VERSION_NEWER="PHP Version >= %s"
diff --git a/installation/src/Model/ChecksModel.php b/installation/src/Model/ChecksModel.php
index eb08de3d8311d..94797f8848754 100644
--- a/installation/src/Model/ChecksModel.php
+++ b/installation/src/Model/ChecksModel.php
@@ -130,7 +130,7 @@ public function getPhpOptions()
$option = new \stdClass;
$option->label = Text::sprintf('INSTL_WRITABLE', 'configuration.php');
$option->state = $writable;
- $option->notice = $option->state ? null : Text::_('INSTL_NOTICEYOUCANSTILLINSTALL');
+ $option->notice = $option->state ? null : Text::_('INSTL_NOTICE_NEEDSTOBEWRITABLE');
$options[] = $option;
return $options;
diff --git a/installation/src/Model/ConfigurationModel.php b/installation/src/Model/ConfigurationModel.php
index 779ff4cc34fd2..027eab6090a9e 100644
--- a/installation/src/Model/ConfigurationModel.php
+++ b/installation/src/Model/ConfigurationModel.php
@@ -388,8 +388,6 @@ public function checkTestingSampledata($db)
*/
public function createConfiguration($options)
{
- $saveFtp = isset($options->ftp_save) && $options->ftp_save;
-
// Create a new registry to build the configuration options.
$registry = new Registry;
@@ -430,12 +428,6 @@ public function createConfiguration($options)
$registry->set('gzip', false);
$registry->set('error_reporting', 'default');
$registry->set('helpurl', $options->helpurl);
- $registry->set('ftp_host', $options->ftp_host ?? '');
- $registry->set('ftp_port', isset($options->ftp_host) ? $options->ftp_port : '');
- $registry->set('ftp_user', ($saveFtp && isset($options->ftp_user)) ? $options->ftp_user : '');
- $registry->set('ftp_pass', ($saveFtp && isset($options->ftp_pass)) ? $options->ftp_pass : '');
- $registry->set('ftp_root', ($saveFtp && isset($options->ftp_root)) ? $options->ftp_root : '');
- $registry->set('ftp_enable', (isset($options->ftp_host) && null === $options->ftp_host) ? $options->ftp_enable : 0);
// Locale settings.
$registry->set('offset', 'UTC');
@@ -503,21 +495,11 @@ public function createConfiguration($options)
/*
* If the file exists but isn't writable OR if the file doesn't exist and the parent directory
- * is not writable we need to use FTP.
+ * is not writable the user needs to fix this.
*/
- $useFTP = false;
-
if ((file_exists($path) && !is_writable($path)) || (!file_exists($path) && !is_writable(dirname($path) . '/')))
{
return false;
-
- // $useFTP = true;
- }
-
- // Enable/Disable override.
- if (!isset($options->ftpEnable) || ($options->ftpEnable != 1))
- {
- $useFTP = false;
}
// Get the session
diff --git a/installation/src/Model/SetupModel.php b/installation/src/Model/SetupModel.php
index 034ba775de79d..7ea706f79c2f4 100644
--- a/installation/src/Model/SetupModel.php
+++ b/installation/src/Model/SetupModel.php
@@ -61,7 +61,7 @@ public function storeOptions($options)
}
// Store passwords as a separate key that is not used in the forms
- foreach (array('admin_password', 'db_pass', 'ftp_pass') as $passwordField)
+ foreach (array('admin_password', 'db_pass') as $passwordField)
{
if (isset($options[$passwordField]))
{
diff --git a/installation/template/index.php b/installation/template/index.php
index e77872fb4f185..9850748149bc4 100644
--- a/installation/template/index.php
+++ b/installation/template/index.php
@@ -48,7 +48,6 @@
// Load the JavaScript translated messages
Text::script('INSTL_PROCESS_BUSY');
-Text::script('INSTL_FTP_SETTINGS_CORRECT');
// Load strings for translated messages (directory removal)
Text::script('INSTL_REMOVE_INST_FOLDER');
diff --git a/installation/template/js/preinstall.js b/installation/template/js/preinstall.js
deleted file mode 100644
index 333ff9450c5c3..0000000000000
--- a/installation/template/js/preinstall.js
+++ /dev/null
@@ -1,98 +0,0 @@
-/**
- * @package Joomla.Installation
- * @copyright (C) 2017 Open Source Matters, Inc.
- * @license GNU General Public License version 2 or later; see LICENSE.txt
- */
-Joomla = window.Joomla || {};
-
-// @TODO FTP???
-Joomla.installation = Joomla.installation || {};
-// Initialize the installation data
-Joomla.installation.data = {
- // FTP
- ftpUsername: "",
- ftpPassword: "",
- ftpHost: "",
- ftpPort: 21,
- ftpRoot: "/",
-};
-
-/**
- * Method to detect the FTP root via AJAX request.
- *
- * @param el The page element requesting the event
- */
-Joomla.installation.detectFtpRoot = function(el) {
- var data, task, form = document.getElementById('ftpForm');
-
- data = Joomla.serialiseForm(form); //'format: json&' +
- el.setAttribute('disabled', 'disabled');
- task = 'detectftproot';
-
- Joomla.request({
- type: "POST",
- url : Joomla.installationBaseUrl + '?task=' + task + '&format=json',
- data: data,
- perform: true,
- headers: {'Content-Type': 'application/x-www-form-urlencoded'},
- onSuccess: function(response, xhr){
- var r = JSON.parse(response);
-
- if (r) {
- Joomla.replaceTokens(r.token)
- console.log(r.messages.error)
- if (r.messages && !r.messages.error) {
- if (r.data && r.data.root) {
- document.getElementById('jform_ftp_host').value += r.data.root;
- }
- } else {
- alert(r.messages.warning);
- }
- }
- el.removeAttribute('disabled');
- },
- onError: function(xhr){
- try {
- var r = JSON.parse(xhr.responseText);
- Joomla.replaceTokens(r.token);
- alert(xhr.status + ': ' + r.message);
- } catch (e) {
- alert(xhr.status + ': ' + xhr.statusText);
- }
- }
- });
-};
-
-if (document.getElementById('showFtp')) {
- // @TODO FTP??
- document.getElementById('showFtp').classList.add('hidden');
- document.getElementById('showFtp').addEventListener('click', function(e) {
- e.preventDefault();
- if (document.getElementById('ftpOptions')) {
- document.getElementById('ftpOptions').classList.remove('hidden');
- document.getElementById('ftpOptions').scrollIntoView();
- }
- })
-}
-
-if (document.getElementById('verifybutton')) {
- document.getElementById('verifybutton').addEventListener('click', function(e) {
- e.preventDefault();
- // @TODO FTP??
- //onclick="Install.verifyFtpSettings(this);"
- var ftpForm = document.getElementById('ftpForm');
- if (ftpForm) {
- Joomla.installation.data.ftpUsername = document.getElementById('jform_ftp_user').value;
- Joomla.installation.data.ftpPassword = document.getElementById('jform_ftp_pass').value;
- Joomla.installation.data.ftpHost = document.getElementById('jform_ftp_host').value;
- Joomla.installation.data.ftpPort = document.getElementById('jform_ftp_port').value;
-
- var p, data = [];
- for(p in Joomla.installation.data) {
- data.push(Joomla.installation.data[p])
- }
- sessionStorage.setItem('installData', JSON.stringify(data));
- // get it back: JSON.parse(sessionStorage.installData)
- }
- });
-}
diff --git a/installation/template/js/template.js b/installation/template/js/template.js
index 7eff79388f2c5..e493554fdc52d 100644
--- a/installation/template/js/template.js
+++ b/installation/template/js/template.js
@@ -142,21 +142,8 @@
document.formvalidator.attachToForm(form);
});
- // Check for FTP credentials
Joomla.installation = Joomla.installation || {};
- // @todo FTP persistent data ?
- // Initialize the FTP installation data
- // if (sessionStorage && sessionStorage.getItem('installation-data')) {
- // var data = sessionStorage.getItem('installData').split(',');
- // Joomla.installation.data = {
- // ftpUsername: data[0],
- // ftpPassword: data[1],
- // ftpHost: data[2],
- // ftpPort: data[3],
- // ftpRoot: data[4]
- // };
- // }
return 'Loaded...'
};
diff --git a/installation/tmpl/preinstall/default.php b/installation/tmpl/preinstall/default.php
index 45b6218e6597a..046856d7fe49c 100644
--- a/installation/tmpl/preinstall/default.php
+++ b/installation/tmpl/preinstall/default.php
@@ -16,73 +16,28 @@
/** @var \Joomla\CMS\Installation\View\Preinstall\HtmlView $this */
?>
-
-
-
-
-
+
+
+
+
-
-
- state === false && preg_match('$configuration.php$', $option->label)) : ?>
-
diff --git a/language/en-GB/com_media.ini b/language/en-GB/com_media.ini
index 0689ee252d2c3..4644e2e01617f 100644
--- a/language/en-GB/com_media.ini
+++ b/language/en-GB/com_media.ini
@@ -29,8 +29,6 @@ COM_MEDIA_CURRENT_PROGRESS="Current progress"
COM_MEDIA_DECREASE_GRID="Decrease grid size"
COM_MEDIA_DELETE_ERROR="Error deleting the item."
COM_MEDIA_DELETE_SUCCESS="Item deleted."
-COM_MEDIA_DESCFTP="To upload, change and delete media files, Joomla! will most likely need your FTP account details. Please enter them in the form fields below."
-COM_MEDIA_DESCFTPTITLE="FTP Login Details"
COM_MEDIA_DETAIL_VIEW="Detail View"
COM_MEDIA_DIRECTORY="Folder"
COM_MEDIA_DIRECTORY_UP="Folder Up"