/** * 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; } } Онлайн-казино или наземные что выбрать Pinco casino – tejas-apartment.teson.xyz

Онлайн-казино или наземные что выбрать Pinco casino

Онлайн-казино или наземные что выбрать Pinco casino

Преимущества онлайн-казино

Онлайн-казино, такие как Pinco casino, предлагают множество преимуществ, которые привлекают игроков. Во-первых, это удобство: вы можете играть в любое время и в любом месте, не выходя из дома. Доступ к играм осуществляется через компьютер или мобильное устройство, что позволяет вам наслаждаться азартом, где бы вы ни находились. Особенно популярным является Pinko казино, которое радует пользователей разнообразием игр и приятными бонусами.

Во-вторых, онлайн-казино часто предлагают более широкий выбор игр по сравнению с наземными учреждениями. Вы можете найти различные слоты, настольные игры и даже живые дилерские игры, которые создают атмосферу настоящего казино. Это дает возможность игрокам выбирать те игры, которые им наиболее интересны.

Преимущества наземных казино

Наземные казино имеют свои уникальные преимущества, которые могут привлечь игроков. Одним из них является атмосфера. Уютные залы, живое общение с другими игроками и дилерами создают особое ощущение, которое трудно воспроизвести в онлайн-формате. Многие ценят именно эту социальную составляющую азартных игр.

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

Безопасность и надежность

Когда речь идет о безопасности, онлайн-казино, такие как Pinko казино, предоставляют высокий уровень защиты данных игроков. Современные технологии шифрования обеспечивают защиту ваших личных данных и финансовых операций. Это важно, особенно в свете растущих опасений по поводу кибербезопасности.

Наземные казино также предлагают определенные меры безопасности, но они могут быть ограничены физическими рамками заведения. В онлайн-казино вы можете быть уверены в анонимности своих действий, что делает игру более комфортной для многих пользователей.

Бонусы и акции

Онлайн-казино часто предлагают привлекательные бонусы и акции для новых и постоянных игроков. Это может включать в себя приветственные бонусы, бездепозитные предложения и фриспины. Такие акции дают возможность увеличить шансы на выигрыш, а также продлить время игры без дополнительных затрат.

Наземные казино, как правило, имеют более ограниченные бонусные программы. Хотя некоторые заведения могут предлагать привилегии для постоянных клиентов, в целом онлайн-казино предоставляют более выгодные условия для азартных игроков.

Pinco казино: ваш выбор для азартных игр

Pinco казино — это надежная платформа для онлайн-игр, которая предлагает широкий спектр игр и бонусов. Удобный интерфейс и поддержка кыргызского языка делают игру легкой и доступной для всех пользователей. Кроме того, возможность играть на местной валюте обеспечивает удобство в расчетах.

Среди других преимуществ Pinco казино можно выделить высокое качество обслуживания и регулярные обновления контента, что гарантирует свежие эмоции и интересные предложения для игроков. Платформа стремится создать безопасную и увлекательную среду для азартных игр, что делает её отличным выбором для любителей азартных игр.

Leave a Comment

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