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

Public

Зачем культуры мира смотрят на азартные игры pinco

Зачем культуры мира смотрят на азартные игры pinco Исторический контекст азартных игр Азартные игры имеют долгую историю, уходящую корнями в древние цивилизации. В различных культурах, от Древнего Рима до Китая, азартные игры были не только источником развлечения, но и способом социализации. Например, многие люди играют в азартные игры в нашем цифровом веке, и среди них […]

Зачем культуры мира смотрят на азартные игры pinco Read More »

Understanding casino etiquette A guide for Pin-Up enthusiasts

Understanding casino etiquette A guide for Pin-Up enthusiasts Introduction to Casino Etiquette Casino etiquette is an essential aspect of the gaming experience that ensures everyone has a fun and enjoyable time. For Pin-Up enthusiasts, understanding the unwritten rules of behavior can enhance not only your own gaming experience but also that of fellow players. The

Understanding casino etiquette A guide for Pin-Up enthusiasts Read More »

Understanding gambling addiction How Pin-Up can help you find support

Understanding gambling addiction How Pin-Up can help you find support Defining Gambling Addiction Gambling addiction, also known as compulsive gambling, is a behavioral disorder characterized by an uncontrollable urge to gamble despite the negative consequences. This addiction can lead to significant emotional distress and financial hardship, affecting both the individual and their loved ones. Understanding

Understanding gambling addiction How Pin-Up can help you find support Read More »

Gambling zamanı maliyyə idarəetməsi Pin Up casino ilə uğura gedən yol

Gambling zamanı maliyyə idarəetməsi Pin Up casino ilə uğura gedən yol Maliyyə idarəetməsinin əhəmiyyəti Maliyyə idarəetməsi, hər bir oyunçunun uğurlu strategiya qurmasına kömək edən vacib bir komponentdir. Pin Up casino-da oyun oynayarkən, büdcənizi düzgün müəyyənləşdirmək və ona riayət etmək sizin üçün pin up ustası olmağın açarıdır. Bu, yalnız zövq almaqla qalmayıb, həm də maliyyə itkilərinizi

Gambling zamanı maliyyə idarəetməsi Pin Up casino ilə uğura gedən yol Read More »

Nuevas tendencias en el futuro de los casinos ¿qué esperar

Nuevas tendencias en el futuro de los casinos ¿qué esperar Innovaciones tecnológicas en los casinos Los casinos están experimentando una transformación significativa gracias a la incorporación de nuevas tecnologías. La realidad virtual y aumentada están revolucionando la forma en que los jugadores interactúan con los juegos. Esta inmersión permite vivir experiencias más cercanas a la

Nuevas tendencias en el futuro de los casinos ¿qué esperar Read More »

The journey through the historical evolution of casinos

The journey through the historical evolution of casinos Origins of Gambling and Early Casino Concepts The history of casinos can be traced back to ancient civilizations where gambling was an integral part of social life. The earliest records indicate that as far back as 3000 BC, the Chinese were using rudimentary forms of gambling. Ancient

The journey through the historical evolution of casinos Read More »

La psicología del juego en el casino Cómo PinUp casino influye en tus decisiones

La psicología del juego en el casino Cómo PinUp casino influye en tus decisiones La atracción del juego y sus mecanismos psicológicos El juego en el casino no es solo una actividad de entretenimiento; es una experiencia que apela a emociones profundas y deseos humanos. La psicología del juego se basa en cómo los jugadores

La psicología del juego en el casino Cómo PinUp casino influye en tus decisiones Read More »

Verantwoord gokken tips om veilig te spelen met lucky max casino

Verantwoord gokken tips om veilig te spelen met lucky max casino Wat is verantwoord gokken? Verantwoord gokken houdt in dat je bewust omgaat met gokken en de risico’s die eraan verbonden zijn. Het is belangrijk om te begrijpen dat gokken een vorm van vermaak is en niet een manier om geld te verdienen. Door jezelf

Verantwoord gokken tips om veilig te spelen met lucky max casino Read More »

Yerli kazino mədəniyyətinin önəmi nədir

Yerli kazino mədəniyyətinin önəmi nədir Kazino mədəniyyətinin tarixi Yerli kazino mədəniyyəti, ölkəmizin tarixi və ənənələri ilə sıx bağlıdır. Uzun illər boyu müxtəlif oyunlar, insanları bir araya gətirərək sosial bir mühit yaratmışdır. Bu mədəniyyət, yalnız əyləncə məqsədli deyil, eyni zamanda dostluq və münasibətlərin inkişafına da xidmət edir. Bundan əlavə, istifadəçilərimiz geniş məlumatlara asanlıqla çatmaq üçün bizim

Yerli kazino mədəniyyətinin önəmi nədir Read More »

Understanding legal regulations of gambling in different countries A Pinco Casino guide

Understanding legal regulations of gambling in different countries A Pinco Casino guide Overview of Global Gambling Laws The landscape of gambling regulations varies significantly across countries, influencing how and where players can participate in casino activities. In some nations, gambling is fully legal and regulated, while in others, it remains restricted or even prohibited. This

Understanding legal regulations of gambling in different countries A Pinco Casino guide Read More »