TaxesAndFeesController
extends AbstractRestOptionsController
in package
Table of Contents
- ENDPOINT_REPLACEMENT_RULES = array('rooms' => 'accommodations', 'per_room_per_day' => 'per_accommodation_per_day', 'per_room_percentage' => 'per_accommodation_percentage')
- $dbFormatKey => $endpointFormatKey
- $namespace : string
- Endpoint namespace.
- $options : OptionsSchema
- $rest_base : string
- Route base.
- __construct() : mixed
- batch_items() : array<string|int, mixed>
- Bulk create, update and delete items.
- get_endpoint_args_for_item_schema() : array<string|int, mixed>
- Compatibility functions for WP 5.5, since custom types are not supported anymore.
- get_item() : array<string|int, mixed>|WP_Error
- Retrieves the options.
- get_item_permissions_check() : bool
- Checks if a given request has access to read and manage settings.
- get_item_schema() : mixed
- get_public_batch_schema() : array<string|int, mixed>
- Get the batch schema, conforming to JSON Schema.
- register_routes() : mixed
- update_item() : array<string|int, mixed>|WP_Error
- Updates settings for the settings object.
- validate_setting_checkbox_field() : string|WP_Error
- Validate checkbox based settings.
- validate_setting_image_width_field() : string|WP_Error
- Validate image_width based settings.
- validate_setting_multiselect_field() : array<string|int, mixed>|WP_Error
- Validate multiselect based settings.
- validate_setting_radio_field() : string|WP_Error
- Validate radio based settings.
- validate_setting_select_field() : string|WP_Error
- Validate select based settings.
- validate_setting_text_field() : string
- Validate a text value for a text based setting.
- validate_setting_textarea_field() : string
- Validate textarea based settings.
- add_additional_fields_schema() : array<string|int, mixed>
- Add the schema from additional fields to an schema array.
- add_meta_query() : array<string|int, mixed>
- Add meta query.
- adjust_wp_5_5_datatype_compatibility() : mixed
- Change datatypes `date-time` to string, and `mixed` to composite of all built in types. This is required for maintaining forward compatibility with WP 5.5 since custom post types are not supported anymore.
- check_batch_limit() : bool|WP_Error
- Check batch limit.
- get_normalized_rest_base() : string
- Get normalized rest base.
- initOptions() : OptionsSchema
- prepareRequestAccommodationTaxes() : mixed
- prepareRequestFees() : mixed
- prepareRequestFeeTaxes() : mixed
- prepareRequestItem() : mixed|null
- prepareRequestServiceTaxes() : mixed
- prepareResponse() : mixed
- Preparing a value from the database for the response view.
- prepareResponseAccommodationTaxes() : mixed
- prepareResponseFees() : mixed
- addDefaultLimitAndRooms() : mixed
- getAccommodationTypeIds() : array<string|int, int>
- getAccommodationTypeProperty() : mixed
- getPerAccommodationPercentageProperty() : mixed
- getPerAccommodationPerDayProperty() : mixed
- getPerGuestPerDayProperty() : mixed
- prepareRequest() : mixed
- renameRequestOptionPropertyType() : mixed
- renameResponseOptionPropertyType() : mixed
- replaceAllOccurrencesKeysAndValues() : mixed|null
- Replace all array keys and values matching the replacement rules.
Constants
ENDPOINT_REPLACEMENT_RULES
$dbFormatKey => $endpointFormatKey
public
mixed
ENDPOINT_REPLACEMENT_RULES
= array('rooms' => 'accommodations', 'per_room_per_day' => 'per_accommodation_per_day', 'per_room_percentage' => 'per_accommodation_percentage')
Properties
$namespace
Endpoint namespace.
protected
string
$namespace
= 'mphb/v1'
$options
protected
OptionsSchema
$options
$rest_base
Route base.
protected
string
$rest_base
= 'taxes_and_fees'
Methods
__construct()
public
__construct() : mixed
Return values
mixed —batch_items()
Bulk create, update and delete items.
public
batch_items(WP_REST_Request $request) : array<string|int, mixed>
Parameters
- $request : WP_REST_Request
-
Full details about the request.
Return values
array<string|int, mixed> —Of WP_Error or WP_REST_Response.
get_endpoint_args_for_item_schema()
Compatibility functions for WP 5.5, since custom types are not supported anymore.
public
get_endpoint_args_for_item_schema([string $method = WP_REST_Server::CREATABLE ]) : array<string|int, mixed>
See @link https://core.trac.wordpress.org/changeset/48306
Parameters
- $method : string = WP_REST_Server::CREATABLE
-
Optional. HTTP method of the request.
Return values
array<string|int, mixed> —Endpoint arguments.
get_item()
Retrieves the options.
public
get_item(WP_REST_Request $request) : array<string|int, mixed>|WP_Error
Parameters
- $request : WP_REST_Request
-
Full details about the request.
Return values
array<string|int, mixed>|WP_Error —Array on success, or WP_Error object on failure.
get_item_permissions_check()
Checks if a given request has access to read and manage settings.
public
get_item_permissions_check(WP_REST_Request $request) : bool
Parameters
- $request : WP_REST_Request
-
Full details about the request.
Return values
bool —True if the request has read access for the item, otherwise false.
get_item_schema()
public
get_item_schema() : mixed
Return values
mixed —get_public_batch_schema()
Get the batch schema, conforming to JSON Schema.
public
get_public_batch_schema() : array<string|int, mixed>
Return values
array<string|int, mixed> —register_routes()
public
register_routes() : mixed
Return values
mixed —update_item()
Updates settings for the settings object.
public
update_item(WP_REST_Request $request) : array<string|int, mixed>|WP_Error
Parameters
- $request : WP_REST_Request
-
Full details about the request.
Return values
array<string|int, mixed>|WP_Error —Array on success, or error object on failure.
validate_setting_checkbox_field()
Validate checkbox based settings.
public
validate_setting_checkbox_field(string $value, array<string|int, mixed> $setting) : string|WP_Error
Parameters
- $value : string
-
Value.
- $setting : array<string|int, mixed>
-
Setting.
Return values
string|WP_Error —validate_setting_image_width_field()
Validate image_width based settings.
public
validate_setting_image_width_field(array<string|int, mixed> $values, array<string|int, mixed> $setting) : string|WP_Error
Parameters
- $values : array<string|int, mixed>
-
Values.
- $setting : array<string|int, mixed>
-
Setting.
Return values
string|WP_Error —validate_setting_multiselect_field()
Validate multiselect based settings.
public
validate_setting_multiselect_field(array<string|int, mixed> $values, array<string|int, mixed> $setting) : array<string|int, mixed>|WP_Error
Parameters
- $values : array<string|int, mixed>
-
Values.
- $setting : array<string|int, mixed>
-
Setting.
Return values
array<string|int, mixed>|WP_Error —validate_setting_radio_field()
Validate radio based settings.
public
validate_setting_radio_field(string $value, array<string|int, mixed> $setting) : string|WP_Error
Parameters
- $value : string
-
Value.
- $setting : array<string|int, mixed>
-
Setting.
Return values
string|WP_Error —validate_setting_select_field()
Validate select based settings.
public
validate_setting_select_field(string $value, array<string|int, mixed> $setting) : string|WP_Error
Parameters
- $value : string
-
Value.
- $setting : array<string|int, mixed>
-
Setting.
Return values
string|WP_Error —validate_setting_text_field()
Validate a text value for a text based setting.
public
validate_setting_text_field(string $value, array<string|int, mixed> $setting) : string
Parameters
- $value : string
-
Value.
- $setting : array<string|int, mixed>
-
Setting.
Return values
string —validate_setting_textarea_field()
Validate textarea based settings.
public
validate_setting_textarea_field(string $value, array<string|int, mixed> $setting) : string
Parameters
- $value : string
-
Value.
- $setting : array<string|int, mixed>
-
Setting.
Return values
string —add_additional_fields_schema()
Add the schema from additional fields to an schema array.
protected
add_additional_fields_schema(array<string|int, mixed> $schema) : array<string|int, mixed>
The type of object is inferred from the passed schema.
Parameters
- $schema : array<string|int, mixed>
-
Schema array.
Return values
array<string|int, mixed> —add_meta_query()
Add meta query.
protected
add_meta_query(array<string|int, mixed> $args, array<string|int, mixed> $meta_query) : array<string|int, mixed>
Parameters
- $args : array<string|int, mixed>
-
Query args.
- $meta_query : array<string|int, mixed>
-
Meta query.
Return values
array<string|int, mixed> —adjust_wp_5_5_datatype_compatibility()
Change datatypes `date-time` to string, and `mixed` to composite of all built in types. This is required for maintaining forward compatibility with WP 5.5 since custom post types are not supported anymore.
protected
adjust_wp_5_5_datatype_compatibility(array<string|int, mixed> $endpoint_args) : mixed
See @link https://core.trac.wordpress.org/changeset/48306
We still use the 'mixed' type, since if we convert to composite type everywhere, it won't work in 5.4 anymore because they require to define the full schema.
Parameters
- $endpoint_args : array<string|int, mixed>
-
Schema with datatypes to convert.
Return values
mixed —Schema with converted datatype.
check_batch_limit()
Check batch limit.
protected
check_batch_limit(array<string|int, mixed> $items) : bool|WP_Error
Parameters
- $items : array<string|int, mixed>
-
Request items.
Return values
bool|WP_Error —get_normalized_rest_base()
Get normalized rest base.
protected
get_normalized_rest_base() : string
Return values
string —initOptions()
protected
initOptions() : OptionsSchema
Return values
OptionsSchema —prepareRequestAccommodationTaxes()
protected
prepareRequestAccommodationTaxes(mixed $option) : mixed
Parameters
- $option : mixed
Return values
mixed —prepareRequestFees()
protected
prepareRequestFees(mixed $option) : mixed
Parameters
- $option : mixed
Return values
mixed —prepareRequestFeeTaxes()
protected
prepareRequestFeeTaxes(mixed $option) : mixed
Parameters
- $option : mixed
Return values
mixed —prepareRequestItem()
protected
prepareRequestItem( $option, $optionName) : mixed|null
Parameters
Tags
Return values
mixed|null —prepareRequestServiceTaxes()
protected
prepareRequestServiceTaxes(mixed $option) : mixed
Parameters
- $option : mixed
Return values
mixed —prepareResponse()
Preparing a value from the database for the response view.
protected
prepareResponse(mixed $option, mixed $optionName, mixed $schema) : mixed
- Renaming according to the rules of renaming. (if renaming rules exist)
- Reformatting the value if the prepareResponse {$ OptionName} () method exists in the endpoint class
- Sanitize values according to the scheme (type conversion and removal of values missing in the scheme)
Parameters
- $option : mixed
- $optionName : mixed
- $schema : mixed
Return values
mixed —prepareResponseAccommodationTaxes()
protected
prepareResponseAccommodationTaxes(mixed $option) : mixed
Parameters
- $option : mixed
Return values
mixed —prepareResponseFees()
protected
prepareResponseFees(mixed $option) : mixed
Parameters
- $option : mixed
Return values
mixed —addDefaultLimitAndRooms()
private
addDefaultLimitAndRooms(mixed $option) : mixed
Parameters
- $option : mixed
Return values
mixed —getAccommodationTypeIds()
private
getAccommodationTypeIds() : array<string|int, int>
Return values
array<string|int, int> —getAccommodationTypeProperty()
private
getAccommodationTypeProperty() : mixed
Return values
mixed —getPerAccommodationPercentageProperty()
private
getPerAccommodationPercentageProperty() : mixed
Return values
mixed —getPerAccommodationPerDayProperty()
private
getPerAccommodationPerDayProperty() : mixed
Return values
mixed —getPerGuestPerDayProperty()
private
getPerGuestPerDayProperty() : mixed
Return values
mixed —prepareRequest()
private
prepareRequest(WP_REST_Request $request) : mixed
Parameters
- $request : WP_REST_Request
Return values
mixed —renameRequestOptionPropertyType()
private
renameRequestOptionPropertyType(mixed $option) : mixed
Parameters
- $option : mixed
Return values
mixed —renameResponseOptionPropertyType()
private
renameResponseOptionPropertyType(mixed $option) : mixed
Parameters
- $option : mixed
Return values
mixed —replaceAllOccurrencesKeysAndValues()
Replace all array keys and values matching the replacement rules.
private
replaceAllOccurrencesKeysAndValues(array<string|int, mixed> $replaceableArray, array<string|int, mixed> $replacementRules) : mixed|null
Parameters
- $replaceableArray : array<string|int, mixed>
- $replacementRules : array<string|int, mixed>
-
[ $replaceKeyFrom => $replaceKeyTo ]