Skip to content

Comments

[4.4] Backward compatibility handling for plugins that setting the result directly#41525

Merged
MacJoom merged 3 commits intojoomla:4.4-devfrom
Fedik:event-imutable-result2
Aug 31, 2023
Merged

[4.4] Backward compatibility handling for plugins that setting the result directly#41525
MacJoom merged 3 commits intojoomla:4.4-devfrom
Fedik:event-imutable-result2

Conversation

@Fedik
Copy link
Member

@Fedik Fedik commented Aug 30, 2023

Summary of Changes

Addittionaly to #41357 the plugin may set the event result directly $event['result'] = $result.
Example in core Debug plugin

$result = $event['result'] ?: [];
$handler = new OpenHandler($this->debugBar);
$result[] = $handler->handle($this->getApplication()->getInput()->request->getArray(), false, false);
$event['result'] = $result;

But most of our events will be imutable and it will throw an error.
The patch allow to modyfy $event['result'] in ImutableEvent for now, with deprecation waring.

Testing Instructions

Code review.
Also can run:

$event = new class ('onFooBar') extends Joomla\CMS\Event\AbstractImmutableEvent{};
$event['result'] = 'foobar';

Actual result BEFORE applying this Pull Request

An error

Expected result AFTER applying this Pull Request

No error

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: Event b/c notes for 4.4 Manual#170
  • No documentation changes for manual.joomla.org needed

Co-authored-by: Brian Teeman <brian@teeman.net>
@HLeithner
Copy link
Member

@laoneo @MacJoom I think we need this before beta1

@MacJoom MacJoom added this to the Joomla! 4.4.0 milestone Aug 31, 2023
@MacJoom MacJoom self-assigned this Aug 31, 2023
@MacJoom MacJoom enabled auto-merge (squash) August 31, 2023 21:46
@MacJoom MacJoom merged commit c189551 into joomla:4.4-dev Aug 31, 2023
@Fedik Fedik deleted the event-imutable-result2 branch September 1, 2023 07:23
HLeithner pushed a commit that referenced this pull request Sep 4, 2023
* fix calendar positioning (#41477)

* Update joomla-field-media.w-c.es6.js (#41361)

* Fixing md5 Deprecation in document.php (#39880)

* modal field check for danger alert (#39173)

* fix (#41138)

* [4.x] Cassiopeia Install SQL (#37389)

* Fix/showon (#37451)

* Bugfix for Issue #38599 - Smart Search indexing macros from articles (#38998)

* [4,3] joomla alert icons (#39312)

* Update StyleModel.php (#40665)

* Update Query.php (#40687)

* remove hitcount variable from uri after voting (#41474)

* Fix deprecated message in categories when extension is empty (#40604)

* Re-add minus to allowed filenames in com_templates (#41369)

* Invalid delete of all content articles from smart search index (#41288)

* [4][cli] schema update check (#40468)

* Tags: Don't put NULL into trim() (#41509)

Co-authored-by: Quy <quy@nomonkeybiz.com>

* [4] Add multilanguage filter taxonomy rows in com_finder advanced filters (#41470)

* Fix taxonomy filter options

* refactor rest of query to prepared statements

---------

Co-authored-by: Quy <quy@nomonkeybiz.com>

* Check if the pre update check box actually exists (#41467)

* Allow onValidateContact plugin to show error message (#37540)

* [4.4] Backward compatibility handling for plugins that setting the result directly (#41525)

* Backward compatibility handling for plugins that setting the result directly.

* Update libraries/src/Event/AbstractImmutableEvent.php

Co-authored-by: Brian Teeman <brian@teeman.net>

---------

* Tests for com_privacy consent on user site (#41529)

* Tests for com_privacy consent on user site

* Allow ability to enable extension in tests to prevent errors

* remove paramater not needed

* Added fixes to stop  errors in drone build

* Added fixes to stop  errors in drone build

* Added fixes to stop  errors in drone build

* [4.4] system test for com_installer (#41483)

* system test for com_installer

* cs

* Missing System Tests in #41362 (#41479)

* Update Categories.cy.js

* Update Categories.cy.js

* Update Categories.cy.js

* Update Categories.cy.js

* Update Categories.cy.js

* Update Categories.cy.js

added spaces and semicolons

* Update Categories.cy.js

Missing spaces and semicolons

* Update Categories.cy.js

Missing spaces and semicolons

* Update Categories.cy.js

Missing spaces and semicolons

* Update Categories.cy.js

removed tabs

* Update Categories.cy.js

Removed tabs

* Update Categories.cy.js

Removed tabs

* Update Categories.cy.js

Removed tabs

* Update Language.php (#41353)

* Filter for special characters that fail sending test mail (#41469)

* Backporting event changes (#41484)

Co-authored-by: Allon Moritz <allon.moritz@digital-peak.com>

* api tests for endpoints for com_privacy consent (#41544)

* Show the plugin name in the update screen (#41537)

* Show the plugin name in the update screen

* cs

---------

* Replace the special characters in site name for mail templates (#41582)

* Updates the dependencies (#41538)

* Updating dependencies

* Major update cypress

* Thanks for the reminder @brianteeman

* Composer

* weekend updates

* Update dependencies

* Update incompatible HTML file

---------

Co-authored-by: Magnus Singer <magnussinger@icloud.com>
Co-authored-by: Dimitris Grammatikogiannis <d.grammatiko@gmail.com>
Co-authored-by: Crystal Dionysopoulos <9141288+crystalenka@users.noreply.github.com>
Co-authored-by: heelc29 <66922325+heelc29@users.noreply.github.com>
Co-authored-by: Denitz <197527+Denitz@users.noreply.github.com>
Co-authored-by: Brian Teeman <brian@teeman.net>
Co-authored-by: toroworx <toroworx@users.noreply.github.com>
Co-authored-by: Martin Carl Kopp <6154099+MacJoom@users.noreply.github.com>
Co-authored-by: Jonathan Brain <3941269+BrainforgeUK@users.noreply.github.com>
Co-authored-by: Olivier Buisard <olivier.buisard@simplifyyourweb.com>
Co-authored-by: Christiane Maier-Stadtherr <dev@chmst.de>
Co-authored-by: Manuel Huber <ManuelHu@users.noreply.github.com>
Co-authored-by: Nicola Galgano <optimus4joomla@gmail.com>
Co-authored-by: Hannes Papenberg <info@joomlager.de>
Co-authored-by: Quy <quy@nomonkeybiz.com>
Co-authored-by: David Jardin <d.jardin@djumla.de>
Co-authored-by: beefcakefu <103491197+beefcakefu@users.noreply.github.com>
Co-authored-by: Fedir Zinchuk <getthesite@gmail.com>
Co-authored-by: andyforrest <46865032+andyforrest@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants