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

Public

Understanding the psychological triggers that drive gambling behavior

Understanding the psychological triggers that drive gambling behavior The Allure of Instant Gratification One of the primary psychological triggers behind gambling behavior is the appeal of instant gratification. Many individuals are drawn to the prospect of immediate rewards, which gambling offers through quick games and potential cash winnings. This immediate feedback can create a rush […]

Understanding the psychological triggers that drive gambling behavior Read More »

Maximize your casino bonuses with these expert strategies

Maximize your casino bonuses with these expert strategies Understanding Casino Bonuses Casino bonuses are promotional offers provided by online casinos to attract new players and retain existing ones. These bonuses can take various forms, including welcome bonuses, no deposit bonuses, free spins, and loyalty rewards. Understanding the types of bonuses available is crucial for maximizing

Maximize your casino bonuses with these expert strategies Read More »

Understanding gambling addiction Signs, impacts, and recovery strategies

Understanding gambling addiction Signs, impacts, and recovery strategies Recognizing the Signs of Gambling Addiction Gambling addiction often manifests in various behavioral and emotional signs that may go unnoticed initially. Individuals may experience an uncontrollable urge to gamble, often leading to significant financial loss and increased stress. Moreover, the thrill of playing at an online casino

Understanding gambling addiction Signs, impacts, and recovery strategies Read More »

Mastering winning strategies for gambling success

Mastering winning strategies for gambling success Understanding the Basics of Gambling Before diving into strategies, it’s essential to grasp the foundational principles of gambling. Each game has its own rules, odds, and house edge that influence your potential outcomes. Whether you’re playing poker, blackjack, or slots, knowing how the game works and what affects your

Mastering winning strategies for gambling success Read More »

Step-by-step guide to mastering the art of gambling strategy

Step-by-step guide to mastering the art of gambling strategy Understanding Gambling Fundamentals Before diving into the complexities of gambling strategy, it’s essential to grasp the basics of how different games work. Familiarizing yourself with the rules, odds, and payout structures of various games will give you a solid foundation. Whether you are playing poker, blackjack,

Step-by-step guide to mastering the art of gambling strategy Read More »

Navigating the casino A step-by-step guide to maximizing your experience

Navigating the casino A step-by-step guide to maximizing your experience Understanding Casino Basics Before stepping foot into a casino, it’s essential to grasp the foundational elements of gambling. Familiarize yourself with the various games available, such as slots, blackjack, poker, and roulette. Each game has its own set of rules, strategies, and odds, influencing your

Navigating the casino A step-by-step guide to maximizing your experience Read More »

The allure of famous gambling cities around the world

The allure of famous gambling cities around the world Las Vegas: The Entertainment Capital Las Vegas stands as the quintessential gambling city, drawing millions of visitors each year with its glitzy casinos and vibrant nightlife. Known for its extravagant resorts, the city offers a unique blend of luxury and excitement, providing visitors with a chance

The allure of famous gambling cities around the world Read More »

Cultural perceptions of gambling A global viewpoint on risk and reward

Cultural perceptions of gambling A global viewpoint on risk and reward The Historical Context of Gambling Gambling has been an integral part of human culture for centuries, with evidence dating back to ancient civilizations such as the Chinese, Greeks, and Romans. These early forms of gambling often took place during festivals and communal gatherings, serving

Cultural perceptions of gambling A global viewpoint on risk and reward Read More »

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

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

Советы по выигрышу в азартных играх как увеличить свои шансы 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 »