Merge pull request #19352 from colemanw/afformRef
[civicrm-core.git] / api / v3 / CustomSearch.php
CommitLineData
6a488035 1<?php
c28e1768
CW
2/*
3 +--------------------------------------------------------------------+
a30c801b 4 | Copyright CiviCRM LLC. All rights reserved. |
c28e1768 5 | |
a30c801b
TO
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 |
c28e1768
CW
9 +--------------------------------------------------------------------+
10 */
11
12/**
13 * This api exposes CiviCRM custom search.
14 *
15 * @package CiviCRM_APIv3
c28e1768 16 */
6a488035
TO
17
18/**
61fe4988 19 * Retrieve custom searches.
6a488035 20 *
c490a46a 21 * @param array $params
6a488035 22 *
a6c01b45 23 * @return array
00f8641b 24 * API result array
6a488035
TO
25 */
26function civicrm_api3_custom_search_get($params) {
27 require_once 'api/v3/OptionValue.php';
28 $params['option_group_id'] = CRM_Core_DAO::getFieldValue(
29 'CRM_Core_DAO_OptionGroup', 'custom_search', 'id', 'name'
30 );
31 return civicrm_api3_option_value_get($params);
32}
33
34/**
9d32e6f7 35 * Add a CustomSearch.
6a488035 36 *
c490a46a 37 * @param array $params
77b97be7 38 *
a6c01b45 39 * @return array
00f8641b 40 * API result array
6a488035
TO
41 */
42function civicrm_api3_custom_search_create($params) {
43 require_once 'api/v3/OptionValue.php';
44 $params['option_group_id'] = CRM_Core_DAO::getFieldValue(
45 'CRM_Core_DAO_OptionGroup', 'custom_search', 'id', 'name'
46 );
47 // empirically, class name goes to both 'name' and 'label'
48 if (array_key_exists('name', $params)) {
49 $params['label'] = $params['name'];
50 }
51 return civicrm_api3_option_value_create($params);
52}
53
11e09c59 54/**
0aa0303c
EM
55 * Adjust Metadata for Create action.
56 *
57 * The metadata is used for setting defaults, documentation & validation.
6a488035 58 *
cf470720 59 * @param array $params
b081365f 60 * Array of parameters determined by getfields.
6a488035
TO
61 */
62function _civicrm_api3_custom_search_create_spec(&$params) {
63 require_once 'api/v3/OptionValue.php';
64 _civicrm_api3_option_value_create_spec($params);
e310e129
C
65 $params['option_group_id']['api.default'] = CRM_Core_DAO::getFieldValue(
66 'CRM_Core_DAO_OptionGroup', 'custom_search', 'id', 'name'
67 );
cf8f0fff 68 $params['name']['api.aliases'] = ['class_name'];
6a488035
TO
69}
70
71/**
00f8641b 72 * Deletes an existing CustomSearch.
6a488035 73 *
cf470720 74 * @param array $params
6a488035 75 *
a6c01b45 76 * @return array
00f8641b 77 * API result array
6a488035
TO
78 */
79function civicrm_api3_custom_search_delete($params) {
80 require_once 'api/v3/OptionValue.php';
81 return civicrm_api3_option_value_delete($params);
82}