/** * 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; } } Understanding Hash.Game’s Privacy Policy Your Data and Security – tejas-apartment.teson.xyz

Understanding Hash.Game’s Privacy Policy Your Data and Security

Understanding Hash.Game's Privacy Policy Your Data and Security

Understanding Hash.Game’s Privacy Policy

In the digital age, understanding how your data is handled by various platforms is crucial. At Hash.Game, we take your privacy seriously and are committed to protecting your personal information. Our Hash.Game Privacy Policy privacy policy at Hash.Game outlines the types of data we collect, how we use it, and your rights regarding your personal information. This article aims to provide you with a comprehensive overview of our privacy practices and ensure you feel confident while using our gaming platform.

Data Collection

At Hash.Game, we collect several types of information to enhance your gaming experience. The data we collect falls into several categories:

  • Personal Information: This includes any information that can be used to identify you, such as your name, email address, and payment information. We collect this data when you register for an account, make a transaction, or interact with our services.
  • Usage Data: We gather information on how you use our platform. This may include your IP address, browser type, device information, and how you navigate through our site. This data helps us understand user behavior and improve our services.
  • Cookies and Tracking Technologies: We utilize cookies and similar technologies to track activity on our website and store certain information. Cookies help us personalize your experience and analyze website traffic.

How We Use Your Information

Your data is invaluable in helping us improve our services and deliver a better user experience. The primary ways we utilize your information include:

  • Account Management: We use your personal information to create and manage your account, ensuring you have full access to our gaming features.
  • Service Improvement: Usage data allows us to analyze how our platform is being utilized, which enables us to enhance our services and address any issues effectively.
  • Communication: Your contact information helps us send you updates, newsletters, and important information regarding your account or services.
  • Marketing: We may use your information to provide personalized advertising or promotional offers that align with your interests.

Your Rights

At Hash.Game, we believe in your right to control your personal information. Depending on your location, you may have the following rights concerning your data:

  • Access: You have the right to request copies of your personal data.
  • Correction: You can ask us to correct any information that you believe is inaccurate or incomplete.
  • Deletion: You have the right to request the deletion of your personal data under certain conditions.
  • Objection: You can object to our processing of your personal data if it is being processed based on legitimate interests.
  • Data Portability: You can request that we transfer the data we have collected to another organization, or directly to you, under certain conditions.

Data Security

Understanding Hash.Game's Privacy Policy Your Data and Security

The security of your data is our top priority. At Hash.Game, we implement a variety of security measures to safeguard your personal information. These measures include using encryption, firewalls, and secure server hosting. Additionally, we regularly review our practices and technology to protect against unauthorized access, alteration, and destruction of your data.

Third-Party Services

We may employ third-party companies and individuals to facilitate our service (“Service Providers”). These third parties have access to your personal information only to perform specific tasks on our behalf and are obligated not to disclose or use it for any other purpose. We also encourage you to read the privacy policies of any third-party services we use, as we cannot be responsible for their content or practices.

Children’s Privacy

Protecting the privacy of young children is especially important. Our services are not directed to anyone under the age of 13, and we do not knowingly collect personally identifiable information from children under 13. If we become aware that we have collected such data, we will take steps to delete it as soon as possible. If you are a parent or guardian and believe that your child has provided us with personal data, please contact us.

Changes to This Privacy Policy

Our privacy policy may be updated periodically to reflect changes in our practices or for legal or regulatory reasons. We will notify you of any changes by posting the new privacy policy on this page with a revised effective date. We encourage you to review this policy regularly to stay informed about how we are protecting your information.

Contact Us

If you have any questions or concerns about our privacy policy or data practices, do not hesitate to contact us. You can reach our support team through the contact information available on our website. Your feedback is essential to us, and we are here to help ensure your experience at Hash.Game is both enjoyable and secure.

In conclusion, at Hash.Game, your privacy is essential to us. We are committed to transparency and ensuring that you understand how your data is used and protected. By reading and understanding our privacy policy, you are taking an important step in safeguarding your personal information while enjoying the exciting world of gaming.

Leave a Comment

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