/**
* UF group BAO class.
*/
-class CRM_Core_BAO_UFGroup extends CRM_Core_DAO_UFGroup {
+class CRM_Core_BAO_UFGroup extends CRM_Core_DAO_UFGroup implements \Civi\Core\HookInterface {
const PUBLIC_VISIBILITY = 1,
ADMIN_VISIBILITY = 2,
*
* @return bool
*
+ * @deprecated
*/
public static function del($id) {
- CRM_Utils_Hook::pre('delete', 'UFGroup', $id);
+ return (bool) static::deleteRecord(['id' => $id]);
+ }
- //check whether this group contains any profile fields
- $profileField = new CRM_Core_DAO_UFField();
- $profileField->uf_group_id = $id;
- $profileField->find();
- while ($profileField->fetch()) {
- CRM_Core_BAO_UFField::del($profileField->id);
+ /**
+ * 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) {
+ // Check whether this group contains any profile fields
+ $profileField = new CRM_Core_DAO_UFField();
+ $profileField->uf_group_id = $event->id;
+ $profileField->find();
+ while ($profileField->fetch()) {
+ CRM_Core_BAO_UFField::deleteRecord(['id' => $profileField->id]);
+ }
+
+ // Delete records from uf join table
+ // Should probably use a deleteRecord rather than direct delete
+ $ufJoin = new CRM_Core_DAO_UFJoin();
+ $ufJoin->uf_group_id = $event->id;
+ $ufJoin->delete();
}
-
- //delete records from uf join table
- $ufJoin = new CRM_Core_DAO_UFJoin();
- $ufJoin->uf_group_id = $id;
- $ufJoin->delete();
-
- //delete profile group
- $group = new CRM_Core_DAO_UFGroup();
- $group->id = $id;
- $group->delete();
-
- CRM_Utils_Hook::post('delete', 'UFGroup', $id, $group);
- return 1;
}
/**
self::create($values);
}
elseif ($skipDelete && !empty($values['id'])) {
- self::del($values['id']);
+ static::deleteRecord($values);
}
}
}
* @param int $id
*
* @return bool
+ *
+ * @deprecated
*/
public static function del($id) {
- $obj = new self();
- $obj->id = $id;
- $obj->find();
- if ($obj->fetch()) {
- $params = [];
- CRM_Utils_Hook::pre('delete', 'Website', $id, $params);
- $obj->delete();
- }
- else {
- return FALSE;
- }
- CRM_Utils_Hook::post('delete', 'Website', $id, $obj);
- return TRUE;
+ return (bool) static::deleteRecord(['id' => $id]);
}
/**
/**
* Delete membership log record.
*
- * @param int $membershipID
+ * @param int $id
*
* @return mixed
+ *
+ * @deprecated
*/
- public static function del($membershipID) {
- $membershipLog = new CRM_Member_DAO_MembershipLog();
- $membershipLog->membership_id = $membershipID;
- return $membershipLog->delete();
+ public static function del($id) {
+ return (bool) static::deleteRecord(['id' => $id]);
}
/**