本文整理汇总了PHP中CRM_Contact_DAO_Group::delete方法的典型用法代码示例。如果您正苦于以下问题:PHP CRM_Contact_DAO_Group::delete方法的具体用法?PHP CRM_Contact_DAO_Group::delete怎么用?PHP CRM_Contact_DAO_Group::delete使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CRM_Contact_DAO_Group
的用法示例。
在下文中一共展示了CRM_Contact_DAO_Group::delete方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: discard
/**
* Delete the group and all the object that connect to this group.
*
* Incredibly destructive.
*
* @param int $id Group id.
*/
public static function discard($id)
{
CRM_Utils_Hook::pre('delete', 'Group', $id, CRM_Core_DAO::$_nullArray);
$transaction = new CRM_Core_Transaction();
// added for CRM-1631 and CRM-1794
// delete all subscribed mails with the selected group id
$subscribe = new CRM_Mailing_Event_DAO_Subscribe();
$subscribe->group_id = $id;
$subscribe->delete();
// delete all Subscription records with the selected group id
$subHistory = new CRM_Contact_DAO_SubscriptionHistory();
$subHistory->group_id = $id;
$subHistory->delete();
// delete all crm_group_contact records with the selected group id
$groupContact = new CRM_Contact_DAO_GroupContact();
$groupContact->group_id = $id;
$groupContact->delete();
// make all the 'add_to_group_id' field of 'civicrm_uf_group table', pointing to this group, as null
$params = array(1 => array($id, 'Integer'));
$query = "UPDATE civicrm_uf_group SET `add_to_group_id`= NULL WHERE `add_to_group_id` = %1";
CRM_Core_DAO::executeQuery($query, $params);
$query = "UPDATE civicrm_uf_group SET `limit_listings_group_id`= NULL WHERE `limit_listings_group_id` = %1";
CRM_Core_DAO::executeQuery($query, $params);
// make sure u delete all the entries from civicrm_mailing_group and civicrm_campaign_group
// CRM-6186
$query = "DELETE FROM civicrm_mailing_group where entity_table = 'civicrm_group' AND entity_id = %1";
CRM_Core_DAO::executeQuery($query, $params);
$query = "DELETE FROM civicrm_campaign_group where entity_table = 'civicrm_group' AND entity_id = %1";
CRM_Core_DAO::executeQuery($query, $params);
$query = "DELETE FROM civicrm_acl_entity_role where entity_table = 'civicrm_group' AND entity_id = %1";
CRM_Core_DAO::executeQuery($query, $params);
if (CRM_Core_BAO_Setting::getItem(CRM_Core_BAO_Setting::MULTISITE_PREFERENCES_NAME, 'is_enabled')) {
// clear any descendant groups cache if exists
CRM_Core_BAO_Cache::deleteGroup('descendant groups for an org');
}
// delete from group table
$group = new CRM_Contact_DAO_Group();
$group->id = $id;
$group->delete();
$transaction->commit();
CRM_Utils_Hook::post('delete', 'Group', $id, $group);
// delete the recently created Group
$groupRecent = array('id' => $id, 'type' => 'Group');
CRM_Utils_Recent::del($groupRecent);
}
示例2: discard
/**
* Function to delete the group and all the object that connect to
* this group. Incredibly destructive
*
* @param int $id group id
*
* @return null
* @access public
* @static
*
*/
static function discard($id)
{
require_once 'CRM/Utils/Hook.php';
require_once 'CRM/Contact/DAO/SubscriptionHistory.php';
CRM_Utils_Hook::pre('delete', 'Group', $id, CRM_Core_DAO::$_nullArray);
require_once 'CRM/Core/Transaction.php';
$transaction = new CRM_Core_Transaction();
// added for CRM-1631 and CRM-1794
// delete all subscribed mails with the selected group id
require_once 'CRM/Mailing/Event/BAO/Subscribe.php';
$subscribe = new CRM_Mailing_Event_BAO_Subscribe();
$subscribe->deleteGroup($id);
// delete all Subscription records with the selected group id
$subHistory = new CRM_Contact_DAO_SubscriptionHistory();
$subHistory->group_id = $id;
$subHistory->delete();
// delete all crm_group_contact records with the selected group id
require_once 'CRM/Contact/DAO/GroupContact.php';
$groupContact = new CRM_Contact_DAO_GroupContact();
$groupContact->group_id = $id;
$groupContact->delete();
// make all the 'add_to_group_id' field of 'civicrm_uf_group table', pointing to this group, as null
$params = array(1 => array($id, 'Integer'));
$query = "update civicrm_uf_group SET `add_to_group_id`= NULL where `add_to_group_id` = %1";
CRM_Core_DAO::executeQuery($query, $params);
$query = "update civicrm_uf_group SET `limit_listings_group_id`= NULL where `limit_listings_group_id` = %1";
CRM_Core_DAO::executeQuery($query, $params);
if (defined('CIVICRM_MULTISITE') && CIVICRM_MULTISITE) {
// clear any descendant groups cache if exists
require_once 'CRM/Core/BAO/Cache.php';
$finalGroups =& CRM_Core_BAO_Cache::deleteGroup('descendant groups for an org');
}
// delete from group table
$group = new CRM_Contact_DAO_Group();
$group->id = $id;
$group->delete();
$transaction->commit();
CRM_Utils_Hook::post('delete', 'Group', $id, $group);
// delete the recently created Group
require_once 'CRM/Utils/Recent.php';
$groupRecent = array('id' => $id, 'type' => 'Group');
CRM_Utils_Recent::del($groupRecent);
}