*/
/**
- * new version of civicrm apis. See blog post at
- * http://civicrm.org/node/131
- * @todo Write sth
+ * This api exposes CiviCRM contacts.
*
- * @package CiviCRM_APIv3
- * @subpackage API_Contact
- * @copyright CiviCRM LLC (c) 2004-2014
- * $Id: Contact.php 30879 2010-11-22 15:45:55Z shot $
+ * Contacts are the main entity in CiviCRM and this api is more robust than most.
+ * - Get action allows all params supported by advanced search.
+ * - Create action allows creating several related entities at once (e.g. email).
+ * - Create allows checking for duplicate contacts.
+ * Use getfields to list the full range of parameters and options supported by each action.
*
+ * @package CiviCRM_APIv3
*/
/**
- * Create or update a contact (note you should always call this via civicrm_api() & never directly)
+ * Create or update a Contact.
*
* @param array $params
* Input parameters.
*
- * Allowed @params array keys are:
- * {@getfields contact_create}
- *
- *
* @throws API_Exception
- * @example ContactCreate.php Example of Create Call
*
* @return array
* API Result Array
- *
*/
function civicrm_api3_contact_create($params) {
* Adjust Metadata for Create action.
*
* @param array $params
- * Array or parameters determined by getfields.
+ * Array of parameters determined by getfields.
*/
function _civicrm_api3_contact_create_spec(&$params) {
$params['contact_type']['api.required'] = 1;
function civicrm_api3_contact_get($params) {
$options = array();
_civicrm_api3_contact_get_supportanomalies($params, $options);
- $contacts = _civicrm_api3_get_using_query_object('contact', $params, $options);
- return civicrm_api3_create_success($contacts, $params, 'contact');
+ $contacts = _civicrm_api3_get_using_query_object('Contact', $params, $options);
+ return civicrm_api3_create_success($contacts, $params, 'Contact');
}
/**
- * Get count of contact.
+ * Get number of contacts matching the supplied criteria.
*
* @param array $params
*
function civicrm_api3_contact_getcount($params) {
$options = array();
_civicrm_api3_contact_get_supportanomalies($params, $options);
- $count = _civicrm_api3_get_using_query_object('contact', $params, $options, 1);
+ $count = _civicrm_api3_get_using_query_object('Contact', $params, $options, 1);
return (int) $count;
}
/**
- * Adjust Metadata for Get action
+ * Adjust Metadata for Get action.
*
* @param array $params
- * Array or parameters determined by getfields.
+ * Array of parameters determined by getfields.
*/
function _civicrm_api3_contact_get_spec(&$params) {
$params['contact_is_deleted']['api.default'] = 0;
- //we declare all these pseudofields as there are other undocumented fields accessible
+ // We declare all these pseudoFields as there are other undocumented fields accessible
// via the api - but if check permissions is set we only allow declared fields
$params['address_id']['title'] = 'Primary Address ID';
$params['street_address']['title'] = 'Primary Address Street Address';
}
/**
- * We are supporting 'showAll' = 'all', 'trash' or 'active' for contact get
+ * Support for historical oddities.
+ *
+ * We are supporting 'showAll' = 'all', 'trash' or 'active' for Contact get
* and for getcount
* - hopefully some day we'll come up with a std syntax for the 3-way-boolean of
* 0, 1 or not set
}
/**
- * Delete a contact with given contact id
+ * Delete a Contact with given contact_id.
*
* @param array $params
* input parameters per getfields
/**
+ * Check parameters passed in.
+ *
+ * This function is on it's way out.
+ *
* @param array $params
* @param bool $dupeCheck
*
$params['employer_id'] = $dupeIds[0];
}
else {
- $result = civicrm_api3('contact', 'create', array(
+ $result = civicrm_api3('Contact', 'create', array(
'organization_name' => $params['current_employer'],
'contact_type' => 'Organization',
));
}
/**
- * Takes an associative array and creates a contact object and all the associated
- * derived objects (i.e. individual, location, email, phone etc)
+ * Helper function for Contact create.
*
* @param array $params
* (reference ) an assoc array of name/value pairs.
}
/**
- * Validate the addressee or email or postal greetings
+ * Validate the addressee or email or postal greetings.
*
* @param array $params
- * Associative array of property name/value.
- * pairs to insert in new contact.
+ * Array per getfields metadata.
*
* @throws API_Exception
- *
*/
function _civicrm_api3_greeting_format_params($params) {
$greetingParams = array('', '_id', '_custom');
}
$formatParams = FALSE;
- // unset display value from params.
+ // Unset display value from params.
if (isset($params["{$key}{$greeting}_display"])) {
unset($params["{$key}{$greeting}_display"]);
}
}
/**
- * Old contact quick search api
+ * Old Contact quick search api.
*
* @deprecated
*
- * {@example ContactGetquick.php 0}
* @param array $params
+ *
* @return array
* @throws \API_Exception
*/
$where .= " AND cc.contact_type LIKE '{$contactType}'";
}
- //set default for current_employer or return contact with particular id
+ // Set default for current_employer or return contact with particular id
if (!empty($params['id'])) {
$where .= " AND cc.id = " . (int) $params['id'];
}
$where .= " AND cc.id <> " . (int) $params['cid'];
}
- //contact's based of relationhip type
+ // Contact's based of relationhip type
$relType = NULL;
if (!empty($params['rel'])) {
$relation = explode('_', CRM_Utils_Array::value('rel', $params));
}
}
- return civicrm_api3_create_success($contactList, $params, 'contact', 'getquick');
+ return civicrm_api3_create_success($contactList, $params, 'Contact', 'getquick');
}
/**
* Merges given pair of duplicate contacts.
*
* @param array $params
- * Input parameters.
- *
- * Allowed @params array keys are:
- * {int main_id main contact id with whom merge has to happen}
- * {int other_id duplicate contact which would be deleted after merge operation}
- * {string mode helps decide how to behave when there are conflicts.
- * A 'safe' value skips the merge if there are no conflicts. Does a force merge otherwise.}
- * {boolean auto_flip wether to let api decide which contact to retain and which to delete.}
+ * Allowed array keys are:
+ * -int main_id: main contact id with whom merge has to happen
+ * -int other_id: duplicate contact which would be deleted after merge operation
+ * -string mode: "safe" skips the merge if there are no conflicts. Does a force merge otherwise.
+ * -boolean auto_flip: whether to let api decide which contact to retain and which to delete.
*
* @return array
* API Result Array
- *
*/
function civicrm_api3_contact_merge($params) {
$mode = CRM_Utils_Array::value('mode', $params, 'safe');
}
/**
+ * Adjust metadata for contact_proximity api function.
+ *
* @param array $params
*/
function _civicrm_api3_contact_proximity_spec(&$params) {
}
/**
+ * Get contacts by proximity.
+ *
* @param array $params
*
* @return array
$contacts[] = $dao->toArray();
}
- return civicrm_api3_create_success($contacts, $params, 'contact', 'get_by_location', $dao);
+ return civicrm_api3_create_success($contacts, $params, 'Contact', 'get_by_location', $dao);
}
/**
+ * Get parameters for getlist function.
+ *
* @see _civicrm_api3_generic_getlist_params
*
* @param array $request
}
/**
+ * Get output for getlist function.
+ *
* @see _civicrm_api3_generic_getlist_output
*
* @param array $result
function _civicrm_api3_contact_getlist_output($result, $request) {
$output = array();
if (!empty($result['values'])) {
- $addressFields = array_intersect(array('street_address', 'city', 'state_province', 'country'), $request['params']['return']);
+ $addressFields = array_intersect(array(
+ 'street_address',
+ 'city',
+ 'state_province',
+ 'country',
+ ),
+ $request['params']['return']);
foreach ($result['values'] as $row) {
$data = array(
'id' => $row[$request['id_field']],