/** * 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; } } news – Page 2 – tejas-apartment.teson.xyz

news

Recenzja kasyna online Vulkan Vegas w Polsce.1738

Recenzja kasyna online Vulkan Vegas w Polsce ▶️ GRAĆ Содержимое Jak zarejestrować się w kasynie Vulkan Vegas Gry dostępne w kasynie Vulkan Vegas Rodzaje gier w Vulkan Vegas Metody płatności w kasynie Vulkan Vegas Bezpieczeństwo płatności Jeśli szukasz wiarygodnej recenzji kasyna online Vulkan Vegas w Polsce, to jesteś we właściwym miejscu. Vulkan Vegas to popularna […]

Recenzja kasyna online Vulkan Vegas w Polsce.1738 Read More »

Malina Casino w Polsce Rejestracja i rozpoczcie gry w kasynie online

Malina Casino w Polsce – Rejestracja i rozpoczęcie gry w kasynie online ▶️ GRAĆ Содержимое Rejestracja w Malina Casino: jak zarejestrować konto Etapy rejestracji Wprowadzenie do gry: jak rozpocząć grę w Malina Casino Wprowadzenie do gry Zakładki i funkcje: co oferuje Malina Casino Wielkość zakładek Jeśli szukasz kasyna online, w którym możesz grać w swoje

Malina Casino w Polsce Rejestracja i rozpoczcie gry w kasynie online Read More »

Tower Rush Demo by Galaxsys free version of the online casino building game.3108

Tower Rush Demo by Galaxsys – free version of the online casino building game ▶️ PLAY Содержимое What is Tower Rush Demo? Key Features of Tower Rush Demo Key Features of the Game Are you ready to tower rush casino experience the thrill of building your own online casino? Look no further than the Tower

Tower Rush Demo by Galaxsys free version of the online casino building game.3108 Read More »

MalinaCasino PL Opinie graczy i dowiadczenia z kasynem online.359

MalinaCasino PL – Opinie graczy i doświadczenia z kasynem online ▶️ GRAĆ Содержимое Wprowadzenie do kasyna online Opinie graczy i doświadczenia z kasynem online Doświadczenia graczy Jeśli szukasz kasyna online, które oferuje emocje i szansę na wygraną, to MalinaCasino jest idealnym wyborem. W tym artykule przedstawimy opinie graczy i doświadczenia z kasynem online, aby pomóc

MalinaCasino PL Opinie graczy i dowiadczenia z kasynem online.359 Read More »

Lemon Casino – szczegowa recenzja Lemon Kasyno.12968

Lemon Casino – szczegółowa recenzja Lemon Kasyno ▶️ GRAĆ Содержимое Lemon Casino – Recenzja Wprowadzenie Wprowadzenie do kasyna Co oferuje Lemon Casino? Jeśli szukasz kasyna online, które oferuje emocjonującą grę i atrakcyjne bonusy, Lemon Casino jest idealnym wyborem. W tej recenzji przedstawimy szczegółowe informacje o tym kasynie, aby pomóc Ci w podejmowaniu decyzji. Lemon Casino

Lemon Casino – szczegowa recenzja Lemon Kasyno.12968 Read More »

Malina Casino w Polsce Rejestracja i rozpoczcie gry w kasynie online

Malina Casino w Polsce – Rejestracja i rozpoczęcie gry w kasynie online ▶️ GRAĆ Содержимое Rejestracja w Malina Casino: jak zarejestrować konto Etapy rejestracji Wprowadzenie do gry: jak rozpocząć grę w Malina Casino Wprowadzenie do gry Zakładki i funkcje: co oferuje Malina Casino Wielkość zakładek Jeśli szukasz kasyna online, w którym możesz grać w swoje

Malina Casino w Polsce Rejestracja i rozpoczcie gry w kasynie online Read More »

NV Casino online przegld kasyna online i jego funkcji.1395

NV Casino online – przegląd kasyna online i jego funkcji ▶️ GRAĆ Содержимое Kasyno online NV – co to? Wady i zalety kasyna online NV Funkcje kasyna online NV Bezpieczeństwo i licencja Wartości kasyna online NV Jeśli szukasz kasyna online, które oferuje szeroki wybór gier i atrakcyjne promocje, NV Casino jest idealnym wyborem. W tym

NV Casino online przegld kasyna online i jego funkcji.1395 Read More »

Kasyno Online Vulkan Vegas w Polsce Dostpne Metody Patnoci.498

Kasyno Online Vulkan Vegas w Polsce – Dostępne Metody Płatności ▶️ GRAĆ Содержимое Metody Płatności Elektronicznych w Kasynie Vulkan Vegas Bezpieczeństwo Transakcji w Kasynie Online Vulkan Vegas Bezpieczeństwo Konta Gracza Jeśli szukasz kasyna online, które oferuje szeroki wybór metod płatności, vulkan vegas kasyno jest doskonałym wyborem. To kasyno online oferuje wiele opcji płatności, w tym

Kasyno Online Vulkan Vegas w Polsce Dostpne Metody Patnoci.498 Read More »

2J Bet online casino Complete guide to gaming payments and account management.1551

2J Bet online casino – Complete guide to gaming, payments, and account management ▶️ PLAY Содержимое 2J Bet Online Casino: A Comprehensive Guide Getting Started with 2J Bet Getting Started: Registration and Account Creation What You Need to Know Are you ready to take your online gaming experience to the next level? Look no further

2J Bet online casino Complete guide to gaming payments and account management.1551 Read More »

NV Casino online licencja i wiarygodno kasyna.1164

NV Casino online – licencja i wiarygodność kasyna ▶️ GRAĆ Содержимое Wartości, które sprawiają, że NV Casino jest najlepszym wyborem Wartości, które sprawiają, że NV Casino jest najlepszym wyborem Przegląd funkcjonalności i ofert kasyna Gry kasynowe Zabezpieczenia i procedury kasyna, które zapewniają bezpieczeństwo graczy W dzisiejszym świecie, gdzie coraz więcej ludzi decyduje się na grę

NV Casino online licencja i wiarygodno kasyna.1164 Read More »