CRM_Utils_Array::value('id', $params)); $noteBAO = CRM_Core_BAO_Note::add($params, $ids); if (is_a($noteBAO, 'CRM_Core_Error')) { $error = civicrm_api3_create_error("Note could not be created"); return $error; } else { $note = array(); _civicrm_api3_object_to_array($noteBAO, $note[$noteBAO->id]); } $result = civicrm_api3_create_success($note, $params); return civicrm_api3_create_success($note, $params); } /** * Adjust Metadata for Create action * * The metadata is used for setting defaults, documentation & validation * @param array $params array or parameters determined by getfields */ function _civicrm_api3_note_create_spec(&$params) { $params['entity_table']['api.default'] = "civicrm_contact"; $params['modified_date']['api.default'] = "now"; $params['note']['api.required'] = 1; $params['entity_id']['api.required'] = 1; } /** * Deletes an existing note * * This API is used for deleting a note * * @params array $paramsarray including id of the note to be deleted * {@getfields note_delete} * * @return null * @access public */ function civicrm_api3_note_delete($params) { $result = new CRM_Core_BAO_Note(); return $result->del($params['id']) ? civicrm_api3_create_success() : civicrm_api3_create_error('Error while deleting Note'); } /** * Retrieve a specific note, given a set of input params * * @param array $params input parameters * * @return array array of properties, * if error an array with an error id and error message * {@getfields note_get} * @static void * @access public */ function civicrm_api3_note_get($params) { return _civicrm_api3_basic_get('CRM_Core_BAO_Note', $params); } /** * Adjust Metadata for Get action * * The metadata is used for setting defaults, documentation & validation * @param array $params array or parameters determined by getfields */ function _civicrm_api3_note_get_spec(&$params) { $params['entity_table']['api.default'] = "civicrm_contact"; } /** * Get all descendents of given note * * @param array $params Associative array; only required 'id' parameter is used * * @return array Nested associative array beginning with direct children of given note. */ function &civicrm_api3_note_tree_get($params) { civicrm_api3_verify_mandatory($params, NULL, array('id')); if (!is_numeric($params['id'])) { return civicrm_api3_create_error(ts("Invalid note ID")); } if (!isset($params['max_depth'])) { $params['max_depth'] = 0; } if (!isset($params['snippet'])) { $params['snippet'] = FALSE; } $noteTree = CRM_Core_BAO_Note::getNoteTree($params['id'], $params['max_depth'], $params['snippet']); return civicrm_api3_create_success($noteTree, $params); }