static function add($groupID) { // first delete the current cache self::remove($groupID); if (!is_array($groupID)) { $groupID = array($groupID); } $params['return.contact_id'] = 1; $params['offset'] = 0; $params['rowCount'] = 0; $params['sort'] = null; $params['smartGroupCache'] = false; require_once 'api/v2/Contact.php'; $values = array(); foreach ($groupID as $gid) { $params['group'] = array(); $params['group'][$gid] = 1; // the below call update the cache table as a byproduct of the query $contacts = civicrm_contact_search($params); } }
static function isContactInGroup($contactID, $groupID) { if (!CRM_Utils_Rule::positiveInteger($contactID) || !CRM_Utils_Rule::positiveInteger($groupID)) { return false; } $params = array('group' => array($groupID => 1), 'contact_id' => $contactID, 'return.contact_id' => 1); require_once 'api/v2/Contact.php'; $contacts = civicrm_contact_search($params); if (!empty($contacts)) { return true; } return false; }
/** * Get the list of member for a group id * * @param int $lngGroupId this is group id * * @return array $aMembers this arrray contains the list of members for this group id * @access public * @static */ static function &getMember($groupID, $useCache = true) { $params['group'] = array($groupID => 1); $params['return.contact_id'] = 1; $params['offset'] = 0; $params['rowCount'] = 0; $params['sort'] = null; $params['smartGroupCache'] = $useCache; require_once 'api/v2/Contact.php'; $contacts = civicrm_contact_search($params); $aMembers = array(); foreach ($contacts as $contact) { $aMembers[$contact['contact_id']] = 1; } return $aMembers; }
/** * Retrieve a specific contact, given a set of search params * * @deprecated deprecated since version 2.2.3 * * @param array $params (reference ) input parameters * * @return array (reference ) array of properties, if error an array with an error id and error message * @static void * @access public */ function _civicrm_contact_get_deprecated(&$params) { $values = array(); if (empty($params)) { return civicrm_create_error(ts('No input parameters present')); } if (!is_array($params)) { return civicrm_create_error(ts('Input parameters is not an array')); } $contacts =& civicrm_contact_search($params); if (civicrm_error($contacts)) { return $contacts; } if (count($contacts) != 1 && !CRM_Utils_Array::value('returnFirst', $params)) { return civicrm_create_error(ts('%1 contacts matching input params', array(1 => count($contacts)))); } elseif (count($contacts) == 0) { return civicrm_create_error(ts('No contacts match the input params')); } $contacts = array_values($contacts); return $contacts[0]; }
static function getGlobalContacts(&$groupInfo) { $globalContacts = array(); require_once 'CRM/Case/XMLProcessor/Settings.php'; require_once 'CRM/Contact/BAO/Group.php'; require_once 'api/v2/Contact.php'; $settingsProcessor = new CRM_Case_XMLProcessor_Settings(); $settings = $settingsProcessor->run(); if (!empty($settings)) { $groupInfo['name'] = $settings['groupname']; if ($groupInfo['name']) { $searchParams = array('name' => $groupInfo['name']); $results = array(); CRM_Contact_BAO_Group::retrieve($searchParams, $results); if ($results) { $groupInfo['id'] = $results['id']; $groupInfo['title'] = $results['title']; $searchParams = array('group' => array($groupInfo['id'] => 1), 'return.sort_name' => 1, 'return.display_name' => 1, 'return.email' => 1, 'return.phone' => 1); $globalContacts = civicrm_contact_search($searchParams); } } } return $globalContacts; }
/** * Test civicrm_contact_search_count() */ public function testContactSearchEmail() { $params = array('email' => '*****@*****.**', 'contact_type' => 'Individual', 'location_type_id' => 1); $contact =& civicrm_contact_create($params); $this->assertEquals(0, $contact['is_error'], "In line " . __LINE__ . " error message: " . $contact['error_message']); $this->assertEquals(1, $contact['contact_id'], "In line " . __LINE__); $params = array('email' => 'man2'); $result = civicrm_contact_search($params); $this->assertEquals(1, $result[1]['contact_id']); $this->assertEquals('*****@*****.**', $result[1]['email']); // delete the contact civicrm_contact_delete($contact); }