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

Public

Mastering gambling strategies A step-by-step guide to success

Mastering gambling strategies A step-by-step guide to success Understanding the Basics of Gambling Before delving into advanced strategies, it’s essential to grasp the fundamental concepts of gambling. This involves understanding the various types of games available, such as slots, poker, blackjack, and roulette. Each game has its own set of rules, odds, and strategies, which […]

Mastering gambling strategies A step-by-step guide to success Read More »

Praktische Tipps für einen erfolgreichen Casinoabend

Praktische Tipps für einen erfolgreichen Casinoabend Die richtige Vorbereitung Bevor Sie einen Casinoabend planen, ist es wichtig, sich gut vorzubereiten. Überlegen Sie sich, welche Spiele Sie spielen möchten und ob Sie in einem Online- oder einem klassischen Casino spielen wollen. Informieren Sie sich über die Regeln der Spiele und die verschiedenen Strategien, die Sie anwenden

Praktische Tipps für einen erfolgreichen Casinoabend Read More »

Understanding gambling basics A beginner’s guide to starting smart

Understanding gambling basics A beginner’s guide to starting smart What is Gambling? Gambling refers to the act of wagering money or valuables on an event with an uncertain outcome, primarily driven by the hope of winning additional money or items of value. It encompasses a wide range of activities, including casino games, sports betting, lotteries,

Understanding gambling basics A beginner’s guide to starting smart Read More »

Understanding gambling A complete overview for enthusiasts

Understanding gambling A complete overview for enthusiasts What is Gambling? Gambling is the act of wagering money or something of value on an event with an uncertain outcome, primarily for the purpose of winning additional money or material goods. The essence of gambling lies in the element of risk and chance, which can be found

Understanding gambling A complete overview for enthusiasts Read More »

¿Es mejor jugar en línea que en un casino tradicional Comparativa entre el juego en línea y el físico lo que necesitas saber Jugar en casinos en línea versus físicos ventajas y desventajas Explorando

¿Es mejor jugar en línea que en un casino tradicional Comparativa entre el juego en línea y el físico lo que necesitas saber Jugar en casinos en línea versus físicos ventajas y desventajas Explorando Accesibilidad y comodidad Una de las principales ventajas de jugar en línea es la accesibilidad que ofrece. Desde cualquier lugar y

¿Es mejor jugar en línea que en un casino tradicional Comparativa entre el juego en línea y el físico lo que necesitas saber Jugar en casinos en línea versus físicos ventajas y desventajas Explorando Read More »

Os melhores jogos para experimentar em um cassino online

Os melhores jogos para experimentar em um cassino online Slots: A Diversão em Cada Rodada Os slots são, sem dúvida, os jogos mais populares em qualquer cassino online. Com uma enorme variedade de temas e formatos, esses jogos atraem jogadores de todos os perfis. Desde máquinas clássicas com três rolos até as modernas com múltiplas

Os melhores jogos para experimentar em um cassino online Read More »

Qumar dünyasında uğurlu olmaq üçün betandreas casino tərəfindən irəliləyişlərə dair təkmil bələdçi

Qumar dünyasında uğurlu olmaq üçün betandreas casino tərəfindən irəliləyişlərə dair təkmil bələdçi Qumar dünyasına giriş Qumar dünyası, müasir dövrdə insanların əyləncə və qazanc məqsədilə bir araya gəldiyi bir sektordur. Bu sahədə müvəffəqiyyət əldə etmək üçün doğru strategiyaların tətbiq edilməsi vacibdir. Oyunçular üçün geniş imkanlar təqdim edərək, betandreas onların uğur qazanma şansını artırır. Bu bələdçi, qumar

Qumar dünyasında uğurlu olmaq üçün betandreas casino tərəfindən irəliləyişlərə dair təkmil bələdçi Read More »

Gambling jogi kérdései Mit érdemes tudni

Gambling jogi kérdései Mit érdemes tudni A szerencsejáték jogi keretei Magyarországon Magyarországon a szerencsejáték jogi szabályozása meglehetősen összetett, és ezért fontos, hogy az érdeklődők megfelelő információkat kapjanak a témában, például az Aviamasters 2 a BGaming-től oldalunkon. A törvények meghatározzák, hogy milyen formában lehet játszani, és kik jogosultak erre. A legális szerencsejáték tevékenységek közé tartozik a

Gambling jogi kérdései Mit érdemes tudni Read More »

Mastering casino strategies Essential tips and tricks for every player

Mastering casino strategies Essential tips and tricks for every player Understanding the Basics of Casino Games Before diving into complex strategies, it’s essential to understand the fundamental rules and mechanics of the games you plan to play. Each casino game, whether it’s blackjack or poker, has its own set of rules that dictate how it

Mastering casino strategies Essential tips and tricks for every player Read More »

Giocare responsabilmente consigli per un divertimento sicuro nei casino

Giocare responsabilmente consigli per un divertimento sicuro nei casino Cosa significa giocare responsabilmente Giocare responsabilmente implica adottare un approccio consapevole e misurato al gioco. È fondamentale comprendere che il gioco deve rimanere un’attività ricreativa e non trasformarsi in una fonte di stress o problemi finanziari. Per giocare responsabilmente, è essenziale stabilire dei limiti chiari, sia

Giocare responsabilmente consigli per un divertimento sicuro nei casino Read More »