/** * 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; } } Evolucija kockanja kroz povijest od drevnih igara do modernih kasina -

Evolucija kockanja kroz povijest od drevnih igara do modernih kasina

Evolucija kockanja kroz povijest od drevnih igara do modernih kasina

Drevne igre i njihova uloga u kockanju

Kockanje kao oblik zabave datira još iz drevnih civilizacija. U Mezopotamiji, Egiptu i Kini pronađeni su dokazi o igrama koje su uključivale bacanje kockica i klađenje. Ove igre su često bile povezane s vjerskim obredima i ritualima, što ukazuje na duboku povezanost kockanja s ljudskom kulturom. Primjerice, drevni Egipćani su koristili kocke u igrama koje su se igrale na igralištima, a vjerovalo se da su te igre način komuniciranja s bogovima.

Kockanje se također pojavilo u obliku karata u Kini oko 9. stoljeća. Ove prve karte su imale različite simbole, a igranje s njima brzo je postalo popularno. Kako su se trgovinske rute proširivale, igre su se prenosile iz jednog dijela svijeta u drugi, što je dodatno obogatilo kulturu kockanja. Pojava kockanja u različitim oblicima pokazuje da su ljudi oduvijek tražili načine za stjecanje uzbuđenja i rizika.

Kroz povijest, kockanje je evoluiralo i prilagođavalo se različitim društvenim normama i zakonima. U mnogim kulturama, kockanje je postalo zabavna aktivnost, ali i predmet zakonskih regulativa. Ova pravila su često bila nametnuta zbog želje vlasti da kontroliraju ili monetiziraju ovu aktivnost, što je kasnije dovelo do nastanka prvih formalnih kockarnica.

Razvoj modernih kockarnica

Prvo moderno kockarnice otvoreno je u Veneciji 1638. godine i od tada je koncept kockanja prešao granice. S razvojem industrijske revolucije, pojavili su se i prvi automati za igre, što je dodatno populariziralo ovu aktivnost. Igrači su sada imali pristup raznovrsnijim igrama, a kockarnice su postale sve više sofisticirane. Ova promjena rezultirala je stvaranjem zabavnih kompleksa koji su nudili više od samog kockanja.

S krajem 19. i početkom 20. stoljeća, Las Vegas je postao svjetska prijestolnica kockanja. S brojnim luksuznim hotelima i kasinima, ovaj grad privlači milijune posjetitelja godišnje. Ovdje su se razvile razne igre kao što su rulet, poker i baccarat, koje su brzo postale omiljene među igračima. U Las Vegasu su organizirani turniri i natjecanja koja su dodatno poticala rast kockarske industrije.

Osim Las Vegasa, kockanje je postalo popularno i u Europi, posebno u Monaco i Engleskoj. Razvoj tehnologije doveo je do uvođenja online kockanja, što je dodatno promijenilo krajolik kockanja. Mnogi igrači sada mogu uživati u igrama iz udobnosti vlastitog doma, čime se otvorio novi svijet mogućnosti i izazova za kockare.

Utjecaj tehnologije na kockanje

Tehnologija je transformirala kockanje na načine koje nitko nije mogao predvidjeti. Početkom 21. stoljeća, online kockanje postalo je sveprisutno zahvaljujući razvoju interneta. Platforme za online kockanje omogućile su igračima pristup raznim igrama, od slotova do stolnih igara, bez potrebe za fizičkim odlaskom u kockarnice. Ovo je stvorilo novu dimenziju kockanja, gdje su igrači mogli sudjelovati u igrama uživo putem videoprenosa.

Mobilne aplikacije također su značajno promijenile način na koji se igrači kockaju. S pametnim telefonima, kockanje je postalo dostupno u svakom trenutku, na svakom mjestu. Mnogi online kockarnici nude mobilne verzije svojih igara, omogućujući igračima da uživaju u kockanju dok su u pokretu. Ova mobilnost je privukla novu generaciju igrača, koji su odrastali s tehnologijom.

Tehnologija također je donijela inovacije u sigurnosti i regulaciji kockanja. Moderni online kockarnici koriste napredne sigurnosne mjere kako bi zaštitili podatke svojih korisnika. Uz to, postoji mnogo više regulacija u vezi s online kockanjem, što je rezultiralo sigurnijim i odgovornijim igranjem. Kockanje se sada može pratiti i analizirati, što pomaže u borbi protiv ovisnosti o kockanju.

Psihološki aspekti kockanja

Kockanje nije samo igra sreće; ono ima duboke psihološke aspekte. Igrači često doživljavaju uzbuđenje i adrenalin kada igraju, što može dovesti do ponavljanja ove aktivnosti. Psiholozi ističu da je kockanje često povezana s potrebom za riskiranjem i potragom za uzbuđenjem. Ovaj aspekt čini kockanje privlačnim, ali i potencijalno opasnim za pojedince.

Osim toga, ovisnost o kockanju postaje sve veći problem u modernom društvu. Mnogi ljudi gube kontrolu nad svojim kockanjem, što može imati devastirajuće posljedice na njihov život. U cilju prevencije, mnoge organizacije nude podršku i resurse za one koji se bore s problemima ovisnosti o kockanju. Svjesnost o ovom problemu raste, a društvo se suočava s izazovima pružanja pomoći i resursa onima kojima je potrebna.

Bitno je razumjeti da kockanje može biti zabavna aktivnost, ali da treba postojati granice. Odgovorno kockanje je ključno, a igrači bi trebali biti svjesni svojih limita. To uključuje postavljanje granica u pogledu vremena i novca koji se troše na kockanje. Kroz edukaciju i podršku, moguće je uživati u kockanju bez ugrožavanja vlastitog mentalnog zdravlja.

Wazamba Casino: Mjesto za moderne igrače

Wazamba Casino je vodeća platforma za online kockanje koja nudi bogatu kolekciju igara i uzbudljivih promocija. Kao što je spomenuto, ova platforma omogućuje igračima da uživaju u raznovrsnim igrama, uključujući slotove, stolne igre i mogućnosti sportskog klađenja. S bonusom dobrodošlice, Wazamba Casino privlači nove igrače, nudeći im priliku da istraže razne igre uz dodatne pogodnosti.

Korisničko iskustvo na Wazamba Casinu je prioritet. Stranica je dizajnirana s naglaskom na jednostavnost korištenja, omogućujući igračima da lako pronađu svoje omiljene igre. Uz podršku putem chata uživo dostupnu 24/7, igrači mogu dobiti pomoć kad god im zatreba. Ova razina usluge doprinosi općem zadovoljstvu igrača i potiče ih da se vraćaju.

Wazamba Casino također se fokusira na odgovorno kockanje, pružajući igračima resurse za praćenje vlastitih navika i ograničavanje troškova. To pokazuje da je ova platforma svjesna izazova s kojima se mnogi igrači suočavaju. S inovativnim pristupom i raznolikom ponudom, Wazamba Casino predstavlja savršeno mjesto za modernog igrača koji traži uzbuđenje i sigurnost u kockanju.

Leave a Reply

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