Merge pull request #15842 from totten/master-config-backend
[civicrm-core.git] / api / v3 / Email.php
1 <?php
2 /*
3 +--------------------------------------------------------------------+
4 | Copyright CiviCRM LLC. All rights reserved. |
5 | |
6 | This work is published under the GNU AGPLv3 license with some |
7 | permitted exceptions and without any warranty. For full license |
8 | and copyright information, see https://civicrm.org/licensing |
9 +--------------------------------------------------------------------+
10 */
11
12 /**
13 * This api exposes CiviCRM email records.
14 *
15 * @package CiviCRM_APIv3
16 */
17
18 /**
19 * Add an Email for a contact.
20 *
21 * @param array $params
22 * Array per getfields metadata.
23 *
24 * @return array
25 * API result array
26 */
27 function civicrm_api3_email_create($params) {
28 return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params, 'Email');
29 }
30
31 /**
32 * Adjust Metadata for Create action.
33 *
34 * The metadata is used for setting defaults, documentation & validation.
35 *
36 * @param array $params
37 * Array of parameters determined by getfields.
38 */
39 function _civicrm_api3_email_create_spec(&$params) {
40 // TODO a 'clever' default should be introduced
41 $params['is_primary']['api.default'] = 0;
42 $params['email']['api.required'] = 1;
43 $params['contact_id']['api.required'] = 1;
44 $defaultLocation = CRM_Core_BAO_LocationType::getDefault();
45 if ($defaultLocation) {
46 $params['location_type_id']['api.default'] = $defaultLocation->id;
47 }
48 }
49
50 /**
51 * Deletes an existing Email.
52 *
53 * @param array $params
54 * Array per getfields metadata.
55 *
56 * @return array
57 * API result array.
58 */
59 function civicrm_api3_email_delete($params) {
60 return _civicrm_api3_basic_delete(_civicrm_api3_get_BAO(__FUNCTION__), $params);
61 }
62
63 /**
64 * Retrieve one or more emails.
65 *
66 * @param array $params
67 * Array per getfields metadata.
68 *
69 * @return array
70 * api result array
71 */
72 function civicrm_api3_email_get($params) {
73 return _civicrm_api3_basic_get(_civicrm_api3_get_BAO(__FUNCTION__), $params);
74 }