MP_Addon_API::permission( WP_REST_Request $request )
Permission callback.
Contents
Parameters Parameters
- $request
-
(WP_REST_Request) (Required) request
Return Return
(bool)
Source Source
File: calculator-API-add-on/inc/MP_Addon_API.php
public function permission( \WP_REST_Request $request ) {
$found = false;
$api = wp_cache_get('api_addon_posts', MortgagePlatform::$domain, false, $found);
if(!$found){
$apikey = $request->get_param( 'apikey' );
$api = new \WP_Query(
array(
'post_type' => MP_Addon_API_PostType::$mortgage_api,
'posts_per_page' => - 1,
'meta_key' => MortgagePlatform::$prefix . 'api_key',
'meta_value' => esc_attr( $apikey ),
)
);
wp_cache_set('api_addon_posts', $api, MortgagePlatform::$domain, WEEK_IN_SECONDS);
}
if ( $api->have_posts() ) {
if ( $request->get_method() === 'POST' ) {
if ( ! empty( get_post_meta( $api->post->ID, MortgagePlatform::$prefix . 'allow_post', true ) ) ) {
return true;
} else {
return new \WP_Error( 'rest_forbidden', esc_html__( 'You cannot view leads.' ), array( 'status' => $this->authorization_status_code() ) );
}
} else {
return true;
}
} else {
return false;
}
wp_reset_postdata();
}
Changelog Changelog
| Version | Description |
|---|---|
| 1.0.0 | Introduced. |