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

Public

Ulduzların sponsorluğu mostbet ilə bahislərdə yeni dövr

Ulduzların sponsorluğu mostbet ilə bahislərdə yeni dövr Ulduzların rolunun artırılması Son dövrlərdə idman dünyasında ulduzların sponsorluğu, bahislər sahəsində yeni bir mühit yaratmağa başlayıb. İdmançıların və məşhurların tanıtdığı platformalar, istifadəçilərə daha cazibədar və etibarlı bir mühit təqdim edir. Beləliklə, insanlar öz seçimlərini daha asan edə bilirlər; məsələn, mostbet yukle vasitəsilə bahislərinə yönəldikləri platformaları daha ehtiyatla seçirlər. […]

Ulduzların sponsorluğu mostbet ilə bahislərdə yeni dövr Read More »

Exploring the social dynamics of gambling in contemporary society

Exploring the social dynamics of gambling in contemporary society The Evolution of Gambling in Society Gambling has undergone significant transformations throughout history, evolving from a pastime primarily associated with illicit activities to a mainstream form of entertainment. In contemporary society, gambling encompasses various forms, including traditional casinos, online platforms, and mobile applications. This evolution reflects

Exploring the social dynamics of gambling in contemporary society Read More »

Jahon kazinolarining madaniyati O’yin va an’analar o’rtasidagi bog’lanish

Jahon kazinolarining madaniyati O’yin va an’analar o’rtasidagi bog’lanish Kazinolar va ularning tarixi Kazinolar insoniyat tarixida juda qadim zamonlardan beri mavjud. Ular dastlab ijtimoiy uchrashuv joylari sifatida paydo bo’lgan bo’lib, odamlar birgalikda vaqt o’tkazish, o’yinlar o’ynash va bir-birlari bilan munosabatlarni rivojlantirish uchun yig’ilishgan. Vaqt o’tishi bilan, bu joylar iqtisodiy ahamiyatga ega bo’lgan tadbirlar markaziga aylangan. Har

Jahon kazinolarining madaniyati O’yin va an’analar o’rtasidagi bog’lanish Read More »

Understanding the complexities of gambling A complete overview

Understanding the complexities of gambling A complete overview The Historical Context of Gambling Gambling has been a part of human culture for thousands of years, tracing its roots back to ancient civilizations. From the roll of dice in Mesopotamia to the intricate betting systems of the Romans, gambling has evolved significantly over time. Different societies

Understanding the complexities of gambling A complete overview Read More »

Online eller landbaseret Hvad er bedst for dine spiloplevelser

Online eller landbaseret Hvad er bedst for dine spiloplevelser Fordele ved online spil Online spil tilbyder en række unikke fordele, der kan forbedre din samlede spiloplevelse. For det første giver det dig mulighed for at spille hvor som helst og når som helst, hvilket er ideelt for dem med en travl livsstil. Du behøver ikke

Online eller landbaseret Hvad er bedst for dine spiloplevelser Read More »

Exploring the allure of famous casinos around the world with pin up casino

Exploring the allure of famous casinos around the world with pin up casino The Glamor of Las Vegas Las Vegas is synonymous with gambling, glitz, and excitement. Renowned for its extravagant casinos, this desert oasis attracts millions of visitors every year who seek the thrill of high-stakes games. From the iconic Bellagio to the luxurious

Exploring the allure of famous casinos around the world with pin up casino Read More »

Exploring the ultimate guide to chicken road A complete overview of casino gaming

Exploring the ultimate guide to chicken road A complete overview of casino gaming Understanding Chicken Road 2 Chicken Road 2 is an exciting crash-style arcade game that has gained significant popularity among players, particularly in India. The game is characterized by its unique gameplay mechanics that require quick thinking and rapid decision-making. Players are introduced

Exploring the ultimate guide to chicken road A complete overview of casino gaming Read More »

Online alebo offline kasína Kde nájdete lepšie šance na výhru

Online alebo offline kasína Kde nájdete lepšie šance na výhru Porovnanie online a offline kasín Online a offline kasína sa od seba značne líšia nielen v dizajne, ale aj v zážitku, ktorý ponúkajú hráčom. Offline kasína, ako sú tie v tradičných herných destináciách, poskytujú hráčom jedinečnú atmosféru, ktorá je ťažko nahraditeľná. Hráči môžu osobne interagovať

Online alebo offline kasína Kde nájdete lepšie šance na výhru Read More »