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

Uncategorized

Gamble Publication From Ra Deluxe ten Free Bananas go Bahamas slot free spins online Slot machine game because of the Novomatic

To try out Publication out of Ra 10 for free, you may also enjoy the Nuts icon. That it icon, lookin on the playing field, can be done people combination, apart from Scatter and you can increasing symbol.

Gamble Publication From Ra Deluxe ten Free Bananas go Bahamas slot free spins online Slot machine game because of the Novomatic Read More »

Gambling enterprises with no Wagering Standards Best casino Red Flush Sign-Right up Also provides

Posts Must i win real money that have extra revolves no deposit bonuses?: casino Red Flush How exactly we Rating the best Zero Wagering 100 percent free Spins Also offers Step four: Begin using the new Spins and you can Track the brand new Earnings Like Qualified Online casino Slots Hardly any other playing webpages

Gambling enterprises with no Wagering Standards Best casino Red Flush Sign-Right up Also provides Read More »

GameArt position developer Property-founded host game and online colossus kingdom no deposit slots

Because you don’t need to do an account, that you do not give any of your private information. Unsafe ports are those run because of the illegal web based casinos you to definitely take the fee guidance. The fresh online ports on the our very own web site will always be as well as affirmed

GameArt position developer Property-founded host game and online colossus kingdom no deposit slots Read More »

Genuine Money Online Casino Site: A Guide to the Thrilling Globe of Online Gaming

Online online casinos have transformed the gambling sector, bringing the excitement of real-money betting right to your fingertips. With the quick improvement of technology, players can now access a variety of gambling establishment games from the comfort of their own homes or on the move. This useful short article intends to lead you with the

Genuine Money Online Casino Site: A Guide to the Thrilling Globe of Online Gaming Read More »

Free Online Gambling Establishment: The Ultimate Overview for Gamblers

Welcome to our comprehensive guide on complimentary online casinos! Whether you are a skilled bettor or just starting your casino site journey, this article will supply you with all the essential information you require to learn about cost-free codigo promocional de gangabet online gambling establishments.

Free Online Gambling Establishment: The Ultimate Overview for Gamblers Read More »

Gambling Enterprises That Approve Bitcoin Deposits: A Full Overview

Bitcoin, the revolutionary digital currency that has actually gained extensive appeal throughout the years, has actually now made its way right into the world of on-line gambling establishments. With its decentralized nature and improved safety features, bitcoin has come to be a favored technique of payment for numerous bettors. In this post, we

Gambling Enterprises That Approve Bitcoin Deposits: A Full Overview Read More »

Neteller Gambling Establishments: A Total Guide to Online Gambling with Neteller

On the internet gambling establishments have actually reinvented the gaming market, offering gamers with ease, selection, and interesting gaming experiences right from the comfort of their homes. As the popularity of on the internet casinos continues to soar, repayment methods have actually ended up being a crucial element for gamers to consider.

Neteller Gambling Establishments: A Total Guide to Online Gambling with Neteller Read More »

Pin‑Up KZ: как оно меняет правила игры в Казахстане

Взгляд в мир онлайн‑казино Онлайн‑казино в Казахстане растут, и игроки ищут площадки, где можно не только развлечься, но и реально заработать.Среди множества сайтов Pin‑Up KZ выделяется своей узнаваемостью и адаптацией под местный рынок. Что такое Pin‑Up KZ? отзывы о казино pin-up в казахстане Бренд Pin‑Up начал работу в 2010 г.и теперь представлен в более чем

Pin‑Up KZ: как оно меняет правила игры в Казахстане Read More »