/** * 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; } } Public – Page 28 – tejas-apartment.teson.xyz

Public

Rechtliche Aspekte des Glücksspiels Was Sie über RingoSpin Casino wissen sollten

Rechtliche Aspekte des Glücksspiels Was Sie über RingoSpin Casino wissen sollten Einführung in die rechtlichen Rahmenbedingungen des Glücksspiels Glücksspiel ist in vielen Ländern ein reguliertes Geschäft, und die rechtlichen Rahmenbedingungen können sich erheblich unterscheiden. In Deutschland beispielsweise ist das Glücksspielrecht komplex und umfasst sowohl Bundes- als auch Landesgesetze. Die Erlaubnis für Online-Casinos, wie das RingoSpin […]

Rechtliche Aspekte des Glücksspiels Was Sie über RingoSpin Casino wissen sollten Read More »

Beginnen met gokken tips voor nieuwe spelers in het casino

Beginnen met gokken tips voor nieuwe spelers in het casino De basisprincipes van gokken Voor nieuwe spelers is het belangrijk om de basisprincipes van gokken te begrijpen. Gokken is niet alleen een spel van geluk, maar ook van strategie. Voordat je begint, is het cruciaal om te weten welke spellen je wilt spelen en hoe

Beginnen met gokken tips voor nieuwe spelers in het casino Read More »

Exploring Casino Games: Varieties and Rules You Need to Know

Exploring Casino Games: Varieties and Rules You Need to Know Εισαγωγή στα παιχνίδια καζίνο Ο κόσμος των παιχνιδιών καζίνο είναι πολυδιάστατος και προσφέρει ποικιλία επιλογών που καλύπτουν όλα τα γούστα. Από τις κλασικές κουλοχέρηδες μέχρι τα επιτραπέζια παιχνίδια όπως η ρουλέτα και το πόκερ, οι παίκτες έχουν τη δυνατότητα να απολαύσουν μοναδικές εμπειρίες. Αναζητώντας τα

Exploring Casino Games: Varieties and Rules You Need to Know Read More »

The legal landscape of gambling Key considerations for enthusiasts and operators

The legal landscape of gambling Key considerations for enthusiasts and operators Understanding Gambling Laws The legal landscape of gambling is intricate and varies significantly from one jurisdiction to another. This complexity is largely due to varying state, national, and even international laws that govern gambling activities. For enthusiasts, understanding the local regulations is crucial, as

The legal landscape of gambling Key considerations for enthusiasts and operators Read More »

Mastering casino strategies Essential tips and tricks for success

Mastering casino strategies Essential tips and tricks for success Understanding Casino Games To successfully navigate the casino environment, it’s essential to have a firm grasp of the different types of games available. Casino games can broadly be categorized into two main groups: games of chance and games of skill. Games like slots and roulette primarily

Mastering casino strategies Essential tips and tricks for success Read More »

Giocare responsabilmente la guida definitiva di playid al gioco d'azzardo consapevole

Giocare responsabilmente la guida definitiva di playid al gioco d'azzardo consapevole Cos’è il gioco d’azzardo responsabile? Il gioco d’azzardo responsabile si riferisce all’insieme di pratiche e comportamenti che permettono agli individui di giocare in modo consapevole, evitando di sviluppare dipendenze o di mettere a rischio le proprie finanze. È fondamentale stabilire limiti chiari e realistici,

Giocare responsabilmente la guida definitiva di playid al gioco d'azzardo consapevole Read More »

Exploring the dynamics of modern casinos A comprehensive overview

Exploring the dynamics of modern casinos A comprehensive overview The Historical Evolution of Casinos The history of casinos can be traced back to ancient civilizations, where gambling was often intertwined with culture and ritual. The earliest known gambling house is the Venetian casino, established in the 17th century, which set the stage for the evolution

Exploring the dynamics of modern casinos A comprehensive overview Read More »

Mastering the complexities of advanced casino strategies A comprehensive guide

Mastering the complexities of advanced casino strategies A comprehensive guide Understanding Casino Odds and House Edge When engaging in casino games, grasping the concept of odds is crucial for developing effective strategies. The odds indicate the likelihood of a particular outcome occurring, which is vital for players seeking to maximize their chances of winning. Different

Mastering the complexities of advanced casino strategies A comprehensive guide Read More »

Mythen en misverstanden over gokken wat je moet weten

Mythen en misverstanden over gokken wat je moet weten Wat zijn de meest voorkomende mythen over gokken? Een van de meest hardnekkige mythen over gokken is dat het puur een kwestie van geluk is. Veel mensen geloven dat als je geluk hebt, je altijd wint, terwijl de werkelijkheid veel complexer is. Statistieken en wiskundige kansen

Mythen en misverstanden over gokken wat je moet weten Read More »