/** * 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; } } Kasaysayan ng mga casino Paano nagsimula at umunlad ang industriya ng pagsusugal -

Kasaysayan ng mga casino Paano nagsimula at umunlad ang industriya ng pagsusugal

Kasaysayan ng mga casino Paano nagsimula at umunlad ang industriya ng pagsusugal

Pinagmulan ng Pagsusugal

Ang pagsusugal ay isang bahagi na ng kultura ng tao mula pa noong sinaunang panahon. Sa mga naitalang kasaysayan, ang mga sinaunang sibilisasyon tulad ng mga Griyego at Romano ay may mga anyo ng pagsusugal na nakikita sa kanilang mga laro at paligsahan. Ang mga ito ay kadalasang kinasasangkutan ng mga taya sa mga laban ng mga gladiator o mga karera ng kabayo. Sa ngayon, makikita rin ang mga modernong anyo ng pagsusugal sa mga pook aliwan tulad ng taya 365, na nagdadala ng mga bagong karanasan sa mga tao.

Sa paglipas ng panahon, ang pagsusugal ay umusbong at lumaganap sa iba pang bahagi ng mundo. Sa Asya, ang mga laro tulad ng mahjong at pai gow ay naging popular. Ang pag-usbong ng mga casino ay nagbigay-daan sa mas sistematikong anyo ng pagsusugal, kung saan ang mga tao ay maaaring magsaya at magsugal sa isang partikular na lugar.

Pagbuo ng mga Casino

Ang mga casino ay nagsimulang umusbong noong ika-17 siglo sa Europa, lalo na sa Italy at France. Ang mga unang casino ay naging mga pook ng aliwan kung saan ang mga tao ay nagtipun-tipon upang maglaro at makisalamuha. Sa panahon ito, ang mga laro tulad ng roulette at blackjack ay naimbento at naging tanyag sa mga bisita.

Kasunod nito, ang mga casino ay nagsimulang dumami sa buong mundo. Sa Amerika, ang mga unang casino ay itinatag sa Nevada, partikular sa Las Vegas. Dito, ang industriya ng pagsusugal ay tuluyang umunlad at nagbigay ng mas malawak na oportunidad para sa mga manunugal, kabilang ang mga palabas, pagkain, at iba pang anyo ng aliwan.

Legal na Aspeto ng Pagsusugal

Ang legal na aspeto ng pagsusugal ay nag-iiba-iba mula sa isang bansa patungo sa iba. Sa ilan, ito ay ganap na pinapayagan, habang sa iba, ito ay mahigpit na ipinagbabawal. Sa Pilipinas, ang pagsusugal ay may mga regulasyon na itinatag ng gobyerno upang masigurong ito ay nasusunod nang ayon sa batas at hindi nagiging sanhi ng masamang epekto sa lipunan.

Ang Philippine Amusement and Gaming Corporation (PAGCOR) ay ang pangunahing ahensya na namamahala sa mga casino at iba pang anyo ng pagsusugal. Ang kanilang layunin ay hindi lamang makalikha ng kita para sa gobyerno kundi pati na rin masiguro ang proteksyon ng mga manunugal mula sa mga posibleng panganib ng pagsusugal.

Modernong Pagsusugal at Teknolohiya

Sa pagpasok ng makabagong teknolohiya, ang industriya ng pagsusugal ay nakasabay sa pagbabago. Ang online na pagsusugal ay lumitaw at nagbigay-daan sa mga tao na makapaglaro ng kanilang mga paboritong laro mula sa kanilang mga tahanan. Ang mga online casino ay nag-aalok ng mas malawak na mga laro at mas madaling paraan ng pag-access kumpara sa tradisyonal na mga casino.

Ang mga mobile apps para sa pagsusugal ay naging popular din, na nagbigay-daan sa mas maraming tao na makasali sa mga laro kahit saan sila naroroon. Ang pagsasama ng virtual reality at iba pang makabagong teknolohiya ay nagbigay ng mas nakakaengganyong karanasan sa mga manunugal, na nagiging sanhi ng pagtaas ng interes at paglahok sa industriya.

Ang Papel ng Website sa Impormasyon tungkol sa Pagsusugal

Ang mga website ay naging mahalagang bahagi ng industriya ng pagsusugal. Ang mga ito ay nag-aalok ng impormasyon at mga mapagkukunan tungkol sa mga laro, mga casino, at mga batas na nauugnay sa pagsusugal. Sa simpleng interface, madali nang makahanap ng impormasyon ang mga tao, kung nais man nilang malaman ang mga patakaran o kung paano magsimula sa pagsusugal.

Ang mga website ay nagbibigay din ng mga pagsusuri at rekomendasyon sa mga online casino, na nakatutulong sa mga manunugal na makagawa ng mga matalinong desisyon. Sa ganitong paraan, ang mga tao ay nagiging mas edukado at may kamalayan sa mga panganib ng pagsusugal, habang nakakahanap ng mga mapagkakatiwalaang pook para sa kanilang libangan.

Leave a Reply

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