Example #1
0
 /**
  * Delete MailingAB and all its associated records.
  *
  * @param int $id
  *   Id of the mail to delete.
  */
 public static function del($id)
 {
     if (empty($id)) {
         CRM_Core_Error::fatal();
     }
     CRM_Core_Transaction::create()->run(function () use($id) {
         CRM_Utils_Hook::pre('delete', 'MailingAB', $id, CRM_Core_DAO::$_nullArray);
         $dao = new CRM_Mailing_DAO_MailingAB();
         $dao->id = $id;
         if ($dao->find(TRUE)) {
             $mailing_ids = array($dao->mailing_id_a, $dao->mailing_id_b, $dao->mailing_id_c);
             $dao->delete();
             foreach ($mailing_ids as $mailing_id) {
                 if ($mailing_id) {
                     CRM_Mailing_BAO_Mailing::del($mailing_id);
                 }
             }
         }
         CRM_Core_Session::setStatus(ts('Selected mailing has been deleted.'), ts('Deleted'), 'success');
         CRM_Utils_Hook::post('delete', 'MailingAB', $id, $dao);
     });
 }