| GNU Affero General Public License or the licensing of CiviCRM, |
| see the CiviCRM license FAQ at http://civicrm.org/licensing |
+--------------------------------------------------------------------+
-*/
+ */
/**
* new version of civicrm apis. See blog post at
* @subpackage API_Contact
* @copyright CiviCRM LLC (c) 2004-2014
* $Id: Contact.php 30879 2010-11-22 15:45:55Z shot $
- *
*/
/**
- * Create or update a contact (note you should always call this via civicrm_api() & never directly)
+ * Create or update a contact (note you should always call this via civicrm_api() & never directly).
*
* @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
*
- * @static void
- * @access public
+ * @return array
+ * API Result Array
*/
function civicrm_api3_contact_create($params) {
$defLocType = CRM_Core_BAO_LocationType::getDefault();
$params['email'] = array(
1 => array(
- 'email' => $email,
+ 'email' => $email,
'is_primary' => 1,
'location_type_id' => ($defLocType->id) ? $defLocType->id : 1,
),
if (!empty($params['home_url'])) {
$websiteTypes = CRM_Core_PseudoConstant::get('CRM_Core_DAO_Website', 'website_type_id');
$params['website'] = array(
- 1 => array(
- 'website_type_id' => key($websiteTypes),
+ 1 => array(
+ 'website_type_id' => key($websiteTypes),
'url' => $params['home_url'],
),
);
}
/**
- * Adjust Metadata for Create action
+ * Adjust Metadata for Create action.
*
* @param array $params
* Array or parameters determined by getfields.
}
/**
- * Retrieve one or more contacts, given a set of search params
- *
- * @param array input parameters
+ * Retrieve one or more contacts, given a set of search params.
*
- * @return array API Result Array
- * (@getfields contact_get}
- * @static void
- * @access public
- *
- * @example ContactGet.php Standard GET example
+ * @param array $params
*
+ * @return array
+ * API Result Array
*/
function civicrm_api3_contact_get($params) {
$options = array();
}
/**
+ * Get count of contact.
+ *
* @param array $params
*
* @return int
}
/**
- * Adjust Metadata for Get action
+ * Adjust Metadata for Get action.
*
* @param array $params
* Array or 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';
}
/**
+ * 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
}
/**
- * Delete a contact with given contact id
+ * Delete a contact with given contact id.
*
* @param array $params
- * (reference ) input parameters, contact_id element required.
- *
- * @return array API Result Array
- * @access public
+ * input parameters per getfields
*
- * @example ContactDelete.php
- * {@getfields contact_delete}
+ * @return array
+ * API Result Array
*/
function civicrm_api3_contact_delete($params) {
/**
+ * Check parameters passed in.
+ *
+ * This function is on it's way out.
+ *
* @param array $params
* @param bool $dupeCheck
- * @param bool $dupeErrorArray
- * @param bool $obsoletevalue
- * @param int $dedupeRuleGroupID
*
* @return null
* @throws API_Exception
* @throws CiviCRM_API3_Exception
*/
-function _civicrm_api3_contact_check_params(&$params, $dupeCheck = TRUE, $dupeErrorArray = FALSE, $obsoletevalue = TRUE, $dedupeRuleGroupID = NULL)
-{
+function _civicrm_api3_contact_check_params(&$params, $dupeCheck) {
switch (strtolower(CRM_Utils_Array::value('contact_type', $params))) {
case 'household':
$ids = CRM_Dedupe_Finder::dupesByParams($dedupeParams, $params['contact_type'], 'Unsupervised', array());
if (count($ids) > 0) {
- throw new API_Exception("Found matching contacts: " . implode(',', $ids), "duplicate", array("ids" => $ids));
+ throw new API_Exception("Found matching contacts: " . implode(',', $ids), "duplicate", array("ids" => $ids));
}
}
else {
$result = civicrm_api3('contact', 'create', array(
'organization_name' => $params['current_employer'],
- 'contact_type' => 'Organization'
+ 'contact_type' => 'Organization',
));
$params['employer_id'] = $result['id'];
}
}
/**
- * 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.
* @param int $contactID
* If present the contact with that ID is updated.
*
- * @return CRM_Contact_BAO_Contact object
- * @access public
- * @static
+ * @return CRM_Contact_BAO_Contact|CRM_Core_Error
*/
function _civicrm_api3_contact_update($params, $contactID = NULL) {
//@todo - doesn't contact create support 'id' which is already set- check & remove
}
/**
- * 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
- *
- * @access public
*/
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
*/
function civicrm_api3_contact_getquick($params) {
civicrm_api3_verify_mandatory($params, NULL, array('name'));
if ($listCurrentEmployer && !empty($currEmpDetails)) {
$contactList = array(
array(
- 'data' => $currEmpDetails['data'],
- 'id' => $currEmpDetails['id']
- )
+ 'data' => $currEmpDetails['data'],
+ 'id' => $currEmpDetails['id'],
+ ),
);
}
else {
$contactList = array(
array(
'data' => $name,
- 'id' => $name
- )
+ 'id' => $name,
+ ),
);
}
}
}
/**
+ * Declare deprecated api functions.
+ *
* @deprecated api notice
- * @return array of deprecated actions
+ * @return array
+ * Array of deprecated actions
*/
function _civicrm_api3_contact_deprecation() {
return array('getquick' => 'The "getquick" action is deprecated in favor of "getlist".');
* 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.}
*
- * @return array API Result Array
- *
- * @static void
- * @access public
+ * @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
/**
+ * Get parameters for getlist function.
+ *
* @see _civicrm_api3_generic_getlist_params
*
- * @param $request
- * Array.
+ * @param array $request
*/
function _civicrm_api3_contact_getlist_params(&$request) {
// get the autocomplete options from settings
}
/**
+ * Get output for getlist function.
+ *
* @see _civicrm_api3_generic_getlist_output
*
- * @param $result
- * Array.
- * @param $request
- * Array.
+ * @param array $result
+ * @param array $request
*
* @return array
*/
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']],