/** * 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; } } Icecasinodk DK – Det officielle Kasino for Danskere -

Icecasinodk DK – Det officielle Kasino for Danskere

Icecasinodk DK – Det officielle Kasino for Danskere

Icecasinodk DK er en af de mest populære online kasinoer i Danmark. Det tilbyder et omfattende udvalg af spil, inklusive spilleautomater, bordspil og live casino. Uanset om du er en erfaren spiller eller nybegynder, finder du noget, der passer til dine præferencer. Det officielle site tilbyder ikke kun en venlig brugergrænseflade, men også en Icecasinodk DK – Det officielle onlinecasino for danske spillere Icecasinodk DK-indskudsbonus, som kan give nye spillere en god grund til at tilmelde sig.

Om Icecasinodk DK

Icecasinodk DK er licenseret af Spillemyndigheden i Danmark, hvilket sikrer, at spillene er fair, og at spillerne beskyttes. Kasinoet har et stort fokus på ansvarligt spil og tilbyder forskellige værktøjer til at hjælpe spillere med at styre deres spil. Du kan finde information om selvudelukkelse, indbetalingsgrænser og andre nyttige ressourcer på hjemmesiden.

Spiludvalg

Hos Icecasinodk DK finder du et variabelt udvalg af spil, der dækker alle typer af spillere. Spilleautomaterne spænder fra de klassiske titler til de nyeste udgivelser. Desuden tilbyder kasinoet et imponerende udvalg af bordspil som blackjack, roulette og baccarat, hvor du kan teste dine færdigheder mod kasinoet. For dem, der søger en mere realistisk oplevelse, er der live casino sektionen, hvor du kan spille mod rigtige dealere i realtid.

Bonuser og Kampagner

En af de mest attraktive funktioner ved Icecasinodk DK er deres bonusprogram. Den velkomstbonus, som nye spillere får, kan øge din første indbetaling og give dig ekstra spilletid. I tillegg til velkomstbonussen tilbyder kasinoet også regelmæssige kampagner og loyalitetsprogrammer, som belønner trofaste spillere med eksklusive tilbud og incitamenter.

Mobiloplevelsen

Icecasinodk DK er designet til at være mobilvenlig. Kasinoet kan tilgås via smartphones og tablets, hvilket giver dig frihed til at spille, uanset hvor du befinder dig. Mobilversionen af kasinoet tilbyder et bredt udvalg af spil, der er let tilgængelige, og navigeringen er intuitiv, så du hurtigt kan finde dine yndlingsspil.

Indbetaling og Udbetaling

Icecasinodk DK tilbyder en række sikre betalingsmetoder til indbetaling og udbetaling. Du kan vælge mellem kreditkort, e-wallets og bankoverførsler. Behandlingen af indbetalinger er hurtig, så du kan komme i gang med at spille med det samme. Udbetalinger behandles også effektivt, så du kan få dine gevinster hurtigt og sikkert.

Support

Kundesupport er en prioritet for Icecasinodk DK. Kasinoet tilbyder flere måder at komme i kontakt med supportteamet, herunder live chat, e-mail og telefon. Supportteamet er veluddannet og klar til at hjælpe dig med eventuelle spørgsmål eller problemer, du måtte have.

Konklusion

Icecasinodk DK er et fremragende valg for danske spillere, der søger en pålidelig og underholdende online kasinooplevelse. Med et bredt udvalg af spil, attraktive bonusser og en mobilvenlig oplevelse, skiller dette kasino sig ud fra konkurrenterne. Uanset om du er ny i online gambling eller en erfaren spiller, vil Icecasinodk DK give dig en sikker og sjov oplevelse.

Her kan du læse mere om bonusserne, spiludvalget og alle de spændende tilbud, Icecasinodk DK har at tilbyde. Gå ikke glip af chancen for at opdage din næste favorit spilplatform!