File "Meta.php"
Full Path: /home/romayxjt/public_html/wp-content/plugins/the-events-calendar/common/src/Tribe/Editor/Meta.php
File size: 4.67 KB
MIME-type: text/x-php
Charset: utf-8
<?php
/**
* Class Tribe__Editor__Meta
*
* @since 4.8
*/
abstract class Tribe__Editor__Meta
implements Tribe__Editor__Meta_Interface {
/**
* Default definition for an attribute of type text
*
* @since 4.8
*
* @return array
*/
protected function text() {
return [
'auth_callback' => [ $this, 'auth_callback' ],
'sanitize_callback' => 'sanitize_text_field',
'type' => 'string',
'single' => true,
'show_in_rest' => true,
];
}
/**
* Add arguments to escape a text area field
*
* @since 4.8
*
* @return array
*/
protected function textarea() {
return [
'auth_callback' => [ $this, 'auth_callback' ],
'sanitize_callback' => 'sanitize_textarea_field',
'type' => 'string',
'single' => true,
'show_in_rest' => true,
];
}
/**
* Add arguments to escape a field of URL type
*
* @since 4.8
*
* @return array
*/
protected function url() {
return [
'auth_callback' => [ $this, 'auth_callback' ],
'sanitize_callback' => 'esc_url_raw',
'type' => 'string',
'single' => true,
'show_in_rest' => true,
];
}
/**
* Default definition for an attribute of type text
*
* @since 4.8
*
* @return array
*/
protected function numeric() {
return [
'auth_callback' => [ $this, 'auth_callback' ],
'sanitize_callback' => 'absint',
'type' => 'number',
'single' => true,
'show_in_rest' => true,
];
}
/***
* Default definition for an attribute of type boolean
*
* @since 4.8
*
* @return array
*/
protected function boolean() {
return [
'auth_callback' => [ $this, 'auth_callback' ],
'sanitize_callback' => [ $this, 'sanitize_boolean' ],
'type' => 'boolean',
'single' => true,
'show_in_rest' => true,
];
}
/**
* Register a numeric type of array
*
* @since 4.8
*
* @return array
*/
protected function numeric_array() {
return [
'description' => __( 'Numeric Array', 'tribe-common' ),
'auth_callback' => [ $this, 'auth_callback' ],
'sanitize_callback' => [ $this, 'sanitize_numeric_array' ],
'type' => 'number',
'single' => false,
'show_in_rest' => true,
];
}
/**
* Register a text type of array
*
* @since 4.8
*
* @return array
*/
protected function text_array() {
return [
'description' => __( 'Text Array', 'tribe-common' ),
'auth_callback' => [ $this, 'auth_callback' ],
'sanitize_callback' => [ $this, 'sanitize_text_array' ],
'type' => 'string',
'single' => false,
'show_in_rest' => true,
];
}
/**
* Sanitize an array of text
*
* @since 4.8
*
* @param $value
*
* @return array
*/
public function sanitize_text_array( $value ) {
if ( is_array( $value ) ) {
return array_map( 'sanitize_text_field', $value );
} else {
return sanitize_text_field( $value );
}
}
/**
* Checks and sanitize a given value to a numeric array or a numeric string
*
* @since 4.8
*
* @param mixed $value Check agains this value
*
* @return array|bool|int
*/
public function sanitize_numeric_array( $value ) {
if ( is_array( $value ) ) {
return wp_parse_id_list( $value );
} elseif ( is_numeric( $value ) ) {
return absint( $value );
} else {
return false;
}
}
/**
* Make sure sanitization on boolean does not triggered warnings when multiple values are passed
* to the function
*
* @since 4.8
*
* @param $value
*
* @return bool
*/
public function sanitize_boolean( $value ) {
return filter_var( $value, FILTER_VALIDATE_BOOLEAN );
}
/**
* Sanitize strings allowing the usage of white spaces before or after the separators, as
* - sanitize_text_field removes any whitespace
*
* @since 4.8
*
* @param $value
*
* @return mixed
*/
public function sanitize_separator( $value ) {
return tec_sanitize_string( $value );
}
/**
* Verify if the current user can edit or not this Post
*
* @since 4.8
*
* @param bool $allowed Whether the user can add the post meta. Default false.
* @param string $meta_key The meta key.
* @param int $post_id Post ID.
* @param int $user_id User ID.
* @param string $cap Capability name.
* @param array $caps User capabilities.
*
* @return boolean
*/
public function auth_callback( $allowed, $meta_key, $post_id, $user_id, $cap, $caps ) {
$post = get_post( $post_id );
$post_type_obj = get_post_type_object( $post->post_type );
$current_user_can = current_user_can( $post_type_obj->cap->edit_post, $post_id );
return $current_user_can;
}
}