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

Public

Mastering gambling Essential tips and tricks for success

Mastering gambling Essential tips and tricks for success Understanding the Basics of Gambling To become a successful gambler, it’s crucial to grasp the fundamental concepts of various games. Whether you are playing poker, blackjack, or slots, understanding the rules and strategies associated with each game lays the foundation for informed decision-making. Many players dive in […]

Mastering gambling Essential tips and tricks for success Read More »

Mastering the casino experience A step-by-step guide to winning strategies

Mastering the casino experience A step-by-step guide to winning strategies Understanding Casino Games To master the casino experience, it is crucial to understand the various types of games available. Casinos offer a wide array of options, from classic table games like blackjack and roulette to modern slot machines and live dealer games. Each game has

Mastering the casino experience A step-by-step guide to winning strategies Read More »

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 »