/** * 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; } } Experience the Thrill of Unmatched Elegance at Winna Casino RW -

Experience the Thrill of Unmatched Elegance at Winna Casino RW

Unleash Your Winning Spirit at Winna Casino RW

Introduction

Welcome to the enchanting world of Winna Casino RW, where thrill meets luxury. Located in the heart of Rwanda, this premier gaming destination offers an unparalleled experience for both casual players and serious gamers alike. Prepare to dive into an entertainment hub that marries cutting-edge gaming technology with opulent surroundings.

Overview of Winna Casino RW

Since its inception, Winna Casino RW has positioned itself as a cornerstone of excitement and glamour. With state-of-the-art facilities, it attracts visitors from all walks of life, eager to experience riveting games, world-class service, and an ambiance that buzzes with energy.

The casino boasts a unique blend of traditional and modern gaming options, ensuring something for everyone. From classic table games to the latest slot machines, Winna CasinoRW promises an indulgent experience.

Games Offered

At Winna Casino, gaming enthusiasts can explore a plethora of games. Below is a comparative table that highlights the different types of games available:

Game Type Description Popular Variants
Table Games Enjoy classics with skilled dealers, combining strategy and chance. Blackjack, Roulette, Baccarat
Slot Machines Spin the reels on diverse themed machines for exciting wins. Progressive Slots, Video Slots, Classic Slots
Live Dealer Games Engage in real-time gaming with live dealers and interactive play. Live Blackjack, Live Roulette
Tournaments Compete against others for big prizes in thrilling tournaments. Slot Tournaments, Poker Tournaments

Highlighting Key Games

  • Blackjack: A game of strategy where players aim for 21 without going over.
  • Roulette: The iconic spinning wheel game with various betting options.
  • Slots: Endless themes and chances to win, perfect for novices and pros alike.

Promotions and Events

What sets Winna Casino RW apart is its commitment to providing exciting promotions and events. Here’s what you can typically expect:

Exclusive Promotions

  • Welcome Bonuses: New players can enjoy generous bonuses on their first deposit.
  • Loyalty Rewards: Regular visitors are rewarded with points redeemable for cash or prizes.
  • Seasonal Promotions: Themed events during holidays that include giveaways and special contests.

Upcoming Events

Winna Casino often hosts a variety of events including:

  • Monthly Poker Nights
  • Live Entertainment Shows
  • Charity Tournaments with substantial proceeds for local causes.

Dining Experience

After a thrilling gaming session, guests can indulge in exquisite dining winnacasino-rw.com options available within Winna Casino. Here’s a glimpse of what’s on the menu:

Cuisine Type Featured Dish Description
Local Rwandan Isombe A delicious blend of cassava leaves cooked with ground nuts.
Italian Risotto al Funghi Creamy risotto cooked to perfection with wild mushrooms.
Asian Fusion Sushi Platter Assorted rolls featuring fresh fish, served with wasabi and ginger.

Each dining area offers a distinct atmosphere, from fine dining to relaxed bistro vibes, accommodating various preferences and ensuring a memorable culinary experience.

Customer Experience

The staff at Winna Casino RW prides itself on unparalleled customer service. Every visitor is treated like royalty, with dedicated personnel ready to assist at a moment’s notice. Whether you’re a first-time player or a seasoned gambler, you will feel right at home.

Feedback and Testimonials

Here’s what some customers have said about their experiences at Winna Casino:

  • “The ambiance alone draws me back, but the employees are what truly make the experience delightful.” – Sarah T.
  • “The variety of games makes it difficult to ever get bored! I love coming here.” – James H.
  • “An absolute gem! Every visit feels like a celebration.” – Maya L.

Conclusion

In summary, Winna Casino RW is more than just a gaming venue; it’s a vibrant community where celebrations happen daily. With unmatched gaming options, delectable dining, and exceptional customer service, your visit is destined to be a dazzling experience. Whether you come for the games, the food, or the lively atmosphere, Winna Casino stands as a must-visit destination in Rwanda.