function confirmSignature($activity_id, $contact_id, $petition_id) { //change activity status to completed (status_id=2) $query = "UPDATE civicrm_activity SET status_id = 2 \n WHERE \tid = {$activity_id} \n AND \tsource_contact_id = {$contact_id}"; CRM_Core_DAO::executeQuery($query, CRM_Core_DAO::$_nullArray); // define constant CIVICRM_TAG_UNCONFIRMED, if not exist in civicrm.settings.php if (!defined('CIVICRM_TAG_UNCONFIRMED')) { define('CIVICRM_TAG_UNCONFIRMED', 'Unconfirmed'); } // remove 'Unconfirmed' tag for this contact // Check if contact 'email confirmed' tag exists, else create one // This should be in the petition module initialise code to create a default tag for this require_once 'api/v2/Tag.php'; $tag_params['name'] = CIVICRM_TAG_UNCONFIRMED; $tag = civicrm_tag_get($tag_params); require_once 'api/v2/EntityTag.php'; unset($tag_params); $tag_params['contact_id'] = $contact_id; $tag_params['tag_id'] = $tag['id']; $tag_value = civicrm_entity_tag_remove($tag_params); // set permanent cookie to indicate this users email address now confirmed setcookie('confirmed_' . $petition_id, $activity_id, time() + $this->cookieExpire, '/'); return true; }
function testEntityTagRemoveHHORG() { $entityTagParams = array('contact_id_i' => $this->_individualID, 'contact_id_h' => $this->_householdID, 'tag_id' => $this->_tagID); $this->entityTagAdd($entityTagParams); $params = array('contact_id_h' => $this->_householdID, 'contact_id_o' => $this->_organizationID, 'tag_id' => $this->_tagID); $result = civicrm_entity_tag_remove($params); $this->assertEquals($result['removed'], 1); $this->assertEquals($result['not_removed'], 1); }