-
-
Notifications
You must be signed in to change notification settings - Fork 46
Closed
Description
New language relevant PR in upstream repo: joomla/joomla-cms#33390 Here are the upstream changes:
Click to expand the diff!
diff --git a/administrator/components/com_admin/script.php b/administrator/components/com_admin/script.php
index 63a89704f86a6..bcfc86e29bd95 100644
--- a/administrator/components/com_admin/script.php
+++ b/administrator/components/com_admin/script.php
@@ -6371,7 +6371,6 @@ public function deleteUnexistingFiles($dryRun = false, $suppressOutput = false)
if ($dryRun === false)
{
- // TODO There is an issue while deleting folders using the ftp mode
if (Folder::delete(JPATH_ROOT . $folder))
{
$status['folders_deleted'][] = $folder;
diff --git a/administrator/components/com_config/forms/application.xml b/administrator/components/com_config/forms/application.xml
index 5049e65620a03..caa531f25b903 100644
--- a/administrator/components/com_config/forms/application.xml
+++ b/administrator/components/com_config/forms/application.xml
@@ -373,73 +373,6 @@
/>
</fieldset>
- <fieldset name="ftp" label="CONFIG_FTP_SETTINGS_LABEL">
-
- <field
- name="ftp_enable"
- type="radio"
- label="COM_CONFIG_FIELD_FTP_ENABLE_LABEL"
- layout="joomla.form.field.radio.switcher"
- default="0"
- filter="boolean"
- >
- <option value="0">JNO</option>
- <option value="1">JYES</option>
- </field>
-
- <field
- name="ftp_host"
- type="text"
- label="COM_CONFIG_FIELD_FTP_HOST_LABEL"
- filter="string"
- showon="ftp_enable:1"
- size="14"
- />
-
- <field
- name="ftp_port"
- type="number"
- label="COM_CONFIG_FIELD_FTP_PORT_LABEL"
- showon="ftp_enable:1"
- min="1"
- max="65535"
- hint="21"
- validate="number"
- filter="integer"
- />
-
- <field
- name="ftp_user"
- type="text"
- label="COM_CONFIG_FIELD_FTP_USERNAME_LABEL"
- filter="string"
- showon="ftp_enable:1"
- autocomplete="off"
- size="25"
- />
-
- <field
- name="ftp_pass"
- type="password"
- label="COM_CONFIG_FIELD_FTP_PASSWORD_LABEL"
- filter="raw"
- showon="ftp_enable:1"
- autocomplete="off"
- size="25"
- lock="true"
- />
-
- <field
- name="ftp_root"
- type="text"
- label="COM_CONFIG_FIELD_FTP_ROOT_LABEL"
- showon="ftp_enable:1"
- filter="string"
- size="50"
- />
-
- </fieldset>
-
<fieldset
name="proxy"
label="CONFIG_PROXY_SETTINGS_LABEL">
diff --git a/administrator/components/com_config/src/Controller/ApplicationController.php b/administrator/components/com_config/src/Controller/ApplicationController.php
index 3b23b65729ce7..74b2fb3e442e8 100644
--- a/administrator/components/com_config/src/Controller/ApplicationController.php
+++ b/administrator/components/com_config/src/Controller/ApplicationController.php
@@ -12,7 +12,6 @@
\defined('_JEXEC') or die;
use Joomla\CMS\Application\CMSApplication;
-use Joomla\CMS\Client\ClientHelper;
use Joomla\CMS\Language\Text;
use Joomla\CMS\MVC\Controller\BaseController;
use Joomla\CMS\MVC\Factory\MVCFactoryInterface;
@@ -82,9 +81,6 @@ public function save()
$this->app->setUserState('com_config.config.global.data', null);
- // Set FTP credentials, if given.
- ClientHelper::setCredentialsFromRequest('ftp');
-
/** @var \Joomla\Component\Config\Administrator\Model\ApplicationModel $model */
$model = $this->getModel('Application', 'Administrator');
diff --git a/administrator/components/com_config/src/Controller/ComponentController.php b/administrator/components/com_config/src/Controller/ComponentController.php
index 0bb0ec61e699a..ca03d246b00e3 100644
--- a/administrator/components/com_config/src/Controller/ComponentController.php
+++ b/administrator/components/com_config/src/Controller/ComponentController.php
@@ -12,7 +12,6 @@
\defined('_JEXEC') or die;
use Joomla\CMS\Application\CMSApplication;
-use Joomla\CMS\Client\ClientHelper;
use Joomla\CMS\Language\Text;
use Joomla\CMS\MVC\Controller\FormController;
use Joomla\CMS\MVC\Factory\MVCFactoryInterface;
@@ -62,9 +61,6 @@ public function save($key = null, $urlVar = null)
// Check for request forgeries.
$this->checkToken();
- // Set FTP credentials, if given.
- ClientHelper::setCredentialsFromRequest('ftp');
-
$data = $this->input->get('jform', [], 'ARRAY');
$id = $this->input->get('id', null, 'INT');
$option = $this->input->get('component');
diff --git a/administrator/components/com_config/src/Model/ApplicationModel.php b/administrator/components/com_config/src/Model/ApplicationModel.php
index b0ae050d3bf09..cf4993424ee74 100644
--- a/administrator/components/com_config/src/Model/ApplicationModel.php
+++ b/administrator/components/com_config/src/Model/ApplicationModel.php
@@ -15,7 +15,6 @@
use Joomla\CMS\Access\Rules;
use Joomla\CMS\Cache\Exception\CacheConnectingException;
use Joomla\CMS\Cache\Exception\UnsupportedCacheException;
-use Joomla\CMS\Client\ClientHelper;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Factory;
use Joomla\CMS\Filesystem\File;
@@ -50,7 +49,7 @@ class ApplicationModel extends FormModel
* @var array
* @since 3.9.23
*/
- private $protectedConfigurationFields = array('password', 'secret', 'ftp_pass', 'smtppass', 'redis_server_auth', 'session_redis_server_auth');
+ private $protectedConfigurationFields = array('password', 'secret', 'smtppass', 'redis_server_auth', 'session_redis_server_auth');
/**
* Method to get a form object.
@@ -867,14 +866,6 @@ public function save($data)
$app->set('cors_allow_headers', $data['cors_allow_headers']);
$app->set('cors_allow_methods', $data['cors_allow_methods']);
- // Overwrite the old FTP credentials with the new ones.
- $app->set('ftp_enable', $data['ftp_enable']);
- $app->set('ftp_host', $data['ftp_host']);
- $app->set('ftp_port', $data['ftp_port']);
- $app->set('ftp_user', $data['ftp_user']);
- $app->set('ftp_pass', $data['ftp_pass']);
- $app->set('ftp_root', $data['ftp_root']);
-
// Clear cache of com_config component.
$this->cleanCache('_system', 0);
$this->cleanCache('_system', 1);
@@ -950,13 +941,10 @@ private function writeConfigFile(Registry $config)
// Set the configuration file path.
$file = JPATH_CONFIGURATION . '/configuration.php';
- // Get the new FTP credentials.
- $ftp = ClientHelper::getCredentials('ftp', true);
-
$app = Factory::getApplication();
- // Attempt to make the file writeable if using FTP.
- if (!$ftp['enabled'] && Path::isOwner($file) && !Path::setPermissions($file, '0644'))
+ // Attempt to make the file writeable.
+ if (Path::isOwner($file) && !Path::setPermissions($file, '0644'))
{
$app->enqueueMessage(Text::_('COM_CONFIG_ERROR_CONFIGURATION_PHP_NOTWRITABLE'), 'notice');
}
@@ -975,8 +963,8 @@ private function writeConfigFile(Registry $config)
\opcache_invalidate($file);
}
- // Attempt to make the file unwriteable if NOT using FTP.
- if (!$ftp['enabled'] && Path::isOwner($file) && !Path::setPermissions($file, '0444'))
+ // Attempt to make the file unwriteable.
+ if (Path::isOwner($file) && !Path::setPermissions($file, '0444'))
{
$app->enqueueMessage(Text::_('COM_CONFIG_ERROR_CONFIGURATION_PHP_NOTUNWRITABLE'), 'notice');
}
diff --git a/administrator/components/com_config/src/View/Application/HtmlView.php b/administrator/components/com_config/src/View/Application/HtmlView.php
index 9c349155fbf2f..c9630113cb50f 100644
--- a/administrator/components/com_config/src/View/Application/HtmlView.php
+++ b/administrator/components/com_config/src/View/Application/HtmlView.php
@@ -11,7 +11,6 @@
\defined('_JEXEC') or die;
-use Joomla\CMS\Client\ClientHelper;
use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Factory;
use Joomla\CMS\Language\Text;
@@ -91,12 +90,8 @@ public function display($tpl = null)
// Get the params for com_media.
$mediaParams = ComponentHelper::getParams('com_media');
- // Load settings for the FTP layer.
- $ftp = ClientHelper::setCredentialsFromRequest('ftp');
-
$this->form = &$form;
$this->data = &$data;
- $this->ftp = &$ftp;
$this->usersParams = &$usersParams;
$this->mediaParams = &$mediaParams;
$this->components = ConfigHelper::getComponentsWithConfig();
diff --git a/administrator/components/com_config/tmpl/application/default.php b/administrator/components/com_config/tmpl/application/default.php
index 955da9d3bc0ce..517d8911b6df4 100644
--- a/administrator/components/com_config/tmpl/application/default.php
+++ b/administrator/components/com_config/tmpl/application/default.php
@@ -57,7 +57,6 @@
<?php echo $this->loadTemplate('server'); ?>
<?php echo $this->loadTemplate('locale'); ?>
<?php echo $this->loadTemplate('webservices'); ?>
- <?php echo $this->loadTemplate('ftp'); ?>
<?php echo $this->loadTemplate('proxy'); ?>
<?php echo $this->loadTemplate('database'); ?>
<?php echo $this->loadTemplate('mail'); ?>
@@ -72,12 +71,6 @@
<?php echo $this->loadTemplate('filters'); ?>
<?php echo HTMLHelper::_('uitab.endTab'); ?>
- <?php if ($this->ftp) : ?>
- <?php echo HTMLHelper::_('uitab.addTab', 'configTabs', 'page-ftp', Text::_('COM_CONFIG_FTP_SETTINGS')); ?>
- <?php echo $this->loadTemplate('ftplogin'); ?>
- <?php echo HTMLHelper::_('uitab.endTab'); ?>
- <?php endif; ?>
-
<?php echo HTMLHelper::_('uitab.addTab', 'configTabs', 'page-permissions', Text::_('COM_CONFIG_PERMISSIONS')); ?>
<?php echo $this->loadTemplate('permissions'); ?>
<?php echo HTMLHelper::_('uitab.endTab'); ?>
diff --git a/administrator/components/com_config/tmpl/application/default_ftp.php b/administrator/components/com_config/tmpl/application/default_ftp.php
deleted file mode 100644
index fa4f66ba72d5f..0000000000000
--- a/administrator/components/com_config/tmpl/application/default_ftp.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-/**
- * @package Joomla.Administrator
- * @subpackage com_config
- *
- * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org>
- * @license GNU General Public License version 2 or later; see LICENSE.txt
- */
-
-use Joomla\CMS\Language\Text;
-use Joomla\CMS\Layout\LayoutHelper;
-
-defined('_JEXEC') or die;
-
-$this->name = Text::_('COM_CONFIG_FTP_SETTINGS');
-$this->fieldsname = 'ftp';
-$this->formclass = 'options-form';
-
-echo LayoutHelper::render('joomla.content.options_default', $this);
diff --git a/administrator/components/com_config/tmpl/application/default_ftplogin.php b/administrator/components/com_config/tmpl/application/default_ftplogin.php
deleted file mode 100644
index 9b6608d35c918..0000000000000
--- a/administrator/components/com_config/tmpl/application/default_ftplogin.php
+++ /dev/null
@@ -1,40 +0,0 @@
-<?php
-/**
- * @package Joomla.Administrator
- * @subpackage com_config
- *
- * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org>
- * @license GNU General Public License version 2 or later; see LICENSE.txt
- */
-
-defined('_JEXEC') or die;
-
-use Joomla\CMS\Language\Text;
-
-?>
-<fieldset class="options-form">
- <legend><?php echo Text::_('COM_CONFIG_FTP_DETAILS'); ?></legend>
- <p><?php echo Text::_('COM_CONFIG_FTP_DETAILS_TIP'); ?></p>
- <?php if ($this->ftp instanceof Exception) : ?>
- <?php /** @var Exception $this */ ?>
- <p><?php echo Text::_($this->ftp->message); ?></p>
- <?php endif; ?>
- <div>
- <div class="control-group">
- <div class="control-label">
- <label for="username"><?php echo Text::_('JGLOBAL_USERNAME'); ?></label>
- </div>
- <div class="controls">
- <input type="text" id="username" name="username" class="form-control" size="70" value="">
- </div>
- </div>
- <div class="control-group">
- <div class="control-label">
- <label for="password"><?php echo Text::_('JGLOBAL_PASSWORD'); ?></label>
- </div>
- <div class="controls">
- <input type="password" id="password" name="password" class="form-control" size="70" value="">
- </div>
- </div>
- </div>
-</fieldset>
diff --git a/administrator/components/com_installer/src/Controller/DisplayController.php b/administrator/components/com_installer/src/Controller/DisplayController.php
index cd590b1ad2bfc..9584877bdb194 100644
--- a/administrator/components/com_installer/src/Controller/DisplayController.php
+++ b/administrator/components/com_installer/src/Controller/DisplayController.php
@@ -11,7 +11,6 @@
\defined('_JEXEC') or die;
-use Joomla\CMS\Client\ClientHelper;
use Joomla\CMS\Language\Text;
use Joomla\CMS\MVC\Controller\BaseController;
use Joomla\CMS\Response\JsonResponse;
@@ -62,9 +61,6 @@ public function display($cachable = false, $urlparams = false)
// Get and render the view.
if ($view = $this->getView($vName, $vFormat))
{
- $ftp = ClientHelper::setCredentialsFromRequest('ftp');
- $view->ftp = &$ftp;
-
// Get the model for the view.
$model = $this->getModel($vName);
diff --git a/administrator/components/com_installer/src/Model/InstallModel.php b/administrator/components/com_installer/src/Model/InstallModel.php
index 9db82de957910..c4cb4db8d1947 100644
--- a/administrator/components/com_installer/src/Model/InstallModel.php
+++ b/administrator/components/com_installer/src/Model/InstallModel.php
@@ -11,7 +11,6 @@
\defined('_JEXEC') or die;
-use Joomla\CMS\Client\ClientHelper;
use Joomla\CMS\Factory;
use Joomla\CMS\Filesystem\File;
use Joomla\CMS\Filesystem\Path;
@@ -80,8 +79,6 @@ public function install()
{
$this->setState('action', 'install');
- // Set FTP credentials, if given.
- ClientHelper::setCredentialsFromRequest('ftp');
$app = Factory::getApplication();
// Load installer plugins for assistance if required:
diff --git a/administrator/components/com_installer/tmpl/discover/default.php b/administrator/components/com_installer/tmpl/discover/default.php
index 6b4ab3081672e..919c3eae9bc5c 100644
--- a/administrator/components/com_installer/tmpl/discover/default.php
+++ b/administrator/components/com_installer/tmpl/discover/default.php
@@ -27,9 +27,6 @@
<?php if ($this->showMessage) : ?>
<?php echo $this->loadTemplate('message'); ?>
<?php endif; ?>
- <?php if ($this->ftp) : ?>
- <?php echo $this->loadTemplate('ftp'); ?>
- <?php endif; ?>
<?php echo LayoutHelper::render('joomla.searchtools.default', array('view' => $this)); ?>
<?php if (empty($this->items)) : ?>
<div class="alert alert-info">
diff --git a/administrator/components/com_installer/tmpl/install/default.php b/administrator/components/com_installer/tmpl/install/default.php
index 8eba96bd7f9fe..67a84a8606525 100644
--- a/administrator/components/com_installer/tmpl/install/default.php
+++ b/administrator/components/com_installer/tmpl/install/default.php
@@ -50,7 +50,7 @@
</div>
<?php endif; ?>
- <?php if ($tabs || $this->ftp) : ?>
+ <?php if ($tabs) : ?>
<?php echo HTMLHelper::_('uitab.startTabSet', 'myTab', ['active' => $tabs[0]['name'] ?? '']); ?>
<?php // Show installation tabs ?>
<?php foreach ($tabs as $tab) : ?>
@@ -61,11 +61,6 @@
<?php echo HTMLHelper::_('uitab.endTab'); ?>
<?php endforeach; ?>
- <?php if ($this->ftp) : ?>
- <?php echo HTMLHelper::_('uitab.addTab', 'myTab', 'ftp', Text::_('COM_INSTALLER_MSG_DESCFTPTITLE')); ?>
- <?php echo $this->loadTemplate('ftp'); ?>
- <?php echo HTMLHelper::_('uitab.endTab'); ?>
- <?php endif; ?>
<?php echo HTMLHelper::_('uitab.endTabSet'); ?>
<?php endif; ?>
diff --git a/administrator/components/com_installer/tmpl/installer/default_ftp.php b/administrator/components/com_installer/tmpl/installer/default_ftp.php
deleted file mode 100644
index 6d4e5a3ebbced..0000000000000
--- a/administrator/components/com_installer/tmpl/installer/default_ftp.php
+++ /dev/null
@@ -1,47 +0,0 @@
-<?php
-/**
- * @package Joomla.Administrator
- * @subpackage com_installer
- *
- * @copyright (C) 2007 Open Source Matters, Inc. <https://www.joomla.org>
- * @license GNU General Public License version 2 or later; see LICENSE.txt
- */
-
-defined('_JEXEC') or die;
-
-use Joomla\CMS\Language\Text;
-
-?>
-<fieldset class="option-fieldset options-form">
-
- <legend><?php echo Text::_('COM_INSTALLER_MSG_DESCFTPTITLE'); ?></legend>
-
- <div class="alert alert-info">
- <span class="icon-info-circle" aria-hidden="true"></span><span class="visually-hidden"><?php echo Text::_('INFO'); ?></span>
- <?php echo Text::_('COM_INSTALLER_MSG_DESCFTP'); ?>
- </div>
-
- <?php if ($this->ftp instanceof Exception) : ?>
- <p><?php echo Text::_($this->ftp->getMessage()); ?></p>
- <?php endif; ?>
-
- <div>
- <div class="control-group">
- <div class="control-label">
- <label id="username" for="username"><?php echo Text::_('JGLOBAL_USERNAME'); ?></label>
- </div>
- <div class="controls">
- <input type="text" name="username" id="username" class="form-control">
- </div>
- </div>
-
- <div class="control-group">
- <div class="control-label">
- <label id="password-lbl" for="password"><?php echo Text::_('JGLOBAL_PASSWORD'); ?></label>
- </div>
- <div class="controls">
- <input type="password" name="password" id="password" class="form-control">
- </div>
- </div>
- </div>
-</fieldset>
diff --git a/administrator/components/com_installer/tmpl/manage/default.php b/administrator/components/com_installer/tmpl/manage/default.php
index 7ae2104664f63..6290e4a8a511e 100644
--- a/administrator/components/com_installer/tmpl/manage/default.php
+++ b/administrator/components/com_installer/tmpl/manage/default.php
@@ -31,9 +31,6 @@
<?php if ($this->showMessage) : ?>
<?php echo $this->loadTemplate('message'); ?>
<?php endif; ?>
- <?php if ($this->ftp) : ?>
- <?php echo $this->loadTemplate('ftp'); ?>
- <?php endif; ?>
<?php echo LayoutHelper::render('joomla.searchtools.default', array('view' => $this)); ?>
<?php if (empty($this->items)) : ?>
<div class="alert alert-info">
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 @@
<?php if ($this->showMessage) : ?>
<?php echo $this->loadTemplate('message'); ?>
<?php endif; ?>
- <?php if ($this->ftp) : ?>
- <?php echo $this->loadTemplate('ftp'); ?>
- <?php endif; ?>
<?php echo LayoutHelper::render('joomla.searchtools.default', array('view' => $this)); ?>
<?php if (empty($this->items)) : ?>
<div class="alert alert-info">
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 (<strong>%1$s</strong>) does not match <strong>%2$s</strong> version (<strong>%3$s</strong>)."
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.<br>In order to manipulate images you need additional extensions installed on your server. See the <a href='https://downloads.joomla.org/technical-requirements'>Official Technical Requirements</a> 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();"
/>
</fieldset>
- <fieldset name="basic">
- <field
- name="ftp_enable"
- type="radio"
- label="INSTL_FTP_ENABLE_LABEL"
- class="btn-group btn-group-reverse"
- default="0"
- filter="int"
- required="true"
- >
- <option value="1">JYES</option>
- <option value="0">JNO</option>
- </field>
- <field
- name="ftp_user"
- type="text"
- label="INSTL_FTP_USER_LABEL"
- class="form-control"
- />
- <field
- name="ftp_pass"
- type="password"
- label="INSTL_FTP_PASSWORD_LABEL"
- class="form-control"
- filter="raw"
- />
- <field
- name="ftp_root"
- type="text"
- label="INSTL_FTP_ROOT_LABEL"
- class="form-control"
- />
- </fieldset>
-
- <!-- Advanced Settings -->
- <fieldset name="advanced">
- <field
- name="ftp_host"
- type="text"
- label="INSTL_FTP_HOST_LABEL"
- class="form-control"
- default="127.0.0.1"
- />
- <field
- name="ftp_port"
- type="text"
- label="INSTL_FTP_PORT_LABEL"
- class="form-control"
- default="21"
- filter="int"
- />
- <field
- name="ftp_save"
- type="radio"
- label="INSTL_FTP_SAVE_LABEL"
- class="btn-group btn-group-reverse"
- default="0"
- required="true"
- filter="int"
- >
- <option value="1">JYES</option>
- <option value="0">JNO</option>
- </field>
- </fieldset>
</form>
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. <https://www.joomla.org>
- * @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 */
?>
<div id="installer-view" class="container" data-page-name="preinstall">
- <div class="row">
- <div class="col-md-12 mb-4">
- <div class="j-install-step active">
- <div class="j-install-step-header">
- <span class="icon-check" aria-hidden="true"></span> <?php echo Text::_('INSTL_PRECHECK_TITLE'); ?>
- </div>
- <div class="j-install-step-form">
- <?php foreach ($this->options as $option) : ?>
- <?php if ($option->state === 'JNO' || $option->state === false) : ?>
- <div class="alert preinstall-alert">
- <div class="alert-icon">
- <span class="alert-icon icon-exclamation-triangle" aria-hidden="true"></span>
- </div>
- <div class="alert-text">
- <strong><?php echo $option->label; ?></strong>
- <p class="form-text text-muted small"><?php echo $option->notice; ?></p>
- </div>
- </div>
- <?php endif; ?>
- <?php endforeach; ?>
- </div>
+ <div class="row">
+ <div class="col-md-12 mb-4">
+ <div class="j-install-step active">
+ <div class="j-install-step-header">
+ <span class="icon-check" aria-hidden="true"></span> <?php echo Text::_('INSTL_PRECHECK_TITLE'); ?>
</div>
-
-
- <?php if ($option->state === false && preg_match('$configuration.php$', $option->label)) : ?>
- <div id="ftpOptions" class="ftp-options mb-4 hidden">
- <form action="index.php" method="post" id="ftpForm" class="form-validate">
- <!-- <h3><?php echo Text::_('INSTL_FTP'); ?></h3>
- <hr> -->
- <div class="form-group row">
- <div class="col-md-8 offset-md-2">
- <?php echo $this->form->getLabel('ftp_user'); ?>
- <?php echo $this->form->getInput('ftp_user'); ?>
- <p class="form-text text-muted small"><?php echo Text::_('INSTL_FTP_USER_DESC'); ?></p>
+ <div class="j-install-step-form">
+ <?php foreach ($this->options as $option) : ?>
+ <?php if ($option->state === 'JNO' || $option->state === false) : ?>
+ <div class="alert preinstall-alert">
+ <div class="alert-icon">
+ <span class="alert-icon icon-exclamation-triangle" aria-hidden="true"></span>
</div>
- </div>
- <div class="form-group row">
- <div class="col-md-8 offset-md-2">
- <?php echo $this->form->getLabel('ftp_pass'); ?>
- <?php echo $this->form->getInput('ftp_pass'); ?>
- <p class="form-text text-muted small"><?php echo Text::_('INSTL_FTP_PASSWORD_DESC'); ?></p>
- </div>
- </div>
- <div class="form-group row mb-4">
- <div class="col-md-8 offset-md-2">
- <?php echo $this->form->getLabel('ftp_host'); ?>
- <div class="input-append d-flex">
- <?php echo $this->form->getInput('ftp_host'); ?><button id="findbutton" class="btn btn-secondary ms-2" onclick="Joomla.installation.detectFtpRoot(this);"><span class="icon-folder-open"></span> <?php echo Text::_('INSTL_AUTOFIND_FTP_PATH'); ?></button>
- </div>
+ <div class="alert-text">
+ <strong><?php echo $option->label; ?></strong>
+ <p class="form-text text-muted small"><?php echo $option->notice; ?></p>
</div>
</div>
- <div class="form-group row">
- <div class="col-md-8 offset-md-2">
- <?php echo $this->form->getLabel('ftp_port'); ?>
- <?php echo $this->form->getInput('ftp_port'); ?>
- </div>
- </div>
- <div class="form-group row">
- <div class="col-md-8 offset-md-2 justify-content-end d-flex">
- <button id="verifybutton" class="btn btn-success"><span class="icon-check icon-white"></span> <?php echo Text::_('INSTL_VERIFY_FTP_SETTINGS'); ?></button>
- </div>
- </div>
- <input type="hidden" name="format" value="json">
- <?php echo HTMLHelper::_('form.token'); ?>
- </form>
- </div>
- <?php endif; ?>
+ <?php endif; ?>
+ <?php endforeach; ?>
+ </div>
</div>
</div>
+ </div>
</div>
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"