/** * 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 52 – tejas-apartment.teson.xyz

Public

Советы по выигрышу в азартных играх как увеличить свои шансы

Советы по выигрышу в азартных играх как увеличить свои шансы Понимание игры и ее правил Чтобы увеличить свои шансы на выигрыш в азартных играх, важно прежде всего хорошо понимать правила игры. Независимо от того, играете ли вы в покер, рулетку или другие азартные игры, знание основ поможет вам принимать более обоснованные решения. Каждый вид игры […]

Советы по выигрышу в азартных играх как увеличить свои шансы Read More »

O’yinlar dunyosiga kirish boshlayotganlar uchun qo’llanma

O’yinlar dunyosiga kirish boshlayotganlar uchun qo’llanma O’yinlar dunyosiga kirish: Asosiy tushunchalar O’yinlar dunyosi juda keng va turli-tuman. U erda turli xil o’yinlar, platformalar va janrlar mavjud. O’yinlar bilan tanishish jarayonida, eng avvalo o’yinlarning turli turlari haqida bilish muhim. Shuningdek, o’yinlar orqali ko’plab yangi ko’nikmalarni o’rganish mumkin, masalan, 888starz sayti orqali eng mashhur o’yinlar bilan tanishish

O’yinlar dunyosiga kirish boshlayotganlar uchun qo’llanma Read More »

Populaire casinospellen Een uitgebreide uitleg over de meest gespeelde games

Populaire casinospellen Een uitgebreide uitleg over de meest gespeelde games Inleiding tot casinospellen Casinospellen zijn een belangrijke bron van vermaak en spanning voor veel spelers over de hele wereld. De diversiteit aan spellen die online casino’s aanbieden, zorgt ervoor dat er voor ieder wat wils is. Of je nu een fan bent van gokkasten, tafelspellen

Populaire casinospellen Een uitgebreide uitleg over de meest gespeelde games Read More »

Kumarxana oynamaq üçün skutlu ipucu və taktikalar

Kumarxana oynamaq üçün skutlu ipucu və taktikalar Kumarxanada strateji düşünmək Kumarxanada oynamaq, yalnız şansla bağlı bir oyun deyil, eyni zamanda strateji düşünməyi tələb edir. Uğurlu oyunçular, hər oyun üçün fərqli yanaşmalar sərgiləyərək, pinup az riskləri minimuma endirməyə çalışırlar. Məsələn, oyun başlamazdan əvvəl, hansı oyunların daha çox şans verdiyini araşdırmaq və bu oyunları seçmək önəmlidir. Oyun

Kumarxana oynamaq üçün skutlu ipucu və taktikalar Read More »

Exploring legendary casinos that defined the gambling world

Exploring legendary casinos that defined the gambling world The Rise of Iconic Casinos Throughout history, casinos have been synonymous with excitement and risk, captivating gamblers and thrill-seekers alike. From the opulent halls of Monte Carlo to the bustling atmosphere of Las Vegas, iconic casinos have shaped the landscape of gambling. Their unique architecture and lavish

Exploring legendary casinos that defined the gambling world Read More »

Mastering your budget essential tips for successful casino gaming

Mastering your budget essential tips for successful casino gaming Understanding Your Financial Limits Before you step into the thrilling world of casino gaming, it’s crucial to have a clear understanding of your financial limits. Establishing a budget is the first step to enjoying your gaming experience without falling into financial troubles. Determine how much you

Mastering your budget essential tips for successful casino gaming Read More »

Luck or skill which truly determines your success in gambling

Luck or skill which truly determines your success in gambling Understanding the Role of Luck in Gambling Luck is often the first concept that comes to mind when discussing gambling. The thrill of a spontaneous win or a surprising turnaround can easily be attributed to chance. Many people believe that a lucky streak can make

Luck or skill which truly determines your success in gambling Read More »

Responsible gambling essential tips for enjoyable play

Responsible gambling essential tips for enjoyable play Understanding Responsible Gambling Responsible gambling is about making informed choices and enjoying the gaming experience without letting it negatively impact your life. It involves recognizing the potential risks associated with gambling and taking proactive measures to ensure that your gaming habits remain healthy and fun. By understanding the

Responsible gambling essential tips for enjoyable play Read More »

Gambling’s impact on community dynamics A closer look at social implications

Gambling’s impact on community dynamics A closer look at social implications The Economic Influence of Gambling Gambling can serve as a significant economic driver within communities, creating jobs and generating revenue. Many regions that permit gambling activities, such as casinos and sports betting, experience an influx of tourists, resulting in increased spending in local businesses

Gambling’s impact on community dynamics A closer look at social implications Read More »