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

Public

Gambling online versus offline care sunt adevăratele avantaje

Gambling online versus offline care sunt adevăratele avantaje Accesibilitate și confort Unul dintre cele mai mari avantaje ale jocurilor de noroc online este accesibilitatea. Poți juca oricând și de oriunde, atâta timp cât ai o conexiune la internet. Aceasta elimină necesitatea de a te deplasa la un cazino fizic, economisind timp și bani. Indiferent dacă […]

Gambling online versus offline care sunt adevăratele avantaje Read More »

Bak kulissene i casinoverdenen Hva skjer når lysene slukkes

Bak kulissene i casinoverdenen Hva skjer når lysene slukkes En dag i livet til et casino Når solen går ned, og lysene i kasinoet tennes, begynner magien å utspille seg. Casinoer er steder hvor spenning, latter og dramatikk møtes. Bak kulissene er det imidlertid mye mer som skjer enn det blotte øye kan se. Fra

Bak kulissene i casinoverdenen Hva skjer når lysene slukkes Read More »

Jak Casea casino vysvětluje oblíbené hry v casinu

Jak Casea casino vysvětluje oblíbené hry v casinu Úvod do herního světa Casea Casino Casino se stává jedním z nejvyhledávanějších online kasin v Česku. Platforma nabízí široké spektrum her, které uspokojí jak začátečníky, tak zkušené hráče. S intuitivním designem a přehledným rozhraním si každý hráč snadno najde svou oblíbenou hru. V kombinaci s bezpečným herním

Jak Casea casino vysvětluje oblíbené hry v casinu Read More »

Winning strategies to maximize your chances in gambling

Winning strategies to maximize your chances in gambling Understanding the Basics of Gambling For beginners venturing into the world of gambling, understanding the fundamentals is crucial. Every game, whether it’s poker, blackjack, or slots, has its own set of rules and strategies. Familiarizing yourself with these will not only enhance your enjoyment but also improve

Winning strategies to maximize your chances in gambling Read More »

Discover the ultimate travel destinations for casino enthusiasts

Discover the ultimate travel destinations for casino enthusiasts Las Vegas: The Entertainment Capital Las Vegas is undeniably the pinnacle of casino destinations, renowned for its vibrant nightlife and extravagant casinos. Visitors can explore iconic venues like the Bellagio, where fountains dance to music, or the Venetian, offering a taste of Italy with its gondola rides.

Discover the ultimate travel destinations for casino enthusiasts Read More »

Debunking common casino myths What you really need to know

Debunking common casino myths What you really need to know The Gambler’s Fallacy: Chance vs. Skill One of the most prevalent myths in gambling is the concept of the gambler’s fallacy, which suggests that past events influence future outcomes. Many players believe that if a particular outcome has occurred several times in a row, it

Debunking common casino myths What you really need to know Read More »

Winning strategies for gambling How to increase your odds of success

Winning strategies for gambling How to increase your odds of success Understanding the Basics of Gambling To enhance your chances of success in gambling, it is essential to grasp the basic concepts of various games. Each game has its own set of rules, odds, and strategies that can significantly affect your outcomes. Whether you are

Winning strategies for gambling How to increase your odds of success Read More »

The cultural influence of casino gaming on modern entertainment trends

The cultural influence of casino gaming on modern entertainment trends The Rise of Casino Gaming in Popular Culture Casino gaming has transitioned from a niche activity to a mainstream phenomenon in modern entertainment. The integration of casino themes into movies, television shows, and music reflects its cultural significance. Films like “Casino Royale” and TV series

The cultural influence of casino gaming on modern entertainment trends Read More »

Online gokken versus offline gokken wat zijn de belangrijkste verschillen

Online gokken versus offline gokken wat zijn de belangrijkste verschillen Toegankelijkheid en gemak Een van de grootste voordelen van online gokken is de toegankelijkheid. Spelers kunnen vanuit hun eigen huis genieten van hun favoriete spellen zonder zich te verplaatsen. Dit is vooral handig voor mensen met een drukke agenda of voor diegenen die liever in

Online gokken versus offline gokken wat zijn de belangrijkste verschillen Read More »

The Evolution of Gambling Travel from Past to Present with Betforward

The Evolution of Gambling Travel from Past to Present with Betforward تاریخچه قمار در جهان قمار به عنوان یکی از قدیمی‌ترین سرگرمی‌ها در تاریخ بشر، ریشه‌های عمیقی دارد که به زمان‌های باستان برمی‌گردد. در بسیاری از فرهنگ‌ها، از جمله مصر باستان و چین، قمار با بازی‌های مختلف و شرط‌بندی‌های ساده همراه بود. این فعالیت‌ها نه

The Evolution of Gambling Travel from Past to Present with Betforward Read More »