/** * 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; } } Objevte Svět Online Kasin Jak Vybrat to Pravé pro Vás -

Objevte Svět Online Kasin Jak Vybrat to Pravé pro Vás

Objevte Svět Online Kasin Jak Vybrat to Pravé pro Vás

Objevte Svět Online Kasin: Jak Vybrat to Pravé pro Vás

V posledních letech se online kasina stala stále populárnější volbou pro hráče, kteří chtějí zažít vzrušení z hazardních her z pohodlí domova. casino online https://kancelarin.cz/. V tomto článku si projdeme klíčové faktory, které byste měli zvážit při volbě online kasina, a nabídneme vám několik tipů pro optimální zážitek.

1. Bezpečnost a Licencování

Před tím, než se rozhodnete zaregistrovat v online kasinu, je nezbytné ověřit jeho bezpečnost. Ověřte, zda má kasino licenci od regulátorů, jako jsou Malta Gaming Authority nebo UK Gambling Commission. Tyto organizace zajišťují, že kasino dodržuje přísná pravidla a standardy, aby ochránily hráče. Dalším důležitým aspektem je zabezpečení osobních a finančních údajů. Hledejte kasina, která používají šifrování SSL, což zajišťuje, že vaše data jsou chráněna.

2. Výběr her

Důležitým faktorem při výběru online kasina je nabídka her. Různá kasina nabízejí různé typy her, včetně automatů, stolních her, pokeru a živých kasinových her. Pokud máte preference ohledně konkrétních her, ujistěte se, že kasino, které zvažujete, má bohatou nabídku těchto her. Například, pokud jste fanouškem slotů, vyhledejte kasino s širokým výběrem a různými tematickými automaty.

3. Bonusy a Promoakce

Online kasina často lákají nové hráče na atraktivní bonusy a promoakce. Ty mohou zahrnovat uvítací bonusy, volné otočky nebo cashbacky. Při zvažování těchto nabídek je důležité přečíst si podmínky a požadavky na sázení. Ujistěte se, že bonusy jsou férové a realistické, abyste se vyhnuli zklamání, když se budete pokoušet vybrat své výhry.

4. Možnosti vkladu a výběru

Dalším důležitým faktorem jsou možnosti vkladu a výběru. Ujistěte se, že kasino podporuje platební metody, které vám vyhovují. Mezi běžné metody patří kreditní karty, elektronické peněženky jako PayPal, Neteller a Paysafecard. Důležité je také zkontrolovat, jak dlouho trvá zpracování výběrů, aby vás nečekalo nepříjemné překvapení při pokusu o vybrání vašich výher.

Objevte Svět Online Kasin Jak Vybrat to Pravé pro Vás

5. Zákaznická podpora

Skvělá zákaznická podpora může být rozhodujícím faktorem při výběru online kasina. Zjistěte, zda kasino nabízí různé kanály pro kontakt, jako chat, e-mail nebo telefonní linku. Preferujte kasina, která mají zákaznickou podporu k dispozici 24/7, abyste se mohli obrátit na pomoc v jakoukoliv denní dobu. Rychlost a efektivnost reakce podpory může ovlivnit váš herní zážitek.

6. Mobilní hra

V dnešní době hrají lidé stále častěji na svých mobilních zařízeních. Zkontrolujte, zda mají kasina optimalizovanou mobilní verzi, která vám umožní hrát oblíbené hry kdykoli a kdekoli. Některá kasina nabízejí také speciální mobilní aplikace. Mějte na paměti, že mobilní hraní by mělo mít stejnou úroveň bezpečnosti a kvality jako hraní na desktopu.

7. Zkušenosti a recenze hráčů

Před registrací do online kasina je dobré si přečíst recenze od ostatních hráčů. Zkušenosti ostatních mohou poskytnout cenné informace o kasinu, jako je jakost her, rychlost výběrů a celkový herní zážitek. Vyhledejte renomované stránky s recenzemi, abyste získali objektivní pohled na kasina, která zvažujete.

8. Zodpovědné hraní

Jedním z nejdůležitějších aspektů hazardních her je zodpovědný přístup ke hraní. Ujistěte se, že kasino, které si vyberete, podporuje zodpovědné hraní. To zahrnuje možnost nastavit si limity na vklady, ztráty a čas strávený hraním. Vždy mějte na paměti, že hazardní hry by měly být zábavou, nikoli způsobem, jak vydělat peníze. Pokud cítíte, že hazardování se stává problémem, vyhledejte pomoc.

9. Závěr

Výběr správného online kasina může být klíčový pro váš herní zážitek. Zvažte všechny výše uvedené faktory a pamatujte, že nejlepší kasino je to, které splňuje vaše individuální potřeby a preference. S pečlivým výběrem si můžete užívat fascinující svět online hazardních her a přitom mít zajištěnou bezpečnost a zábavu.

Důležité Odkazy a Zdroje

Pro více informací o online kasinech a nejnovějších nabídkách doporučujeme sledovat specializované weby a portály zaměřené na hazardní hry.

Leave a Reply

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