Merge pull request #4621 from atif-shaikh/CRM-15589
[civicrm-core.git] / api / v3 / CustomSearch.php
1 <?php
2
3 /**
4 * Retrieve a CustomSearches
5 *
6 * FIXME This is a bare-minimum placeholder
7 *
8 * @param array $params
9 *
10 * {@example OptionValueGet.php 0}
11 * @example OptionValueGet.php
12 *
13 * @return array details of found Option Values
14 * {@getfields OptionValue_get}
15 * @access public
16 */
17 function civicrm_api3_custom_search_get($params) {
18 require_once 'api/v3/OptionValue.php';
19 $params['option_group_id'] = CRM_Core_DAO::getFieldValue(
20 'CRM_Core_DAO_OptionGroup', 'custom_search', 'id', 'name'
21 );
22 return civicrm_api3_option_value_get($params);
23 }
24
25 /**
26 * Add a CustomSearch
27 *
28 * Allowed @params array keys are:
29 *
30 * {@example OptionValueCreate.php}
31 *
32 * @param array $params
33 *
34 * @return array of newly created option_value property values.
35 * {@getfields OptionValue_create}
36 * @access public
37 */
38 function civicrm_api3_custom_search_create($params) {
39 require_once 'api/v3/OptionValue.php';
40 $params['option_group_id'] = CRM_Core_DAO::getFieldValue(
41 'CRM_Core_DAO_OptionGroup', 'custom_search', 'id', 'name'
42 );
43 // empirically, class name goes to both 'name' and 'label'
44 if (array_key_exists('name', $params)) {
45 $params['label'] = $params['name'];
46 }
47 return civicrm_api3_option_value_create($params);
48 }
49
50 /**
51 * Adjust Metadata for Create action
52 *
53 * The metadata is used for setting defaults, documentation & validation
54 * @param array $params array or parameters determined by getfields
55 */
56 function _civicrm_api3_custom_search_create_spec(&$params) {
57 require_once 'api/v3/OptionValue.php';
58 _civicrm_api3_option_value_create_spec($params);
59 $params['option_group_id']['api.default'] = CRM_Core_DAO::getFieldValue(
60 'CRM_Core_DAO_OptionGroup', 'custom_search', 'id', 'name'
61 );
62 $params['name']['api.aliases'] = array('class_name');
63 }
64
65 /**
66 * Deletes an existing ReportTemplate
67 *
68 * @param array $params
69 *
70 * {@example ReportTemplateDelete.php 0}
71 *
72 * @return array Api result
73 * {@getfields ReportTemplate_create}
74 * @access public
75 */
76 function civicrm_api3_custom_search_delete($params) {
77 require_once 'api/v3/OptionValue.php';
78 return civicrm_api3_option_value_delete($params);
79 }