/** * 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; } } Opdag Verdenen af Online Casinoer Spil og Vind -

Opdag Verdenen af Online Casinoer Spil og Vind

Opdag Verdenen af Online Casinoer Spil og Vind

Online Casinoer: En Verden af Underholdning og Chancer

Online casinoer har revolutioneret måden, hvorpå folk spiller. Den lette adgang til en bred vifte af spil fra hjemmets komfort har gjort dem utroligt populære. I denne artikel vil vi udforske, hvad der gør online casinoer til en favorit blandt spillere, samt hvordan man vælger et casino, der passer til ens behov. Besøg også casino online kippinge-kirke.dk for at finde interessante aktiviteter i dit område.

Hvordan Fungerer Online Casinoer?

Online casinoer opererer ved at tilbyde spillere en digital platform, hvor de kan spille forskellige casinospil. Disse spil kan omfatte klassikere som poker, blackjack og roulette, samt innovative spilleautomater og live dealer-spil. Spillene er drevet af avanceret software, der sikrer fair play og randomisering.

Typer af Spil på Online Casinoer

Der findes et væld af forskellige spil tilgængelige på online casinoer. Her er nogle af de mest populære kategorier:

Spilleautomater

Spilleautomater er uden tvivl nogle af de mest populære spil på online casinoer. De kommer i mange forskellige temaer, stilarter og funktioner. Mange spilleautomater tilbyder også progressive jackpots, hvor jackpotten vokser, indtil én spiller vinder den.

Live Dealer Spil

Live dealer-spil bringer casinooplevelsen direkte til dit hjem. Spillere kan interagere med rigtige dealere via video stream, hvilket skaber en mere autentisk oplevelse. Disse spil inkluderer typisk blackjack, roulette og baccarat.

Kortspil

Kortspil som poker og blackjack er en stor del af online casinooplevelsen. Mange online casinoer tilbyder også variabler af disse klassiske spil, som giver spillerne mulighed for at prøve nye strategier og varianter.

Fordele ved at Spille Online

Der er mange fordele ved at spille på online casinoer:

Opdag Verdenen af Online Casinoer Spil og Vind
  • Tilgængelighed: Du kan spille når som helst og hvor som helst, så længe du har internetadgang.
  • Stort udvalg af spil: Online casinoer tilbyder ofte et større udvalg af spil end fysiske casinoer.
  • Bonuser og kampagner: Mange online casinoer tilbyder attraktive velkomstbonuser og løbende kampagner for at tiltrække og fastholde spillere.
  • Privatliv: Spillere kan nyde deres spil i privatlivens fred uden frygt for dømmende blikke.

Sådan Vælger du det Rette Online Casino

Når du vælger et online casino, er der flere faktorer, der skal overvejes:

Licens og Regulering

Det er vigtigt at vælge et online casino, der er licenseret og reguleret af en pålidelig myndighed. Dette sikrer, at casinoet opererer lovligt og følger strenge standarder for fair play og sikkerhed.

Spiludvalg

Kontroller, om casinoet tilbyder de spil, du er interesseret i. Nogle casinoer specialiserer sig i spilleautomater, mens andre har et bredere udvalg af kortspil og live dealer-spil.

Bonusser og Kampagner

Læs betingelserne for bonustilbud og kampagner omhyggeligt. Se efter bonusser med rimelige omsætningskrav, så du kan få mest muligt ud af din spilleoplevelse.

Betalingsmetoder

Sørg for, at casinoet tilbyder betalingsmetoder, der er bekvemme for dig. De bedste online casinoer tilbyder en række indbetalings- og udbetalingsmetoder, herunder kreditkort, e-tegnebøger og bankoverførsler.

Kunde Support

God kundesupport er vital for en positiv spilleoplevelse. Tjek, om casinoet tilbyder support via chat, e-mail eller telefon, og om der er support tilgængelig på dansk.

Ansvarligt Spil

Det er vigtigt at spille ansvarligt, når du deltager i online spil. Sæt en spillegrænse, og hold dig til den. Mange online casinoer tilbyder værktøjer til at hjælpe spillere med at styre deres spilvaner og præferencer.

Afsluttende Tanker

Online casinoer repræsenterer en underholdende og spændende mulighed for dem, der ønsker at prøve deres lykke. Ved at være informeret og vælge det rigtige casino kan du forbedre din spiloplevelse betydeligt. Husk altid at spille ansvarligt og have det sjovt!

Leave a Reply

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