本文整理匯總了PHP中CRM_Mailing_Event_BAO_Subscribe::deleteGroup方法的典型用法代碼示例。如果您正苦於以下問題:PHP CRM_Mailing_Event_BAO_Subscribe::deleteGroup方法的具體用法?PHP CRM_Mailing_Event_BAO_Subscribe::deleteGroup怎麽用?PHP CRM_Mailing_Event_BAO_Subscribe::deleteGroup使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類CRM_Mailing_Event_BAO_Subscribe
的用法示例。
在下文中一共展示了CRM_Mailing_Event_BAO_Subscribe::deleteGroup方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: 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);
}