From 85c75729f5d9d3ef111a6033b6873c39a53dd9e1 Mon Sep 17 00:00:00 2001 From: Robert Deutz Date: Sun, 31 Aug 2025 14:02:24 +0200 Subject: [PATCH 1/6] missed part in a past change --- libraries/src/Table/Nested.php | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/libraries/src/Table/Nested.php b/libraries/src/Table/Nested.php index 858a9cb5858e2..506914a1dcda8 100644 --- a/libraries/src/Table/Nested.php +++ b/libraries/src/Table/Nested.php @@ -11,7 +11,6 @@ use Joomla\CMS\Event\AbstractEvent; use Joomla\Event\Dispatcher; -use Joomla\Event\Event; use Joomla\Utilities\ArrayHelper; // phpcs:disable PSR1.Files.SideEffects @@ -517,13 +516,14 @@ public function delete($pk = null, $children = true) $pk = (\is_null($pk)) ? $this->$k : $pk; // Pre-processing by observers - $event = new Event( - 'onBeforeDelete', + $event = AbstractEvent::create( + 'onTableBeforeDelete', [ - 'pk' => $pk, + 'subject' => $this, + 'pk' => $pk, ] ); - $this->getDispatcher()->dispatch('onBeforeDelete', $event); + $this->getDispatcher()->dispatch('onTableBeforeDelete', $event); // If tracking assets, remove the asset first. if ($this->_trackAssets) { @@ -626,13 +626,14 @@ public function delete($pk = null, $children = true) $this->_unlock(); // Post-processing by observers - $event = new Event( - 'onAfterDelete', + $event = AbstractEvent::create( + 'onTableAfterDelete', [ - 'pk' => $pk, + 'subject' => $this, + 'pk' => $pk, ] ); - $this->getDispatcher()->dispatch('onAfterDelete', $event); + $this->getDispatcher()->dispatch('onTableAfterDelete', $event); return true; } From 88921b70f4ce9517cfb561b84ceced093076aa68 Mon Sep 17 00:00:00 2001 From: Robert Deutz Date: Sun, 31 Aug 2025 14:22:11 +0200 Subject: [PATCH 2/6] delete no longer used events --- .../src/Event/Table/AfterDeleteEvent.php | 43 ------------------- .../src/Event/Table/BeforeDeleteEvent.php | 43 ------------------- 2 files changed, 86 deletions(-) delete mode 100644 libraries/src/Event/Table/AfterDeleteEvent.php delete mode 100644 libraries/src/Event/Table/BeforeDeleteEvent.php diff --git a/libraries/src/Event/Table/AfterDeleteEvent.php b/libraries/src/Event/Table/AfterDeleteEvent.php deleted file mode 100644 index c1d3a7ad424da..0000000000000 --- a/libraries/src/Event/Table/AfterDeleteEvent.php +++ /dev/null @@ -1,43 +0,0 @@ - - * @license GNU General Public License version 2 or later; see LICENSE.txt - */ - -namespace Joomla\CMS\Event\Table; - -// phpcs:disable PSR1.Files.SideEffects -\defined('_JEXEC') or die; -// phpcs:enable PSR1.Files.SideEffects - -/** - * Event class for \Joomla\CMS\Table\Table onAfterDelete event - * - * @since 4.0.0 - */ -class AfterDeleteEvent extends AbstractEvent -{ - /** - * Constructor. - * - * Mandatory arguments: - * subject \Joomla\CMS\Table\TableInterface The table we are operating on - * pk The optional primary key value we deleted. - * - * @param string $name The event name. - * @param array $arguments The event arguments. - * - * @throws \BadMethodCallException - */ - public function __construct($name, array $arguments = []) - { - if (!\array_key_exists('pk', $arguments)) { - throw new \BadMethodCallException("Argument 'pk' is required for event $name"); - } - - parent::__construct($name, $arguments); - } -} diff --git a/libraries/src/Event/Table/BeforeDeleteEvent.php b/libraries/src/Event/Table/BeforeDeleteEvent.php deleted file mode 100644 index af62e85aa72b8..0000000000000 --- a/libraries/src/Event/Table/BeforeDeleteEvent.php +++ /dev/null @@ -1,43 +0,0 @@ - - * @license GNU General Public License version 2 or later; see LICENSE.txt - */ - -namespace Joomla\CMS\Event\Table; - -// phpcs:disable PSR1.Files.SideEffects -\defined('_JEXEC') or die; -// phpcs:enable PSR1.Files.SideEffects - -/** - * Event class for \Joomla\CMS\Table\Table onBeforeDelete event - * - * @since 4.0.0 - */ -class BeforeDeleteEvent extends AbstractEvent -{ - /** - * Constructor. - * - * Mandatory arguments: - * subject \Joomla\CMS\Table\TableInterface The table we are operating on - * pk An optional primary key value to delete. - * - * @param string $name The event name. - * @param array $arguments The event arguments. - * - * @throws \BadMethodCallException - */ - public function __construct($name, array $arguments = []) - { - if (!\array_key_exists('pk', $arguments)) { - throw new \BadMethodCallException("Argument 'pk' is required for event $name"); - } - - parent::__construct($name, $arguments); - } -} From 401b41a86c834d87cae2bd158d7970341afdb69b Mon Sep 17 00:00:00 2001 From: Robert Deutz Date: Sun, 31 Aug 2025 14:29:53 +0200 Subject: [PATCH 3/6] Revert "delete no longer used events" This reverts commit 88921b70f4ce9517cfb561b84ceced093076aa68. --- .../src/Event/Table/AfterDeleteEvent.php | 43 +++++++++++++++++++ .../src/Event/Table/BeforeDeleteEvent.php | 43 +++++++++++++++++++ 2 files changed, 86 insertions(+) create mode 100644 libraries/src/Event/Table/AfterDeleteEvent.php create mode 100644 libraries/src/Event/Table/BeforeDeleteEvent.php diff --git a/libraries/src/Event/Table/AfterDeleteEvent.php b/libraries/src/Event/Table/AfterDeleteEvent.php new file mode 100644 index 0000000000000..c1d3a7ad424da --- /dev/null +++ b/libraries/src/Event/Table/AfterDeleteEvent.php @@ -0,0 +1,43 @@ + + * @license GNU General Public License version 2 or later; see LICENSE.txt + */ + +namespace Joomla\CMS\Event\Table; + +// phpcs:disable PSR1.Files.SideEffects +\defined('_JEXEC') or die; +// phpcs:enable PSR1.Files.SideEffects + +/** + * Event class for \Joomla\CMS\Table\Table onAfterDelete event + * + * @since 4.0.0 + */ +class AfterDeleteEvent extends AbstractEvent +{ + /** + * Constructor. + * + * Mandatory arguments: + * subject \Joomla\CMS\Table\TableInterface The table we are operating on + * pk The optional primary key value we deleted. + * + * @param string $name The event name. + * @param array $arguments The event arguments. + * + * @throws \BadMethodCallException + */ + public function __construct($name, array $arguments = []) + { + if (!\array_key_exists('pk', $arguments)) { + throw new \BadMethodCallException("Argument 'pk' is required for event $name"); + } + + parent::__construct($name, $arguments); + } +} diff --git a/libraries/src/Event/Table/BeforeDeleteEvent.php b/libraries/src/Event/Table/BeforeDeleteEvent.php new file mode 100644 index 0000000000000..af62e85aa72b8 --- /dev/null +++ b/libraries/src/Event/Table/BeforeDeleteEvent.php @@ -0,0 +1,43 @@ + + * @license GNU General Public License version 2 or later; see LICENSE.txt + */ + +namespace Joomla\CMS\Event\Table; + +// phpcs:disable PSR1.Files.SideEffects +\defined('_JEXEC') or die; +// phpcs:enable PSR1.Files.SideEffects + +/** + * Event class for \Joomla\CMS\Table\Table onBeforeDelete event + * + * @since 4.0.0 + */ +class BeforeDeleteEvent extends AbstractEvent +{ + /** + * Constructor. + * + * Mandatory arguments: + * subject \Joomla\CMS\Table\TableInterface The table we are operating on + * pk An optional primary key value to delete. + * + * @param string $name The event name. + * @param array $arguments The event arguments. + * + * @throws \BadMethodCallException + */ + public function __construct($name, array $arguments = []) + { + if (!\array_key_exists('pk', $arguments)) { + throw new \BadMethodCallException("Argument 'pk' is required for event $name"); + } + + parent::__construct($name, $arguments); + } +} From bfc2fc555a045be0ed706e203067c3fb969707a4 Mon Sep 17 00:00:00 2001 From: Robert Deutz Date: Sun, 7 Sep 2025 15:50:33 +0200 Subject: [PATCH 4/6] call old event --- libraries/src/Table/Nested.php | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/libraries/src/Table/Nested.php b/libraries/src/Table/Nested.php index 506914a1dcda8..7702c621eb5fe 100644 --- a/libraries/src/Table/Nested.php +++ b/libraries/src/Table/Nested.php @@ -11,6 +11,7 @@ use Joomla\CMS\Event\AbstractEvent; use Joomla\Event\Dispatcher; +use Joomla\Event\Event; use Joomla\Utilities\ArrayHelper; // phpcs:disable PSR1.Files.SideEffects @@ -516,6 +517,16 @@ public function delete($pk = null, $children = true) $pk = (\is_null($pk)) ? $this->$k : $pk; // Pre-processing by observers + + // @depreciated 5.3 will be removed with 7.0 without replacement, use onTableBeforeDelete event + $oldEvent = new Event( + 'onBeforeDelete', + [ + 'pk' => $pk, + ] + ); + $this->getDispatcher()->dispatch('onBeforeDelete', $oldEvent); + $event = AbstractEvent::create( 'onTableBeforeDelete', [ @@ -626,6 +637,16 @@ public function delete($pk = null, $children = true) $this->_unlock(); // Post-processing by observers + + // @depreciated 5.3 will be removed with 7.0 without replacement, use onTableAfterDelete event + $oldEvent = new Event( + 'onAfterDelete', + [ + 'pk' => $pk, + ] + ); + $this->getDispatcher()->dispatch('onAfterDelete', $oldEvent); + $event = AbstractEvent::create( 'onTableAfterDelete', [ From fa700d023480deb6c0c441758772300b917adefd Mon Sep 17 00:00:00 2001 From: Richard Fath Date: Tue, 9 Sep 2025 19:07:41 +0200 Subject: [PATCH 5/6] Change depreciated to deprecated --- libraries/src/Table/Nested.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/src/Table/Nested.php b/libraries/src/Table/Nested.php index 598f7ebdfcbba..e66321e184731 100644 --- a/libraries/src/Table/Nested.php +++ b/libraries/src/Table/Nested.php @@ -518,7 +518,7 @@ public function delete($pk = null, $children = true) // Pre-processing by observers - // @depreciated 5.3 will be removed with 7.0 without replacement, use onTableBeforeDelete event + // @deprecated 5.3 will be removed with 7.0 without replacement, use onTableBeforeDelete event $oldEvent = new Event( 'onBeforeDelete', [ @@ -638,7 +638,7 @@ public function delete($pk = null, $children = true) // Post-processing by observers - // @depreciated 5.3 will be removed with 7.0 without replacement, use onTableAfterDelete event + // @deprecated 5.3 will be removed with 7.0 without replacement, use onTableAfterDelete event $oldEvent = new Event( 'onAfterDelete', [ From a1ead34a5643ba1b57768f6bf7e68dfce272bd06 Mon Sep 17 00:00:00 2001 From: Robert Deutz Date: Wed, 10 Sep 2025 10:08:10 +0200 Subject: [PATCH 6/6] ajust message --- libraries/src/Table/Nested.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/src/Table/Nested.php b/libraries/src/Table/Nested.php index e66321e184731..b09dfc1ceb13b 100644 --- a/libraries/src/Table/Nested.php +++ b/libraries/src/Table/Nested.php @@ -518,7 +518,7 @@ public function delete($pk = null, $children = true) // Pre-processing by observers - // @deprecated 5.3 will be removed with 7.0 without replacement, use onTableBeforeDelete event + // @deprecated 5.3 will be removed with 7.0 without replacement $oldEvent = new Event( 'onBeforeDelete', [ @@ -638,7 +638,7 @@ public function delete($pk = null, $children = true) // Post-processing by observers - // @deprecated 5.3 will be removed with 7.0 without replacement, use onTableAfterDelete event + // @deprecated 5.3 will be removed with 7.0 without replacement $oldEvent = new Event( 'onAfterDelete', [