/** * 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; } } Säker och ansvarig spelande Så skyddar du dig själv -

Säker och ansvarig spelande Så skyddar du dig själv

Säker och ansvarig spelande Så skyddar du dig själv

Förstå riskerna med spelande

Spelande kan vara en rolig och underhållande aktivitet, men det medför också risker som kan påverka både den psykiska och ekonomiska hälsan. Många spelare är inte medvetna om de psykologiska effekterna av spelande, vilket kan leda till problem som spelberoende. Därför är det viktigt att klicka här för att vara medveten om dessa risker för att kunna spela på ett säkert och ansvarsfullt sätt.

En av de största farorna med spelande är att det kan skapa en känsla av kontroll som i själva verket är vilseledande. Spelare tror ofta att de kan påverka resultaten genom sina val, vilket kan leda till ökat spelande och snabba förluster. Genom att förstå dessa mekanismer kan spelare fatta mer informerade beslut och sätta gränser för sig själva.

Skapa spelgränser

Att sätta personliga gränser är avgörande för att skydda sig själv när man spelar. Det handlar inte bara om att bestämma hur mycket pengar man är villig att satsa, utan även om tid och känslomässigt engagemang. Genom att skapa tydliga gränser kan man minska risken för att hamna i en ohälsosam spelcykel.

En strategi kan vara att använda tidsgränser för sitt spelande. Genom att sätta upp en timer kan spelaren bättre hålla koll på hur länge de har spelat och undvika att fastna i spelandet. Det är också bra att planera för vilka dagar och tider man ska spela, för att undvika spontana beslut som kan leda till överdrivet spelande.

Känna igen varningssignaler

Att identifiera varningssignaler är avgörande för att kunna hantera sitt spelande. Om du märker att du börjar spela mer än du har råd med eller känner ett behov av att spela för att må bättre, kan det vara dags att stanna upp och utvärdera ditt beteende. Känslor som stress, ångest eller depression kan förvärra spelandet och leda till en ond cirkel.

Det är också viktigt att vara medveten om att spelande kan påverka relationer och sociala liv. Om du börjar isolera dig eller prioritera spelande framför andra aktiviteter, är det en varningssignal på att något kan vara fel. Att öppna upp för nära och kära om sitt spelande kan vara ett första steg mot att söka hjälp.

Resurser för stöd och hjälp

Det finns många resurser tillgängliga för dem som kämpar med spelproblem. Många organisationer erbjuder stöd, rådgivning och resurser för att hjälpa spelare att hantera sitt beteende. Det är viktigt att veta att man inte är ensam och att hjälp finns att få.

Genom att söka hjälp kan spelare lära sig strategier för att hantera sitt spelande och återfå kontrollen över sin livssituation. Att diskutera sina erfarenheter med andra som har liknande utmaningar kan också vara en stor hjälp och bidra till en känsla av gemenskap.

Vår webbplats och resurser

Vår webbplats är dedikerad till att erbjuda information och stöd för säkert och ansvarsfullt spelande. Här hittar du verktyg och resurser för att förstå riskerna med spelande och hur du kan skydda dig själv. Genom att använda vår information kan du navigera i spelvärlden med större trygghet och säkerhet.

Vi strävar efter att skapa en säker onlineupplevelse för alla våra besökare. Genom att erbjuda vägledning och stöd hoppas vi kunna bidra till en ansvarsfull spelkultur där varje individ kan njuta av spelande utan att riskera sin hälsa eller välbefinnande.

Leave a Reply

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