/** * 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; } } Geschiedenis van gokken van oude beschavingen tot moderne trends – tejas-apartment.teson.xyz

Geschiedenis van gokken van oude beschavingen tot moderne trends

Geschiedenis van gokken van oude beschavingen tot moderne trends

Oude beschavingen en hun goktradities

Gokken heeft een lange geschiedenis die teruggaat tot de oudste beschavingen. In Mesopotamië, rond 3000 voor Christus, werden er al dobbelstenen gebruikt, gemaakt van botten en steen. Deze dobbelstenen waren vaak onderdeel van rituelen en ceremonies. Ook in het oude Egypte waren er verschillende vormen van gokken te vinden, waarbij spelletjes zoals senet een centrale rol speelden in sociale interacties. Tegenwoordig kunnen liefhebbers ook de top 10 online casino belgië verkennen voor spannende ervaringen.

De Grieken en Romeinen introduceerden hun eigen versies van kansspelen. In het oude Rome werden er weddenschappen geplaatst op gladiatorengevechten en andere openbare evenementen. Dit leidde tot de ontwikkeling van georganiseerde gokactiviteiten en legale speelfaciliteiten, wat een belangrijke stap was in de geschiedenis van het gokken.

De opkomst van casino’s in de middeleeuwen

Tijdens de middeleeuwen werd gokken steeds meer een populair tijdverdrijf in Europa. Met de opkomst van steden en handel, begonnen er tavernes en herbergen te ontstaan waar mensen elkaar ontmoetten om te spelen. Dit leidde tot de ontwikkeling van verschillende spelvormen, zoals kaarten en dobbelspellen, die steeds meer gelegaliseerd werden.

In de 17e eeuw opende het eerste echte casino in Venetië, bekend als Il Ridotto. Dit was een formele instelling waar mensen legaal konden gokken. De populariteit van casino’s verspreidde zich snel over heel Europa, met Parijs als een belangrijk centrum voor gokken, vooral met de introductie van roulette en andere casinospellen.

De evolutie van gokken in de 20e eeuw

De 20e eeuw bracht enorme veranderingen in de gokwereld, vooral met de opkomst van de technologie. In de jaren ’30 werden de eerste wettelijke casino’s in de Verenigde Staten geopend, met Las Vegas als het meest iconische voorbeeld. Dit leidde tot een golf van gokken, waarbij luxe en entertainment centraal stonden, naast de kans om te winnen.

Tegelijkertijd ontwikkelden zich nieuwe vormen van gokken, zoals de loterijen die populair werden in verschillende landen. De legalisering van online gokken aan het einde van de eeuw opende nieuwe deuren voor spelers, waardoor ze vanuit hun eigen huis konden deelnemen aan gokactiviteiten.

Moderne trends en de impact van technologie

In de moderne tijd heeft de technologie het gokken verder getransformeerd. Online casino’s bieden nu een breed scala aan spellen, variërend van klassieke tafelspellen tot innovatieve gokkasten. Mobiele applicaties maken het mogelijk om overal te gokken, wat de toegang tot kansspelen vergemakkelijkt en de ervaring van de spelers verrijkt.

Bovendien hebben live casino’s, waar spelers in real-time kunnen spelen met echte dealers via streaming, de manier waarop mensen gokken opnieuw veranderd. Deze trends zorgen ervoor dat gokken aantrekkelijk blijft voor een breed publiek en dat de sector blijft groeien.

Onze website en de beste gokervaring

Op onze website bieden we uitgebreide informatie over de huidige gokmarkt, inclusief gedetailleerde beoordelingen van de beste online casino’s. Onze experts delen waardevolle inzichten over betrouwbaarheid, spelervaring en bonussen, zodat spelers goed geïnformeerd kunnen kiezen.

Of je nu een ervaren speler bent of nieuw bent in de wereld van gokken, onze website biedt alle benodigde ondersteuning en informatie voor een zorgeloze gokervaring. Bezoek ons en ontdek de beste opties die de Belgische markt te bieden heeft.

Leave a Comment

Your email address will not be published. Required fields are marked *