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

Public

Gambling icmalarının sosial aspektləri Birlik və dostluq yaratmaq yolları

Gambling icmalarının sosial aspektləri Birlik və dostluq yaratmaq yolları Gambling icmaları və sosial mühit Gambling icmaları, insanların bir araya gəldiyi və müxtəlif oyunlar oynadığı mühitlərdir. Bu icmalar, dostluq və əməkdaşlıq ruhunu təşviq edir. İnsanlar bir-biri ilə tanış olur, eyni maraqları paylaşır və pinup kimi platformalar vasitəsilə daha da yaxınlaşa bilərlər, bu da dostluq əlaqələrinin inkişafına […]

Gambling icmalarının sosial aspektləri Birlik və dostluq yaratmaq yolları Read More »

Przewidywane trendy w kasynach na rok co warto wiedzieć

Przewidywane trendy w kasynach na rok co warto wiedzieć Innowacje technologiczne w kasynach Rok 2023 przynosi szereg innowacji technologicznych, które zmieniają oblicze kasyn na całym świecie. Wzrost popularności wirtualnej rzeczywistości oraz rozszerzonej rzeczywistości sprawia, że gracze mogą doświadczyć bardziej immersyjnego środowiska gier. Dzięki nowoczesnym headsetom VR, gra w kasynie staje się bardziej atrakcyjna, a użytkownicy

Przewidywane trendy w kasynach na rok co warto wiedzieć Read More »

Online versus offline gambling Which offers the better experience

Online versus offline gambling Which offers the better experience The Convenience of Online Gambling Online gambling has revolutionized the way players engage with their favorite games. One of the most significant advantages is the convenience it offers. Players can access a wide variety of games from the comfort of their own homes, eliminating the need

Online versus offline gambling Which offers the better experience Read More »

Miti sul gioco d'azzardo svelati la verità che malina casino non ti racconta

Miti sul gioco d'azzardo svelati la verità che malina casino non ti racconta La storia del gioco d’azzardo Il gioco d’azzardo ha radici antiche, risalenti a migliaia di anni fa, con prove che suggeriscono la sua esistenza in civiltà come quella cinese e romana. Nella storia, il gioco è stato spesso associato a rituali religiosi

Miti sul gioco d'azzardo svelati la verità che malina casino non ti racconta Read More »

Consejos para jugar de manera responsable en un casino

Consejos para jugar de manera responsable en un casino Establece un presupuesto claro Antes de comenzar a jugar en un casino, es fundamental establecer un presupuesto que puedas permitirte perder. Definir cuánto dinero estás dispuesto a gastar te ayudará a mantener el control y evitar caer en la tentación de gastar más de lo planeado.

Consejos para jugar de manera responsable en un casino Read More »

Çevrimiçi mi yoksa fiziksel olarak oyun oynamak mı daha avantajlı

Çevrimiçi mi yoksa fiziksel olarak oyun oynamak mı daha avantajlı Çevrimiçi Oyunların Avantajları Çevrimiçi oyun oynamak, günümüzde birçok oyuncu için oldukça cazip bir seçenek haline gelmiştir. İnternet üzerinden erişim sağlanan oyun platformları, kullanıcıların istedikleri zaman ve mekanda oyun oynayabilmelerine olanak tanır. Bu durum, fiziksel olarak bir mekânda bulunmanın getirdiği kısıtlamaları ortadan kaldırarak, oyunculara özgürlük sunar.

Çevrimiçi mi yoksa fiziksel olarak oyun oynamak mı daha avantajlı Read More »

Sorumlu kumar oynamanın yolları Dikkat edilmesi gerekenler

Sorumlu kumar oynamanın yolları Dikkat edilmesi gerekenler Kumar Oynamanın Temel İlkeleri Sorumlu kumar oynamanın en önemli ilkesi, oyunun eğlencelik bir aktivite olarak görülmesidir. Kumar, insanların stres atması ve eğlenmesi için bir araç olmalı; bunun dışındaki tüm amaçlar, sorumsuz bir davranışa dönüşebilir. Bu nedenle, her zaman bu aktiviteyi keyifli bir zaman dilimi olarak düşünmek gerekir. Ayrıca,

Sorumlu kumar oynamanın yolları Dikkat edilmesi gerekenler Read More »

Kako kulturni pogledi oblikuju pristup kockanju u Crnoj Gori – Lizaro casino analize

Kako kulturni pogledi oblikuju pristup kockanju u Crnoj Gori – Lizaro casino analize Kulturni kontekst kockanja u Crnoj Gori Kockanje u Crnoj Gori ima duboko ukorijenjene kulturne aspekte koji utiču na percepciju i pristup ovom obliku zabave. Tradicionalno, kockanje je često povezivano s društvenim okupljanjima i svečanostima, što ga čini prihvatljivim oblikom zabave u očima

Kako kulturni pogledi oblikuju pristup kockanju u Crnoj Gori – Lizaro casino analize Read More »

Emerging trends in casino design transforming player experiences

Emerging trends in casino design transforming player experiences The Shift Towards Immersive Environments Modern casinos are increasingly focusing on creating immersive environments that engage players on multiple sensory levels. Designers are integrating advanced technology, such as virtual and augmented reality, to transport players into new worlds. This transformation not only enhances the visual appeal but

Emerging trends in casino design transforming player experiences Read More »

Exploring the differences between online and offline gambling experiences

Exploring the differences between online and offline gambling experiences Understanding the Atmosphere One of the most prominent differences between online and offline gambling experiences is the atmosphere. Offline casinos, with their vibrant lights, sounds, and social interactions, create a unique ambiance that draws players into an exciting environment. The thrill of being physically present among

Exploring the differences between online and offline gambling experiences Read More »