/** * 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; } } Basil hər kəs üçün kazino başlayır pinco casino ilə ilk addımlarınızı atın – tejas-apartment.teson.xyz

Basil hər kəs üçün kazino başlayır pinco casino ilə ilk addımlarınızı atın

Basil hər kəs üçün kazino başlayır pinco casino ilə ilk addımlarınızı atın

Pinco Casino-nun Xüsusiyyətləri

Pinco Casino, istifadəçilərə geniş və müxtəlif qumar oyunları təqdim edir. Burada 5000-dən çox slot oyunu, canlı kazino oyunları və idman mərcləri mövcuddur. İstifadəçilər, Curacao lisenziyası ilə etibarlı bir mühitdə oyun oynama imkanına malikdir. Bu, oyunçuların təhlükəsiz bir platformada əylənmək və qazanmaq üçün pinco bet tam rahatlıqda olmasını təmin edir.

Pinco Casino, həmçinin, istifadəçilərə sürətli qeydiyyat prosesi təklif edir. Qeydiyyat zamanı tələb olunan məlumatların minimum olması, yeni oyunçuların bu platformaya asanlıqla qoşulmasına imkan tanıyır. Beləliklə, istifadəçilər, cəmi bir neçə dəqiqə ərzində oyuna başlaya bilərlər.

Mobil Oyun İmkanları

Pinco Casino, mobil tətbiqləri vasitəsilə oyunçulara istənilən yerdən daxil olma imkanı təqdim edir. Bu, oyunçuların gündəlik fəaliyyətlərinə uyğun olaraq, istədikləri zaman kazino oyunlarına qoşulmalarını asanlaşdırır. Mobil oyun, istifadəçilərə rahatlıq və çeviklik verir.

Mobil tətbiqdə, bütün slotlar, canlı kazino oyunları və idman mərcləri ilə yanaşı, bonuslar və promosyonlar da mövcuddur. Bu da oyunçulara daha çox əyləncə və mükafat qazanmaq fürsəti yaradır.

Bonus və Promosyonlar

Pinco Casino, yeni oyunçulara cazibədar bonuslar təqdim edir. Bu bonuslar, qeydiyyat zamanı və ya ilk depozit etdikdə mükafatlar şəklində olur. Beləliklə, oyunçular, daha çox oyun oynamağa və qazanc əldə etməyə təşviq olunur.

Bonusların və promosyonların çeşidi, oyunçuların müntəzəm olaraq platformada qalmasını təmin edir. Xüsusilə, mütəmadi oyunçular üçün hazırlanmış xüsusi kampaniyalar, onların kazinoda daha uzun müddət qalmasına və daha çox qazanmasına imkan tanıyır.

Təhlükəsizlik və Etibarlılıq

Pinco Casino, oyunçuların məlumatlarının və maliyyələrinin təhlükəsizliyini təmin etmək üçün müxtəlif təhlükəsizlik tədbirləri tətbiq edir. Bu, oyunçuların öz hesablarına etibar etməsini asanlaşdırır. Curacao lisenziyası altında fəaliyyət göstərməsi də platformanın etibarlılığını artırır.

İstifadəçi məlumatlarının qorunması üçün müasir kriptoqrafiya texnologiyaları istifadə edilir. Bu, oyunçuların şəxsi məlumatlarının hifz olunmasını təmin edir və onları hər hansı bir təhlükədən qoruyur.

Pinco Casino-nun Gələcəyi

Pinco Casino, müasir texnologiyalardan faydalanaraq, istifadəçilərə daha keyfiyyətli oyun təcrübəsi təqdim etməyə çalışır. Gələcəkdə daha çox oyun çeşidi, inkişaf etmiş mobil tətbiqlər və artırılmış bonuslar ilə istifadəçilərin məmnuniyyətini artırmağı hədəfləyir.

Bu platforma, həm yeni başlayanlar, həm də təcrübəli oyunçular üçün geniş imkanlar təqdim edir. Pinco Casino, qumar dünyasında öz yerini daha da möhkəmləndirərək, oyunçulara əyləncənin və mükafatların dolu olduğu bir təcrübə yaşatmağa davam edəcək.

Leave a Comment

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