/** * 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; } } Základy hraní v kasinu Co potřebují vědět začátečníci -

Základy hraní v kasinu Co potřebují vědět začátečníci

Základy hraní v kasinu Co potřebují vědět začátečníci

Úvod do světa kasin

Kasinové hry mají dlouhou a fascinující historii, která sahá až do starověkých civilizací. Dnes jsou kasina jedním z nejpopulárnějších způsobů zábavy po celém světě, a proto se doporučuje navštívit Mafia Casino, abyste si vyzkoušeli jejich nabídku. Ať už se jedná o tradiční kamenná kasina nebo moderní online platformy, základní principy her zůstávají stejné. Pro začátečníky je důležité pochopit, jak fungují, aby si mohli užít herní zážitek naplno.

Hraní v kasinu může být velmi vzrušující, ale také může přinášet určité riziko. Je nezbytné mít na paměti, že hazardní hry by měly být brány jako forma zábavy, nikoli jako způsob, jak vydělat peníze. Pravidelné seznámení se s pravidly a nabídkou her vám pomůže vyhnout se frustraci a zklamání.

Jak vybrat správné kasino

Při výběru kasina je důležité brát v úvahu několik faktorů, jako jsou licence, bezpečnost a nabídka her. V České republice je mnoho online kasin, která jsou licencována a regulována, což zaručuje fair play a ochranu hráčů. Je dobré si přečíst recenze a názory ostatních hráčů, abyste si udělali obrázek o důvěryhodnosti kasina.

Kromě toho se zaměřte na bonusy a nabídky, které kasino poskytuje. Mnohá online kasina nabízejí uvítací bonusy, což může být pro začátečníky skvělá příležitost, jak si vyzkoušet různé hry bez velkého rizika. Nezapomeňte si ověřit podmínky těchto bonusů, abyste se vyhnuli nepříjemným překvapením.

Jak se seznámit s hrami

Předtím, než začnete hrát, je dobré seznámit se s pravidly jednotlivých her. Každá hra má svá specifická pravidla a strategie, které mohou ovlivnit vaše šance na výhru. Většina online kasin nabízí možnost hrát hry zdarma, což je ideální pro začátečníky, kteří si chtějí osvojit základy bez rizika ztráty peněz.

Některé z nejoblíbenějších her v kasinech zahrnují automaty, blackjack a ruletu. Každá z těchto her má své vlastní nuance a taktiky, takže je dobré si je vyzkoušet a zjistit, co vám nejlépe vyhovuje. Zároveň nezapomínejte na zodpovědný přístup k hraní a nastavte si rozpočet, abyste předešli případným problémům.

Strategie a tipy pro úspěšné hraní

Existuje řada strategií, které mohou hráči pomoci zvýšit šance na výhru. Například u her jako je blackjack se doporučuje naučit se základní strategii, která zahrnuje optimalizaci vašich rozhodnutí na základě karet, které máte. U automatů je důležité rozumět různým typům her a jejich výplatním poměrům.

Vždy si pamatujte, že hazardní hry by měly být především zábavou. Nastavení rozpočtu a dodržování časového limitu vám pomůže udržet kontrolu nad hrou a minimalizovat riziko. Nikdy nehrávejte pod vlivem alkoholu nebo stresu, protože to může ovlivnit vaše rozhodování.

Proč si vybrat Mafia Casino

Mafia Casino je skvělou volbou pro české hráče, kteří hledají kvalitní herní zážitek. S více než 3 000 hrami od renomovaných poskytovatelů nabízí širokou škálu zábavy pro každého. Navíc kasino pravidelně pořádá akce a soutěže, které zvyšují atraktivitu hraní.

Kasino se může pochlubit rychlými výplatami a přátelskou zákaznickou podporou, což zajišťuje pohodlné a bezpečné hraní. Díky uvítacím bonusům a volným otočením mají noví hráči příležitost vyzkoušet si různé hry a získat skvělé výhody. Připojte se k Mafia Casino a objevte svět vzrušujících her a výher!

Leave a Reply

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