/** * 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 – tejas-apartment.teson.xyz

Public

How technology is reshaping the future of casinos Shuffle casino

How technology is reshaping the future of casinos Shuffle casino The Evolution of Gaming Technology The casino industry has undergone significant transformations, largely driven by advances in technology. The shift from traditional gaming to online platforms has revolutionized how players engage with casino games. As players seek more options, platforms like Shuffle make it easier […]

How technology is reshaping the future of casinos Shuffle casino Read More »

Mastering gambling strategies a step-by-step guide to winning consistently

Mastering gambling strategies a step-by-step guide to winning consistently Understanding the Basics of Gambling Before diving into specific strategies, it’s essential to grasp the fundamental concepts of gambling. The world of gambling is vast, encompassing various games from poker to slots and beyond. Each game has its own set of rules, odds, and strategies that

Mastering gambling strategies a step-by-step guide to winning consistently Read More »

Exploring the impact of luck versus skill in gambling scenarios

Exploring the impact of luck versus skill in gambling scenarios The Role of Luck in Gambling In the world of gambling, luck often plays a pivotal role in outcomes. Many games, such as slot machines and roulette, are inherently based on chance, where players have little control over results. The spontaneity of these games attracts

Exploring the impact of luck versus skill in gambling scenarios Read More »

What unique attractions draw tourists to famous casinos?

What unique attractions draw tourists to famous casinos? Architectural Marvels One of the most compelling attractions of famous casinos is their stunning architecture. Many casinos are designed by renowned architects, featuring extravagant facades, grand lobbies, and intricate interior designs that captivate visitors from the moment they arrive. For instance, the Venetian in Las Vegas showcases

What unique attractions draw tourists to famous casinos? Read More »

Gewinnstrategien im Glücksspiel Tipps für Anfänger und Profis

Gewinnstrategien im Glücksspiel Tipps für Anfänger und Profis Einführung in das Glücksspiel Das Glücksspiel hat eine lange Tradition und zieht Menschen aus allen Lebensbereichen an. Ob beim Poker, in Online-Casinos oder an Spielautomaten, der Nervenkitzel des Spiels fasziniert die Spieler. Besonders für Anfänger kann es jedoch herausfordernd sein, die Grundlagen zu verstehen und Strategien zu

Gewinnstrategien im Glücksspiel Tipps für Anfänger und Profis Read More »

De historische ontwikkeling van casino's een fascinerende reis door de tijd

De historische ontwikkeling van casino's een fascinerende reis door de tijd De oorsprong van casino’s Casino’s hebben een lange en intrigerende geschiedenis die teruggaat tot de oudheid. De eerste gokspellen werden gespeeld in oude beschavingen, zoals het Romeinse Rijk en het oude China, waar spelletjes met dobbelstenen populair waren. Deze vroege vormen van gokken waren

De historische ontwikkeling van casino's een fascinerende reis door de tijd Read More »

Online nebo offline Jak vybrat to správné kasino

Online nebo offline Jak vybrat to správné kasino Výhody online kasin Online kasina přinášejí hráčům řadu výhod, které činí hraní pohodlnějším a dostupnějším. Hráči mohou hrát z pohodlí svého domova, bez potřeby cestovat do kamenného kasina. To znamená, že si mohou užívat své oblíbené hry kdykoliv, aniž by byli omezováni otevíracími hodinami nebo vzdáleností. Pokud

Online nebo offline Jak vybrat to správné kasino Read More »

The Evolution of Casinos Through the Ages from Ancient Roots to Today

The Evolution of Casinos Through the Ages from Ancient Roots to Today Οι αρχαίες ρίζες του τζόγου Η ιστορία του τζόγου εκτείνεται χιλιάδες χρόνια πίσω, με τις πρώτες αναφορές να προέρχονται από την αρχαία Κίνα, όπου χρησιμοποιούνταν ζάρια και παιχνίδια τύχης. Στην αρχαία Ελλάδα, οι πολίτες συμμετείχαν σε αγώνες και παιχνίδια, όπως το Πάλη και

The Evolution of Casinos Through the Ages from Ancient Roots to Today Read More »

L'impact de la technologie sur le jeu un changement incontournable

L'impact de la technologie sur le jeu un changement incontournable La révolution numérique dans le secteur du jeu La technologie a profondément transformé le paysage du jeu, notamment grâce à l’émergence des plateformes en ligne. Ces dernières années, de nombreux joueurs ont délaissé les casinos traditionnels au profit des casinos virtuels, qui offrent une accessibilité

L'impact de la technologie sur le jeu un changement incontournable Read More »

Taktik hebat untuk menang di kasino panduan yang perlu anda tahu

Taktik hebat untuk menang di kasino panduan yang perlu anda tahu Memahami Permainan Kasino Sebelum anda mula bermain di kasino, penting untuk memahami pelbagai jenis permainan yang ditawarkan. Setiap permainan mempunyai strategi dan peraturan tersendiri yang perlu dikuasai. Contohnya, permainan seperti blackjack memerlukan kemahiran strategi yang lebih tinggi berbanding slot yang lebih bergantung kepada nasib.

Taktik hebat untuk menang di kasino panduan yang perlu anda tahu Read More »