/** * 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; } } Казинолор боюнча эң мыкты бонус түрлөрү кандай – tejas-apartment.teson.xyz

Казинолор боюнча эң мыкты бонус түрлөрү кандай

Казинолор боюнча эң мыкты бонус түрлөрү кандай

Казинолордо бонус түрлөрү жөнүндө жалпы маалымат

Казинолордо оюнчулар үчүн сунушталган бонус түрлөрү аларга кошумча мүмкүндүктөрдү берет. Бул бонус түрлөрү оюнчулардын оюндарынын тажрыйбасын жакшыртат, ошондой эле утуштарды көбөйтүүгө жардам берет. Мисалы, депозиттик бонус, кээде “кошумча акча” деп аталат, оюнчу өзүнүн биринчи депозитин жасаганда берилет. Бул chicken road game casino бонус, адатта, оюнчу өзү салган суммадан белгилүү процентти кошуп берет.

Ошондой эле, акысыз спиндер да популярдуу бонус түрү болуп саналат. Оюнчу белгилүү бир оюнда акысыз айлануу мүмкүнчүлүгүн алат, бул утуштарды жогорку деңгээлде көбөйтүүгө мүмкүнчүлүк берет. Бул бонус түрлөрү ар кандай оюндарда колдонулат жана оюнчулар арасында абдан чоң кызыгууну жаратат.

Депозиттик бонус

Депозиттик бонус казинолордо эң кеңири таралган бонус түрү болуп саналат. Оюнчу казинога акча киргизгенде, казино белгилүү пайыздык сумманы кошуп берет. Мисалы, 100% депозиттик бонус, оюнчунун салган суммасын эки эселеп берет. Бул оюнчуга көбүрөөк акча менен ойноп, утуштарын көбөйтууга мүмкүнчүлүк берет.

Бул бонус түрүнүн өзгөчөлүгү, адатта, минималдуу депозиттин талаптары менен чектелет. Оюнчу үчүн өтө пайдалуу, анткени ал натыйжада көбүрөк оюн мүмкүнчүлүктөрүнө ээ болот. Бирок, депозиттик бонус алып жатканда, оюнчу ар дайым шарттар менен таанышып чыгуусу керек, анткени бардык казинолор ар кандай талаптарды койушу мүмкүн.

Акысыз спиндер

Акысыз спиндер – бул казино тарабынан сунушталган уникалдуу мүмкүнчүлүк. Оюнчу белгилүү бир оюнду ойноо үчүн акысыз айланууларды алат. Акысыз спиндерди алуу үчүн, оюнчу ар кандай талаптарды аткарышы керек, албетте, бул шарттар казиноно жараша өзгөрүп турат.

Оюнчулар үчүн акысыз спиндердин артыкчылыгы, аларды пайдаланып, утуштарды эч кандай тобокелге салбай эле алууга мүмкүнчүлүк берет. Оюнчулар акча салбастан да, казино тарабынан берилген бонус аркылуу утуштарды таба алышат. Бул, өзгөчө, жаңы оюнчулар үчүн абдан кызыктуу жана пайдалуу.

Кешбэк (касса кайтаруу) бонусу

Кешбэк бонусу – бул казино оюнчуларына жоготуп алган акчаларын кайтарууга мүмкүндүк берет. Көбүнчө, бул бонус оюнчуга белгилүү пайыздык сумманы кайтарып берет, бул оюнчу өзүнүн жоготууларын компенсациялоо мүмкүнчүлүгүн түзөт. Бул учурда, оюнчулар оюндан мурун жоготуу тобокелин азайтуу үчүн стратегияларын иштеп чыгууга мүмкүнчүлүк алышат.

Кешбэк бонусу оюнчулар үчүн пайдалуу, анткени ал жоготуу деңгээлинде туруктуулукту камсыз кылат. Оюнчулар казино менен өз ара аракеттенүүдө, бюджетин туура пландаштырууга жардам берет. Бул бонус, адатта, ар кандай шарттар менен чектелип, белгилүү бир мезгилде гана иштейт.

Биздин веб-сайтыбыз жөнүндө

Биздин веб-сайтыбыз казино дүйнөсүндө жаңылыктарды, сунуштарды жана маалыматтарды камсыз кылат. Оюнчулар үчүн ар дайым пайдалуу маалыматтарды жана кеңештерди сунуштайбыз, бул алардын оюн тажрыйбасын жакшыртууга жардам берет. Биз казино бонус түрлөрү, жаңы оюндар жана стратегиялар жөнүндө акыркы маалыматтарды жарыялайбыз.

Эгер сиз казино дүйнөсүнө кирүүгө кызыксаңыз, биздин веб-сайттан керектүү маалыматтарды таба аласыз. Биздин максат – оюнчулардын тажрыйбасын жакшыртуу, жана сизге эң жакшы оюн шарттарын сунуштоо. Биз менен болуу менен, сиз казино дүйнөсүндөгү эң актуалдуу жана пайдалуу маалыматтардан кабардар болосуз.

Leave a Comment

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