/** * 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; } } L’émerveillement ludique au cœur de Casinia Casino France -

L’émerveillement ludique au cœur de Casinia Casino France

L’univers fascinant de Casinia Casino France : une expérience inoubliable

Introduction

Bienvenue dans le monde exaltant de casinia casino france, un lieu où le luxe et l’excitation se rencontrent pour créer une expérience de jeu inégalée. Que vous soyez novice ou joueur aguerri, Casinia Casino France a quelque chose à offrir à chacun.

Histoire du casino

Inauguré en 2018, Casinia Casino France s’est rapidement imposé comme un acteur majeur du paysage des casinos en ligne en France. Sa création est le fruit d’un partenariat entre des experts du jeu et des passionnés d’innovation technologique, https://casiniacasinofrance.com ce qui a donné naissance à un environnement de jeu exceptionnel.

Les étapes clés de son développement

  • 2016 : Conception et idées initiales.
  • 2017 : Développement de la plateforme et choix des jeux.
  • 2018 : Lancement officiel et accueil des premiers joueurs.

Jeux proposés

Casinia Casino France propose une vaste sélection de jeux qui raviront tous les types de joueurs :

Type de jeu Nombre de jeux Exemples
Machines à sous 300+ Starburst, Gonzo’s Quest
Jeux de table 50+ Blackjack, Roulette
Croupiers en direct 20+ Live Roulette, Live Blackjack

Des jeux captivants

Les machines à sous, en particulier, connaissent un grand succès grâce à des thèmes variés et à des graphismes époustouflants. Les jeux de table, quant à eux, attirent ceux qui apprécient la stratégie et la chance.

Ambiance et décor

Lors de votre visite virtuelle ou physique, la première chose qui frappe est l’ambiance immersive. Le décor moderne, mêlant élégance et confort, crée un environnement propice à la détente et à l’amusement.

Éléments de l’environnement

  • Éclairages sophistiqués et colorés.
  • Sons captivants des machines à sous.
  • Zones de détente et bars raffinés.

Services offerts aux joueurs

Casinia Casino France ne se contente pas d’offrir des jeux ; il propose également une gamme de services pour améliorer l’expérience des joueurs :

Support et assistance

  • Chat en direct 24/7.
  • Assistance par e-mail rapide et efficace.
  • FAQ complète sur le site.

Programmes de fidélité

Les joueurs réguliers bénéficient de programmes de fidélité attrayants, permettant d’accumuler des points échangeables contre des bonus, des tours gratuits, et bien plus encore.

Conclusion

En somme, Casinia Casino France est bien plus qu’un simple casino en ligne. C’est une destination où le plaisir, le luxe, et l’innovation se rejoignent pour créer des souvenirs inoubliables. Que vous soyez là pour essayer votre chance à la roulette ou plonger dans l’univers palpitant des machines à sous, chaque visite représente une aventure unique qui attend d’être vécue. Alors, n’hésitez plus et rejoignez l’expérience Casinia aujourd’hui !