/** * WP_oEmbed_Controller class, used to provide an oEmbed endpoint. * * @package WordPress * @subpackage Embeds * @since 4.4.0 */ /** * oEmbed API endpoint controller. * * Registers the REST API route and delivers the response data. * The output format (XML or JSON) is handled by the REST API. * * @since 4.4.0 */ #[AllowDynamicProperties] final class WP_oEmbed_Controller { /** * Register the oEmbed REST API route. * * @since 4.4.0 */ public function register_routes() { /** * Filters the maxwidth oEmbed parameter. * * @since 4.4.0 * * @param int $maxwidth Maximum allowed width. Default 600. */ $maxwidth = apply_filters( 'oembed_default_width', 600 ); register_rest_route( 'oembed/1.0', '/embed', array( array( 'methods' => WP_REST_Server::READABLE, 'callback' => array( $this, 'get_item' ), 'permission_callback' => '__return_true', 'args' => array( 'url' => array( 'description' => __( 'The URL of the resource for which to fetch oEmbed data.' ), 'required' => true, 'type' => 'string', 'format' => 'uri', ), 'format' => array( 'default' => 'json', 'sanitize_callback' => 'wp_oembed_ensure_format', ), 'maxwidth' => array( 'default' => $maxwidth, 'sanitize_callback' => 'absint', ), ), ), ) ); register_rest_route( 'oembed/1.0', '/proxy', array( array( 'methods' => WP_REST_Server::READABLE, 'callback' => array( $this, 'get_proxy_item' ), 'permission_callback' => array( $this, 'get_proxy_item_permissions_check' ), 'args' => array( 'url' => array( 'description' => __( 'The URL of the resource for which to fetch oEmbed data.' ), 'required' => true, 'type' => 'string', 'format' => 'uri', ), 'format' => array( 'description' => __( 'The oEmbed format to use.' ), 'type' => 'string', 'default' => 'json', 'enum' => array( 'json', 'xml', ), ), 'maxwidth' => array( 'description' => __( 'The maximum width of the embed frame in pixels.' ), 'type' => 'integer', 'default' => $maxwidth, 'sanitize_callback' => 'absint', ), 'maxheight' => array( 'description' => __( 'The maximum height of the embed frame in pixels.' ), 'type' => 'integer', 'sanitize_callback' => 'absint', ), 'discover' => array( 'description' => __( 'Whether to perform an oEmbed discovery request for unsanctioned providers.' ), 'type' => 'boolean', 'default' => true, ), ), ), ) ); } /** * Callback for the embed API endpoint. * * Returns the JSON object for the post. * * @since 4.4.0 * * @param WP_REST_Request $request Full data about the request. * @return array|WP_Error oEmbed response data or WP_Error on failure. */ public function get_item( $request ) { $post_id = url_to_postid( $request['url'] ); /** * Filters the determined post ID. * * @since 4.4.0 * * @param int $post_id The post ID. * @param string $url The requested URL. */ $post_id = apply_filters( 'oembed_request_post_id', $post_id, $request['url'] ); $data = get_oembed_response_data( $post_id, $request['maxwidth'] ); if ( ! $data ) { return new WP_Error( 'oembed_invalid_url', get_status_header_desc( 404 ), array( 'status' => 404 ) ); } return $data; } /** * Checks if current user can make a proxy oEmbed request. * * @since 4.8.0 * * @return true|WP_Error True if the request has read access, WP_Error object otherwise. */ public function get_proxy_item_permissions_check() { if ( ! current_user_can( 'edit_posts' ) ) { return new WP_Error( 'rest_forbidden', __( 'Sorry, you are not allowed to make proxied oEmbed requests.' ), array( 'status' => rest_authorization_required_code() ) ); } return true; } /** * Callback for the proxy API endpoint. * * Returns the JSON object for the proxied item. * * @since 4.8.0 * * @see WP_oEmbed::get_html() * @global WP_Embed $wp_embed WordPress Embed object. * @global WP_Scripts $wp_scripts * * @param WP_REST_Request $request Full data about the request. * @return object|WP_Error oEmbed response data or WP_Error on failure. */ public function get_proxy_item( $request ) { global $wp_embed, $wp_scripts; $args = $request->get_params(); // Serve oEmbed data from cache if set. unset( $args['_wpnonce'] ); $cache_key = 'oembed_' . md5( serialize( $args ) ); $data = get_transient( $cache_key ); if ( ! empty( $data ) ) { return $data; } $url = $request['url']; unset( $args['url'] ); // Copy maxwidth/maxheight to width/height since WP_oEmbed::fetch() uses these arg names. if ( isset( $args['maxwidth'] ) ) { $args['width'] = $args['maxwidth']; } if ( isset( $args['maxheight'] ) ) { $args['height'] = $args['maxheight']; } // Short-circuit process for URLs belonging to the current site. $data = get_oembed_response_data_for_url( $url, $args ); if ( $data ) { return $data; } $data = _wp_oembed_get_object()->get_data( $url, $args ); if ( false === $data ) { // Try using a classic embed, instead. /* @var WP_Embed $wp_embed */ $html = $wp_embed->get_embed_handler_html( $args, $url ); if ( $html ) { // Check if any scripts were enqueued by the shortcode, and include them in the response. $enqueued_scripts = array(); foreach ( $wp_scripts->queue as $script ) { $enqueued_scripts[] = $wp_scripts->registered[ $script ]->src; } return (object) array( 'provider_name' => __( 'Embed Handler' ), 'html' => $html, 'scripts' => $enqueued_scripts, ); } return new WP_Error( 'oembed_invalid_url', get_status_header_desc( 404 ), array( 'status' => 404 ) ); } /** This filter is documented in wp-includes/class-wp-oembed.php */ $data->html = apply_filters( 'oembed_result', _wp_oembed_get_object()->data2html( (object) $data, $url ), $url, $args ); /** * Filters the oEmbed TTL value (time to live). * * Similar to the {@see 'oembed_ttl'} filter, but for the REST API * oEmbed proxy endpoint. * * @since 4.8.0 * * @param int $time Time to live (in seconds). * @param string $url The attempted embed URL. * @param array $args An array of embed request arguments. */ $ttl = apply_filters( 'rest_oembed_ttl', DAY_IN_SECONDS, $url, $args ); set_transient( $cache_key, $data, $ttl ); return $data; } } Public – Page 36 – tejas-apartment.teson.xyz

Public

Современные стратегии выигрышного опыта в казино sweet bonanza

Современные стратегии выигрышного опыта в казино sweet bonanza Введение в мир Sweet Bonanza Слот Sweet Bonanza стал одним из самых популярных игровых автоматов благодаря своей яркой графике и увлекательному игровому процессу. Эта игра предлагает игрокам уникальную возможность погрузиться в мир сладостей, где каждый спин может принести большие выигрыши. Для того чтобы понять, sweet bonanza как […]

Современные стратегии выигрышного опыта в казино sweet bonanza Read More »

Offline gaming or online gambling which offers a better experience with aviator

Offline gaming or online gambling which offers a better experience with aviator The Rise of Online Gaming In recent years, online gaming has surged in popularity, thanks largely to technological advancements. Players can now access a vast array of games from the comfort of their homes. This convenience not only enhances the gaming experience but

Offline gaming or online gambling which offers a better experience with aviator Read More »

Les enjeux éthiques du jeu Pourquoi Casongo casino choisit l'intégrité avant tout

Les enjeux éthiques du jeu Pourquoi Casongo casino choisit l'intégrité avant tout Introduction aux enjeux éthiques du jeu Le monde du jeu en ligne est en constante évolution, et avec lui, les préoccupations éthiques qui l’entourent. Les opérateurs de jeux doivent faire face à des questions complexes concernant l’équité, la transparence, et la responsabilité sociale.

Les enjeux éthiques du jeu Pourquoi Casongo casino choisit l'intégrité avant tout Read More »

Master financial management in gambling with tips from Pinco

Master financial management in gambling with tips from Pinco Understanding Your Bankroll Managing your bankroll is the cornerstone of successful financial management in gambling. First and foremost, you need to determine your total bankroll—the amount of money you can afford to spend on gambling activities. This figure should not include essential funds for living expenses.

Master financial management in gambling with tips from Pinco Read More »

La chance ou le savoir que privilégier dans le jeu avec Pin Up Casino

La chance ou le savoir que privilégier dans le jeu avec Pin Up Casino La nature du jeu : entre chance et compétence Dans l’univers des casinos, la question de la chance et de la compétence est souvent débattue. Certains jeux, comme les machines à sous, reposent presque entièrement sur la chance. Les résultats sont

La chance ou le savoir que privilégier dans le jeu avec Pin Up Casino Read More »

The evolution of gambling a journey through history and its impact on society Ice Fishing casino

The evolution of gambling a journey through history and its impact on society Ice Fishing casino The Historical Roots of Gambling The history of gambling can be traced back thousands of years, with evidence found in ancient civilizations like the Chinese, Greeks, and Romans. These societies engaged in various forms of games of chance, utilizing

The evolution of gambling a journey through history and its impact on society Ice Fishing casino Read More »

Exploring the future of gambling innovations with Chicken Road

Exploring the future of gambling innovations with Chicken Road Introduction to Chicken Road and Its Impact Chicken Road is a groundbreaking mobile game that has captured the attention of gambling enthusiasts with its unique mechanics and engaging gameplay. Unlike traditional casino games, this Jeu de Pari Chicken Road combines elements of strategy and timing, providing

Exploring the future of gambling innovations with Chicken Road Read More »

Exploring the intriguing differences between online and land-based casinos What you need to know about Pin Up Casino

Exploring the intriguing differences between online and land-based casinos What you need to know about Pin Up Casino The Rise of Online Casinos Online casinos have transformed the gambling landscape by providing players with an unprecedented level of convenience and accessibility. Players can now engage in a variety of games from the comfort of their

Exploring the intriguing differences between online and land-based casinos What you need to know about Pin Up Casino Read More »

Unlocking the Secrets of Pinco Casino Bonuses and Promotions

Unlocking the Secrets of Pinco Casino Bonuses and Promotions Understanding Pinco Casino Bonuses Bonuses are a crucial aspect of online casinos, providing players with additional value and enhancing their gaming experience. At Pinco Casino, various types of bonuses cater to both new and existing players. For newcomers, welcome bonuses often include match bonuses on initial

Unlocking the Secrets of Pinco Casino Bonuses and Promotions Read More »

Unlocking the secrets of gambling A beginner's guide to success

Unlocking the secrets of gambling A beginner's guide to success Understanding the Basics of Gambling Gambling is a broad term that encompasses various games and activities where participants wager money or valuables on outcomes primarily determined by chance. At its core, gambling involves risk and reward, where players hope to win more than they stake.

Unlocking the secrets of gambling A beginner's guide to success Read More »