3 +--------------------------------------------------------------------+
4 | Copyright CiviCRM LLC. All rights reserved. |
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 +--------------------------------------------------------------------+
13 * This api exposes CiviCRM Navigation BAO.
15 * @package CiviCRM_APIv3
19 * Adjust metadata for navigation reset action.
21 * @param array $params
23 function _civicrm_api3_navigation_reset_spec(&$params) {
24 $params['for']['api.required'] = TRUE;
25 $params['for']['title'] = "Is this reset for all navigation or reports";
26 $params['for']['type'] = CRM_Utils_Type
::T_STRING
;
27 $params['for']['options'] = [
28 'all' => 'General Navigation rebuild from xml',
29 'report' => 'Reset report menu to default structure',
31 $params['domain_id']['api.default'] = CRM_Core_Config
::domainID();
32 $params['domain_id']['type'] = CRM_Utils_Type
::T_INT
;
33 $params['domain_id']['title'] = 'Domain ID';
39 * @param array $params
40 * Array of name/value pairs.
45 function civicrm_api3_navigation_reset($params) {
46 if ($params['for'] == 'report') {
47 CRM_Core_BAO_Navigation
::rebuildReportsNavigation($params['domain_id']);
49 CRM_Core_BAO_Navigation
::resetNavigation();
50 return civicrm_api3_create_success(1, $params, 'navigation', 'reset');
54 * Adjust metadata for navigation get action.
56 * @param array $params
58 function _civicrm_api3_navigation_get_spec(&$params) {
64 * @param array $params
65 * Array of name/value pairs.
70 function civicrm_api3_navigation_get($params) {
71 return _civicrm_api3_basic_get(_civicrm_api3_get_BAO(__FUNCTION__
), $params);
75 * Create navigation item.
77 * @param array $params
78 * Array of name/value pairs.
83 function civicrm_api3_navigation_create($params) {
84 civicrm_api3_verify_one_mandatory($params, NULL, ['name', 'label']);
85 return _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__
), $params, 'Navigation');
89 * Adjust metadata for navigation create action.
91 * @param array[] $fields
93 function _civicrm_api3_navigation_create_spec(&$fields) {
94 $fields['is_active']['api.default'] = TRUE;
95 $fields['domain_id']['api.default'] = CRM_Core_Config
::domainID();
99 * Delete navigation item.
101 * @param array $params
102 * Array of name/value pairs.
107 function civicrm_api3_navigation_delete($params) {
108 return _civicrm_api3_basic_delete(_civicrm_api3_get_BAO(__FUNCTION__
), $params);