Feature PR-5.0-dev PR-5.1-dev Pending

User tests: Successful: Unsuccessful:

avatar Hackwar
19 Apr 2023

Summary of Changes

The Joomla\CMS\Input package has been deprecated and we have the Joomla\Input\Input package from the framework instead. This converts all occurences of the CMS package over to the framework package. This especially fixes the issue that our application baseclass, Joomla\Application\AbstractWebApplication, uses the framework classes, while all child classes in the CMS use the CMS classes.

This introduces a few b/c breaks, which I would consider acceptable, but also requires more work on the InputFilter class. The following issues have come up:

  • The framework Input class uses the framework Joomla\Filter\InputFilter, while the CMS class uses the CMS InputFilter class. These 2 are not compatible right now, which is something we have to fix for the 3.0 release of the framework. The InputFilter framework class is lacking in functionality here.
  • The framework class doesn't have the unserialize() method the CMS class has. However, the CMS class also doesn't have a serialize() method anyway, so that feature doesn't work at all. This feature was removed 4 years ago.
  • Joomla\CMS\Input\Cookie::set() currently accepts an array of values and then sets a cookie for each entry in the array, the framework doesn't have this feature.
  • Joomla\CMS\Input\Files::get() has additional code to check for unsafe files, which would have to be added to the framework package.

This PR also depends, among other things, on #40429.

Testing Instructions

Link to documentations

Please select:

  • Documentation link for docs.joomla.org:

  • No documentation changes for docs.joomla.org needed

  • Pull Request link for manual.joomla.org:

  • No documentation changes for manual.joomla.org needed

avatar joomla-cms-bot joomla-cms-bot - change - 19 Apr 2023
Category Administration com_users com_workflow Front End com_config com_contact com_content com_contenthistory com_fields com_modules Installation Libraries Plugins
avatar Hackwar Hackwar - open - 19 Apr 2023
avatar Hackwar Hackwar - change - 19 Apr 2023
Status New Pending
avatar Hackwar Hackwar - change - 19 Apr 2023
Labels Added: PR-5.0-dev
avatar Hackwar
Hackwar - comment - 19 Apr 2023

Please note that the CMS Input package is still used in the CLI applications and there is no CLI replacement in the framework package, among other things because according to the docblocks the joomla/console package should be used instead.

avatar Hackwar Hackwar - change - 19 Apr 2023
The description was changed
avatar Hackwar Hackwar - edited - 19 Apr 2023
avatar Hackwar Hackwar - change - 20 Apr 2023
The description was changed
avatar Hackwar Hackwar - edited - 20 Apr 2023
avatar Hackwar Hackwar - change - 8 Jun 2023
Labels Added: Feature
avatar HLeithner
HLeithner - comment - 30 Sep 2023

This pull request has been automatically rebased to 5.1-dev.

avatar Hackwar Hackwar - change - 25 Dec 2023
Labels Added: PR-5.1-dev
avatar Hackwar
Hackwar - comment - 25 Dec 2023

So, I looked into this again and the CliApplication class is deprecated and will be removed in 6.0. Since we are removing the CMS input class then as well, we can revert this change back and keep the CMS CLI Input class in that Application class. So after reverting that change, I'm marking this PR again as ready for review.

avatar laoneo laoneo - change - 5 Feb 2024
Status Pending Fixed in Code Base
Closed_Date 0000-00-00 00:00:00 2024-02-05 10:27:37
Closed_By laoneo
avatar laoneo laoneo - close - 5 Feb 2024
avatar laoneo laoneo - merge - 5 Feb 2024
avatar laoneo
laoneo - comment - 5 Feb 2024

Merged, as they are only doc block changes. Thanks @Hackwar for this!

Add a Comment

Login with GitHub to post a comment