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

Public

The historical evolution of casinos A journey through time with casino spin dinero

The historical evolution of casinos A journey through time with casino spin dinero The Origins of Gambling and Early Casinos The history of casinos can be traced back thousands of years, with the earliest forms of gambling appearing in ancient civilizations. The Chinese, for instance, are believed to have created games using dice around 2300 […]

The historical evolution of casinos A journey through time with casino spin dinero Read More »

Технологиянын казиного тийгизген таасири ice fishing game online менен жаңы мүмкүнчүлүктөрдү ачуу

Технологиянын казиного тийгизген таасири ice fishing game online менен жаңы мүмкүнчүлүктөрдү ачуу Технологиянын өнүгүүсү Технологиянын өнүгүүсү оюн тармагына чоң таасир көрсөтүүдө. Онлайн казино оюндарында жаңа технологиялардын колдонулушу, оюнчуларга уникалдуу тажрыйбаларды сунуш кылууда. Мисалы, виртуалдык чындык жана жандуу агым технологиялары оюнду реалдуу жана кызыктуу кылат. Оюнчулар, үйдөн чыкпай туруп, ice fishing slot балык уулоону сезишет. Ошондой

Технологиянын казиного тийгизген таасири ice fishing game online менен жаңы мүмкүнчүлүктөрдү ачуу Read More »

Online və offline oyunların müqayisəsi fraga casino ilə hansı daha üstün

Online və offline oyunların müqayisəsi fraga casino ilə hansı daha üstün Online oyunların üstünlükləri Online oyunlar, istənilən yerdə və istənilən vaxt oynanılma imkanı təqdim edir. İstifadəçilər evdən çıxmadan, mobil cihazlar və ya komputerlər vasitəsilə asanlıqla oyunlara giriş əldə edə bilərlər. Bu, insanların rahatlığına və zaman idarəçiliyinə kömək edir, çünki oyun oynamaq üçün fraga casino gedməyə

Online və offline oyunların müqayisəsi fraga casino ilə hansı daha üstün Read More »

Mastering strategies An advanced guide to winning at Glassi Casino India casino

Mastering strategies An advanced guide to winning at Glassi Casino India casino Understanding the Basics of Online Gaming Before diving into advanced strategies, it is essential to grasp the basics of online gaming, particularly at Glassi Casino. Familiarizing yourself with various games available, such as Teen Patti and Andar Bahar, can significantly improve your gaming

Mastering strategies An advanced guide to winning at Glassi Casino India casino Read More »

Teknologiyanın azart oyunlardakı rolu 1xbet ilə gələcəyə baxış

Teknologiyanın azart oyunlardakı rolu 1xbet ilə gələcəyə baxış Azart oyunlarının inkişafında texnologiyanın əhəmiyyəti Azart oyunları son illərdə böyük bir inkişaf mərhələsinə daxil olub. Texnologiyanın sürətli inkişafı, bu sahənin dinamikasını dəyişdirərək, oyunların daha cəlbedici və istifadəçi dostu olmasına səbəb olub. Onlayn kazino oyunları və bahis platformaları, əvvəllər fiziki məkanda oyun oynayan insanların indi evdən çıxmadan, 1xbet,

Teknologiyanın azart oyunlardakı rolu 1xbet ilə gələcəyə baxış Read More »

Så börjar du spela på casino En guide för nybörjare

Så börjar du spela på casino En guide för nybörjare Vad är ett casino? Ett casino är en anläggning där spel och hasardspel äger rum. Historiskt sett har casinon varit platser för underhållning, social interaktion och spänning. Dessa verksamheter har anpassats över tid för att möta spelarnas behov och lagstiftningens krav. För mer information om

Så börjar du spela på casino En guide för nybörjare Read More »

Eng mashhur kazino g'alabalaridagi 888starz sirlarini o'rganing

Eng mashhur kazino g'alabalaridagi 888starz sirlarini o'rganing 888starz kazino haqida umumiy ma’lumot 888starz kazino, bugungi kunda eng mashhur onlayn qimor platformalaridan biri bo’lib, o’zining keng qamrovli o’yinlari va innovatsion texnologiyalari bilan tanilgan. Ushbu kazino, o’z foydalanuvchilariga yuqori sifatli xizmatlar, oddiy interfeys va xavfsiz muhit taklif etadi. O’sha taxminan o’rtasida 888 da o’yin o’ynash jarayoni oson,

Eng mashhur kazino g'alabalaridagi 888starz sirlarini o'rganing Read More »

Mastering your bankroll Essential financial management tips for gamblers

Mastering your bankroll Essential financial management tips for gamblers Understanding Bankroll Management Bankroll management is the cornerstone of successful gambling, whether you’re playing at a casino or online. This involves setting aside a specific amount of money dedicated solely to gambling activities. By establishing a bankroll, gamblers can prevent themselves from overspending and ensure that

Mastering your bankroll Essential financial management tips for gamblers Read More »

Ansvarsfullt spelande på casino Så skyddar du dig själv och dina pengar

Ansvarsfullt spelande på casino Så skyddar du dig själv och dina pengar Vad är ansvarsfullt spelande? Ansvarsfullt spelande innebär att spelare tar ansvar för sina spelvanor och säkerställer att de spelar på ett sätt som inte skadar dem själva ekonomiskt eller känslomässigt. Det handlar om att sätta gränser för sig själv och att vara medveten

Ansvarsfullt spelande på casino Så skyddar du dig själv och dina pengar Read More »

Exploring the key differences between online and offline gaming experiences

Exploring the key differences between online and offline gaming experiences Accessibility and Convenience One of the most significant differences between online and offline gaming experiences is accessibility. Online gaming allows players to access a wide range of games from the comfort of their own homes or on-the-go through mobile devices. In fact, many users find

Exploring the key differences between online and offline gaming experiences Read More »