/** * 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; } } Hvordan har kasinoer utviklet seg gjennom historien -

Hvordan har kasinoer utviklet seg gjennom historien

Hvordan har kasinoer utviklet seg gjennom historien

Kasinoenes opprinnelse

Kasinoer har en lang og fascinerende historie som strekker seg tilbake til antikken. De første kjente spillene ble spilt i Kina for over 2 000 år siden, der spillere benyttet ben og tilfeldige gjenstander for å kaste terninger. Dette tidlige gamblingmiljøet var en viktig del av den kinesiske kulturen, som senere spredte seg til andre deler av verden, inkludert Europa. I løpet av middelalderen begynte europeerne å utvikle sine egne former for spill, som kortspill og pengespill, noe som la grunnlaget for moderne kasinoer.

I løpet av 1600-tallet ble det etablert de første offisielle kasinoene i Italia, og Venezia var en av de tidligste byene som innførte gambling i større skala. Disse tidlige kasinoene var eksklusive og var ofte plassert i luksuriøse omgivelser, noe som tiltrakk seg aristokrater og rike borgere. Samtidig begynte spill og pengespill å bli mer tilgjengelig for den vanlige befolkningen, noe som bidro til at interessen for kasinoer vokste i hele Europa. wazamba

Mot slutten av 1800-tallet, i USA, oppstod det et nytt fenomen: kasinoene i Las Vegas. Byen, som tidligere var en liten stasjon på vei mot California, utviklet seg raskt til en gamblinghovedstad. Dette skapte et nytt kapittel i kasinoenes historie, der glamour, underholdning og store pengespill ble en del av kulturen i Las Vegas, noe som fortsatt er den dagen i dag.

Utviklingen av kasinoer i det 20. århundre

Det 20. århundre var en tid for dramatisk utvikling for kasinoer, med innføringen av nye teknologier og lovgivning som skulle forme bransjen. I 1931 legaliserte Nevada gambling, noe som la grunnlaget for veksten av kasinoer i Las Vegas. De første moderne kasinoene ble bygget med fokus på luksus og underholdning, med show, konserter og berømte artister som tiltrakk seg besøkende fra hele verden. Dette gjorde Las Vegas til et symbol på både gambling og underholdning.

På 1970-tallet begynte kasinoer å spre seg til andre deler av USA, særlig i Atlantic City, som ble den andre gamblingdestinasjonen etter Las Vegas. Byen tiltrakk seg spillere med sine egne unike kasinoer og hotellkomplekser. I løpet av 1980-årene begynte flere stater å legalisere gambling, noe som førte til en eksplosjon av kasinoer i hele landet og en økning i den økonomiske betydningen av gambling.

Den teknologiske utviklingen på 1990-tallet førte til fremveksten av online kasinoer. Dette revolusjonerte bransjen, ettersom spillere nå kunne gamble fra komforten av sitt eget hjem. Online kasinoer tilbød et bredt spekter av spill, fra klassiske bordspill til nye og innovative automatspill. Denne utviklingen har gjort det mulig for kasinoer å nå et bredere publikum og har endret måten folk opplever gambling på.

Kasinoer i dag

I dag er kasinoer mer enn bare steder for gambling; de er komplette underholdningskomplekser. Mange moderne kasinoer tilbyr et bredt spekter av aktiviteter, inkludert restauranter, butikker, spa og konserter. Dette gjør kasinoer til populære reisemål for både spillere og de som ønsker å nyte en helg med underholdning. I tillegg er mange kasinoer nå utstyrt med toppmoderne teknologi for å forbedre brukeropplevelsen, inkludert digitale spilleautomater og mobile applikasjoner som lar spillere spille hvor som helst.

Videre har kasinoer innført strenge sikkerhetstiltak for å sikre ansvarlig spilling og beskytte spillernes interesser. Mange kasinoer tilbyr verktøy for selvkontroll og setter inn tiltak for å hindre gamblingproblemer. Dette ansvaret er viktig for å opprettholde et positivt omdømme og å bidra til samfunnets velvære.

I tillegg til de fysiske kasinoene har online gambling blitt en enorm industri. Flere og flere spillere velger å spille på nett, noe som har ført til en konkurranse mellom fysiske og digitale plattformer. Online kasinoer, som Wazamba, tilbyr attraktive bonuser og fleksible betalingsmetoder, noe som tiltrekker seg spillere fra hele verden.

Fremtiden for kasinoer

Fremtiden for kasinoer ser lys ut, spesielt med den kontinuerlige utviklingen innen teknologi. Virtuell virkelighet (VR) og augmented reality (AR) kan potensielt revolusjonere spillopplevelsen ved å gi spillerne en mer immersiv opplevelse. Kasinoer kan bli mer interaktive, der spillerne kan delta i virtuelle spillmiljøer og samhandle med andre spillere på en helt ny måte.

Med den stigende populariteten til kryptovalutaer er det også sannsynlig at flere kasinoer vil begynne å akseptere digitale valutaer som betalingsmiddel. Dette kan gi spillerne større fleksibilitet og anonymitet når de spiller, noe som er attraktivt for mange. Teknologiske fremskritt vil også forbedre sikkerheten i spillmiljøet, noe som er avgjørende for å opprettholde tilliten hos spillere.

Til slutt vil kasinoer sannsynligvis fortsette å utvikle seg for å imøtekomme endrede forbrukerbehov og preferanser. Med fokus på ansvarlig spilling og bærekraftige praksiser, er det avgjørende at kasinoene tilpasser seg en moderne verden der spillerne ønsker både underholdning og trygghet. Dette vil være nøkkelen til å sikre en lys fremtid for kasinoer over hele verden.

Om Wazamba Casino

Casino er et moderne nettkasino som har fanget interessen til spillere med sitt varierte utvalg av spill og attraktive bonuser. Med en velkomstbonus som gir nye spillere 100% opptil 5 000 kr og 200 gratisspinn, sørger for en god start for alle nye medlemmer. Kasinoet har et brukervennlig grensesnitt som gjør det enkelt å navigere, og tilbyr en mobiloptimalisert plattform for spillere som ønsker å spille på farten.

tar også sikkerhet på alvor og implementerer strenge tiltak for ansvarlig spilling. Kasinoet tilbyr flere fleksible betalingsmetoder, inkludert kryptovaluta, noe som er en fordel for spillere med ulike preferanser. Med fokus på en trygg og sikker spillopplevelse har blitt et populært valg blant norske spillere som ønsker å utforske den spennende verden av online gambling.

Leave a Reply

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