From 68c910a2e8e851be31e36193f0c2ee2c58890adb Mon Sep 17 00:00:00 2001 From: Aidan Saunders Date: Tue, 22 Nov 2022 12:28:26 +0000 Subject: [PATCH] Deprecate `CRM_Mailing_BAO_Mailing::del()` --- CRM/Mailing/BAO/Mailing.php | 33 +++++++++++++++------------------ CRM/Mailing/Form/Browse.php | 1 + CRM/Mailing/Page/Browse.php | 1 + 3 files changed, 17 insertions(+), 18 deletions(-) diff --git a/CRM/Mailing/BAO/Mailing.php b/CRM/Mailing/BAO/Mailing.php index 3d064f7e46..7b3d3564ad 100644 --- a/CRM/Mailing/BAO/Mailing.php +++ b/CRM/Mailing/BAO/Mailing.php @@ -22,7 +22,7 @@ require_once 'Mail/mime.php'; /** * Class CRM_Mailing_BAO_Mailing */ -class CRM_Mailing_BAO_Mailing extends CRM_Mailing_DAO_Mailing { +class CRM_Mailing_BAO_Mailing extends CRM_Mailing_DAO_Mailing implements \Civi\Core\HookInterface { /** * An array that holds the complete templates @@ -2403,26 +2403,23 @@ LEFT JOIN civicrm_mailing_group g ON g.mailing_id = m.id * Id of the mail to delete. * * @return void + * + * @deprecated */ public static function del($id) { - if (empty($id)) { - throw new CRM_Core_Exception(ts('No id passed to mailing del function')); - } - - CRM_Utils_Hook::pre('delete', 'Mailing', $id); - - // delete all file attachments - CRM_Core_BAO_File::deleteEntityFile('civicrm_mailing', - $id - ); - - $dao = new CRM_Mailing_DAO_Mailing(); - $dao->id = $id; - $dao->delete(); - - CRM_Core_Session::setStatus(ts('Selected mailing has been deleted.'), ts('Deleted'), 'success'); + static::deleteRecord(['id' => $id]); + } - CRM_Utils_Hook::post('delete', 'Mailing', $id, $dao); + /** + * Callback for hook_civicrm_pre(). + * @param \Civi\Core\Event\PreEvent $event + * @throws CRM_Core_Exception + */ + public static function self_hook_civicrm_pre(\Civi\Core\Event\PreEvent $event) { + if ($event->action === 'delete' && $event->id) { + // Delete all file attachments + CRM_Core_BAO_File::deleteEntityFile('civicrm_mailing', $event->id); + } } /** diff --git a/CRM/Mailing/Form/Browse.php b/CRM/Mailing/Form/Browse.php index 4e870386ef..9b221b4de8 100644 --- a/CRM/Mailing/Form/Browse.php +++ b/CRM/Mailing/Form/Browse.php @@ -62,6 +62,7 @@ class CRM_Mailing_Form_Browse extends CRM_Core_Form { public function postProcess() { if ($this->_action & CRM_Core_Action::DELETE) { CRM_Mailing_BAO_Mailing::del($this->_mailingId); + CRM_Core_Session::setStatus(ts('Selected mailing has been deleted.'), ts('Deleted'), 'success'); } elseif ($this->_action & CRM_Core_Action::DISABLE) { CRM_Mailing_BAO_MailingJob::cancel($this->_mailingId); diff --git a/CRM/Mailing/Page/Browse.php b/CRM/Mailing/Page/Browse.php index 46ad7481e5..ff8fde09ee 100644 --- a/CRM/Mailing/Page/Browse.php +++ b/CRM/Mailing/Page/Browse.php @@ -200,6 +200,7 @@ class CRM_Mailing_Page_Browse extends CRM_Core_Page { } CRM_Mailing_BAO_Mailing::del($this->_mailingId); + CRM_Core_Session::setStatus(ts('Selected mailing has been deleted.'), ts('Deleted'), 'success'); CRM_Utils_System::redirect($context); } else { -- 2.25.1