/** * 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; } } tejasingale1106@gmail.com – Page 1040 – tejas-apartment.teson.xyz

tejasingale1106@gmail.com

Opdag Gratis Spins på Casino Uden ROFUS

Gratis Spins Casino Uden ROFUS: Alt, Du Skal Vide At spille online slots med gratis spins kan være en fantastisk oplevelse, især når du har muligheden for at gratis spins casino uden ROFUS online spil uden om rofus. ROFUS, der står for “Register Over Frivilligt Udelukkede Spillere”, kan være en hindring for mange spillere, der […]

Opdag Gratis Spins på Casino Uden ROFUS Read More »

Udenlandsk Casino Uden ROFUS – Opdag Alternativer til Danske Casinoer

Udenlandsk Casino Uden ROFUS Hvis du leder efter alternativer til danske online casinoer, er udenlandske casinoer uden ROFUS en god mulighed. udenlandsk casino uden ROFUS online casino rofus At navigere i det danske spillemarked kan være en udfordring, især for spillere, der ønsker lidt mere frihed og muligheder. I denne artikel vil vi udforske, hvad

Udenlandsk Casino Uden ROFUS – Opdag Alternativer til Danske Casinoer Read More »

Legální online casino Maxa – Zábava a bezpečnost na dosah ruky 1117516255

Legální online casino Maxa: Vstupte do světa zábavy a bezpečnosti V dnešní digitální éře je online hazardní hraní stále populárnější. Legální online casino Maxa přináší nejen širokou škálu her, ale také zajišťuje bezpečnost a férovost pro všechny hráče. Navštivte naše webové stránky legální online casino Maxa www.bkprostejov.cz casino a objevte všechny možnosti, které pro vás

Legální online casino Maxa – Zábava a bezpečnost na dosah ruky 1117516255 Read More »

Legální online casino Korunka – Vaše oblíbená hra na dosah ruky

Legální online casino Korunka – Vstupte do světa zábavy a výher V dnešní digitální době se stává hraní v online casinech stále populárnější zábavou. Mezi mnoha možnostmi, které máme, se legální online casino Korunka casino Korunka vyznačuje svou legálností a důrazem na férovost. Proč byste měli zvážit hraní zde? V této článku se podíváme na

Legální online casino Korunka – Vaše oblíbená hra na dosah ruky Read More »

Maximize Your Winnings with BC.Game Mirror Bonuses and Promotions

Maximize Your Winnings with BC.Game Mirror Bonuses and Promotions As the online gaming world continues to expand, players are always on the lookout for the best promotions and bonuses to boost their gaming experience. One platform that has garnered the attention of many is BC.Game. With its innovative approach and enticing offers, BC.Game has established

Maximize Your Winnings with BC.Game Mirror Bonuses and Promotions Read More »

BC.Game Official Mirror List Your Gateway to Seamless Gaming

BC.Game Official Mirror List In the ever-evolving world of online gaming, accessibility is key. BC.Game, renowned for its innovative approach to gaming, understands the importance of uninterrupted access for its players. To ensure that users can easily reach the platform, BC.Game has established an array of mirror sites. In this article, we will delve into

BC.Game Official Mirror List Your Gateway to Seamless Gaming Read More »

The Allure of Las Vegas A City of Dreams

The Allure of Las Vegas: A City of Dreams Las Vegas, often referred to as “The Entertainment Capital of the World,” is a city that captivates millions of visitors with its dazzling lights, luxurious hotels, and an unparalleled array of entertainment options. From world-class casinos to spectacular live shows, Las Vegas offers an experience like

The Allure of Las Vegas A City of Dreams Read More »

The Exciting World of LB Spins Casino Online Games

Welcome to the world of LB Spins Casino Online Games LB Spins casino UK, where thrills and excitement await every gamer! Online casinos have revolutionized the way we experience gambling, offering a vast array of games at our fingertips. Whether you are a seasoned player or a newcomer, LB Spins Casino provides a vibrant platform

The Exciting World of LB Spins Casino Online Games Read More »

Polska BC GAME – Przewodnik po Świecie Gier i Zakładów Online

Witaj w fascynującym świecie Polska BC GAME polandbcgame, gdzie pasja do gier i zakładów online łączy się z wieloma możliwościami dla graczy. Polska BC GAME jest jednym z najciekawszych miejsc do zabawy i rywalizacji, oferując ogromną różnorodność gier oraz atrakcyjnych bonusów dla nowych i stałych graczy. Co to jest Polska BC GAME? Polska BC GAME

Polska BC GAME – Przewodnik po Świecie Gier i Zakładów Online Read More »

Ιστορικές Αναφορές στην Ελλάδα Από την Αρχαιότητα έως τη Σύγχρονη Εποχή 1032429296

Η ιστορία της Ελλάδας είναι πλούσια και δυναμική, καλύπτοντας χιλιάδες χρόνια που έχουν διαμορφώσει τον σημερινό κόσμο. Από τους αρχαίους πολιτισμούς μέχρι πρόσφατες εποχές, η Ελλάδα έχει υπάρξει σημαντικός κόμβος πολιτισμού, φιλοσοφίας, τέχνης και πολιτικής. Ακολούθησε μας σε αυτό το ιστορικό ταξίδι και ανακαλύψτε περισσότερα στον ιστότοπο historical reference Greece dertilis-history.gr. Η ιστορία αυτή βασίζεται

Ιστορικές Αναφορές στην Ελλάδα Από την Αρχαιότητα έως τη Σύγχρονη Εποχή 1032429296 Read More »