Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93
/home/sportsfe.../httpdocs/wp-conte.../plugins/sitepres.../classes/API/REST
File: class-wpml-rest-base.php
<?php
[0] Fix | Delete
/**
[1] Fix | Delete
* @author OnTheGo Systems
[2] Fix | Delete
*/
[3] Fix | Delete
[4] Fix | Delete
abstract class WPML_REST_Base {
[5] Fix | Delete
const CAPABILITY_EXTERNAL = 'external';
[6] Fix | Delete
[7] Fix | Delete
const REST_NAMESPACE = 'wpml/v1';
[8] Fix | Delete
/**
[9] Fix | Delete
* @var null
[10] Fix | Delete
*/
[11] Fix | Delete
protected $namespace;
[12] Fix | Delete
[13] Fix | Delete
/**
[14] Fix | Delete
* WPML_REST_Base constructor.
[15] Fix | Delete
*
[16] Fix | Delete
* @param null $namespace Defaults to `\WPML_REST_Base::REST_NAMESPACE`
[17] Fix | Delete
*/
[18] Fix | Delete
public function __construct( $namespace = null ) {
[19] Fix | Delete
if ( ! $namespace ) {
[20] Fix | Delete
$namespace = self::REST_NAMESPACE;
[21] Fix | Delete
}
[22] Fix | Delete
$this->namespace = $namespace;
[23] Fix | Delete
}
[24] Fix | Delete
[25] Fix | Delete
abstract function add_hooks();
[26] Fix | Delete
[27] Fix | Delete
public function validate_permission( WP_REST_Request $request ) {
[28] Fix | Delete
$capabilities = $this->get_allowed_capabilities( $request );
[29] Fix | Delete
[30] Fix | Delete
$user_can = false;
[31] Fix | Delete
if ( self::CAPABILITY_EXTERNAL === $capabilities ) {
[32] Fix | Delete
$user_can = true;
[33] Fix | Delete
} elseif ( is_string( $capabilities ) ) {
[34] Fix | Delete
$user_can = current_user_can( $capabilities );
[35] Fix | Delete
} elseif ( is_array( $capabilities ) ) {
[36] Fix | Delete
foreach ( $capabilities as $capability ) {
[37] Fix | Delete
$user_can = $user_can || current_user_can( $capability );
[38] Fix | Delete
}
[39] Fix | Delete
}
[40] Fix | Delete
[41] Fix | Delete
return $user_can && wp_verify_nonce( $request->get_header( 'x_wp_nonce' ), 'wp_rest' );
[42] Fix | Delete
}
[43] Fix | Delete
[44] Fix | Delete
abstract function get_allowed_capabilities( WP_REST_Request $request );
[45] Fix | Delete
[46] Fix | Delete
/**
[47] Fix | Delete
* @param string $route
[48] Fix | Delete
* @param array $args
[49] Fix | Delete
*/
[50] Fix | Delete
protected function register_route( $route, array $args ) {
[51] Fix | Delete
$args = $this->ensure_permission( $args );
[52] Fix | Delete
[53] Fix | Delete
register_rest_route( $this->namespace, $route, $args );
[54] Fix | Delete
}
[55] Fix | Delete
[56] Fix | Delete
/**
[57] Fix | Delete
* @param array $args
[58] Fix | Delete
*
[59] Fix | Delete
* @return array
[60] Fix | Delete
*/
[61] Fix | Delete
private function ensure_permission( array $args ) {
[62] Fix | Delete
if ( ! array_key_exists( 'permission_callback', $args ) || ! $args['permission_callback'] ) {
[63] Fix | Delete
$args['permission_callback'] = array( $this, 'validate_permission' );
[64] Fix | Delete
}
[65] Fix | Delete
[66] Fix | Delete
return $args;
[67] Fix | Delete
}
[68] Fix | Delete
[69] Fix | Delete
}
[70] Fix | Delete
[71] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function