id]); CRM_Member_PseudoConstant::membershipType(NULL, TRUE); civicrm_api3('membership', 'getfields', array('cache_clear' => 1, 'fieldname' => 'membership_type_id')); civicrm_api3('profile', 'getfields', array('action' => 'submit', 'cache_clear' => 1)); return civicrm_api3_create_success($membershipType, $params, 'membership_type', 'create', $membershipTypeBAO); } /** * 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_membership_type_create_spec(&$params) { // todo could set default here probably $params['domain_id']['api.required'] = 1; $params['member_of_contact_id']['api.required'] = 1; $params['financial_type_id']['api.required'] = 1; $params['name']['api.required'] = 1; $params['duration_unit']['api.required'] = 1; $params['duration_interval']['api.required'] = 1; } /** * Get a Membership Type. * * This api is used for finding an existing membership type. * * @param array $params * An associative array of name/value property values of civicrm_membership_type. * {getfields MembershipType_get} * * @return array * Array of all found membership type property values. */ function civicrm_api3_membership_type_get($params) { return _civicrm_api3_basic_get(_civicrm_api3_get_BAO(__FUNCTION__), $params); } /** * Deletes an existing membership type * * This API is used for deleting a membership type * Required parameters : id of a membership type * * @param array $params * * @return boolean * true if success, else false */ function civicrm_api3_membership_type_delete($params) { return _civicrm_api3_basic_delete(_civicrm_api3_get_BAO(__FUNCTION__), $params); }