/** * 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; } } Online eller offline Hvad er den bedste spillestil for dig -

Online eller offline Hvad er den bedste spillestil for dig

Online eller offline Hvad er den bedste spillestil for dig

Fordele ved online casinoer

Online casinoer har vundet enorm popularitet i de seneste år, og der er gode grunde til dette. En af de største fordele er tilgængeligheden; spillere kan logge ind og spille fra hvor som helst og når som helst. Dette gør det muligt for mange at spille, når de har tid, uden at skulle rejse til et fysisk casino. For dem, der ønsker at spille frit, er der mange muligheder som online casino uden om rofus, som giver en mere uhindret oplevelse.

Derudover tilbyder online casinoer ofte et større udvalg af spil sammenlignet med offline casinoer. Spillere kan vælge mellem tusindvis af slotmaskiner, bordspil og live dealer-spil. Mange online platforme tilbyder også attraktive bonusser, som kan øge spillerens bankroll og give flere muligheder for at vinde.

Fordele ved offline casinoer

Selvom online casinoer har mange fordele, er der stadig en særlig charme ved offline casinoer. Den sociale interaktion, der findes i et fysisk casino, er uovertruffen. Spillere kan mødes med venner, deltage i live turneringer og nyde atmosfæren, der kun kan findes på casinoet.

Desuden kan nogle spillere finde det lettere at styre deres spillevaner i et offline miljø, da de fysisk skal rejse til casinoet. Dette kan være en god måde at sætte grænser og undgå impulsivitet, som ofte kan ske online, hvor det er lettere at spille flere spil hurtigt.

Psykologiske aspekter ved spil

Uanset om man spiller online eller offline, spiller psykologi en stor rolle i spilleoplevelsen. Mange spillere føler en form for eufori, når de vinder, og denne følelse kan føre til, at de fortsætter med at spille, selv når de taber. For online spillere kan denne tilstand forværres, da det er lettere at miste fornemmelsen af penge, når man spiller med klik i stedet for fysiske mønter.

Psykologiske faktorer som tilgængelighed og belønning kan påvirke valget af spillestil. Online casinoer gør det nemt at spille mere, hvilket kan være problematisk for dem, der har svært ved at styre deres spil. Det er vigtigt at være opmærksom på disse faktorer, når man vælger mellem online og offline spil.

Hvordan vælger man den rette spillestil?

Valget mellem online og offline casino afhænger af individuelle præferencer og spillestil. Hvis du værdsætter fleksibilitet og bekvemmelighed, kan online spil være det bedste valg for dig. Du kan spille i dit eget tempo og vælge mellem et bredt udvalg af spil.

Omvendt, hvis du søger social interaktion og en mere håndgribelig oplevelse, kan offline casinoer være bedre. At kunne se croupieren i aktion og nyde atmosfæren kan berige spilleoplevelsen og skabe mindeværdige øjeblikke.

Oplev mere på vores hjemmeside

Vores hjemmeside tilbyder en omfattende guide til både online og offline casinoer, så du kan træffe informerede valg. Vi hjælper dig med at finde de bedste casinoer, bonusser og betalingsmetoder, så du kan få den mest underholdende oplevelse.

Uanset om du vælger online eller offline, er det vigtigt at spille ansvarligt. Vi opdaterer løbende vores indhold for at sikre, at du altid har adgang til de nyeste oplysninger og vurderinger, så du kan nyde din spiloplevelse uden bekymringer.

Leave a Reply

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