/home/suroeste/public_html/wp-content/plugins/woocommerce/includes
NameSizeModeActions
abstracts/-0755rm
admin/-0755rm
blocks/-0755rm
cli/-0755rm
customizer/-0755rm
data-stores/-0755rm
emails/-0755rm
export/-0755rm
gateways/-0755rm
import/-0755rm
integrations/-0755rm
interfaces/-0755rm
legacy/-0755rm
libraries/-0755rm
log-handlers/-0755rm
payment-tokens/-0755rm
queue/-0755rm
react-admin/-0755rm
rest-api/-0755rm
shipping/-0755rm
shortcodes/-0755rm
theme-support/-0755rm
tracks/-0755rm
traits/-0755rm
walkers/-0755rm
wccom-site/-0755rm
widgets/-0755rm
class-wc-ajax.php1173950644editdlrm
class-wc-auth.php129620644editdlrm
class-wc-autoloader.php32090644editdlrm
class-wc-background-emailer.php46850644editdlrm
class-wc-background-updater.php35350644editdlrm
class-wc-breadcrumb.php97220644editdlrm
class-wc-cache-helper.php110470644editdlrm
class-wc-cart-fees.php34480644editdlrm
class-wc-cart-session.php182350644editdlrm
class-wc-cart-totals.php289270644editdlrm
class-wc-cart.php679020644editdlrm
class-wc-checkout.php480530644editdlrm
class-wc-cli.php17330644editdlrm
class-wc-comments.php162410644editdlrm
class-wc-countries.php500950644editdlrm
class-wc-coupon.php387700644editdlrm
class-wc-customer-download-log.php34520644editdlrm
class-wc-customer-download.php107020644editdlrm
class-wc-customer.php303900644editdlrm
class-wc-data-exception.php13210644editdlrm
class-wc-data-store.php67520644editdlrm
class-wc-datetime.php23100644editdlrm
class-wc-deprecated-action-hooks.php67460644editdlrm
class-wc-deprecated-filter-hooks.php75180644editdlrm
class-wc-discounts.php359100644editdlrm
class-wc-download-handler.php260800644editdlrm
class-wc-emails.php256960644editdlrm
class-wc-embed.php42840644editdlrm
class-wc-form-handler.php458100644editdlrm
class-wc-frontend-scripts.php273930644editdlrm
class-wc-geo-ip.php311360644editdlrm
class-wc-geolite-integration.php20360644editdlrm
class-wc-geolocation.php106930644editdlrm
class-wc-https.php44390644editdlrm
class-wc-install.php1023140644editdlrm
class-wc-integrations.php13080644editdlrm
class-wc-log-levels.php39920644editdlrm
class-wc-logger.php94820644editdlrm
class-wc-meta-data.php22600644editdlrm
class-wc-order-factory.php87280644editdlrm
class-wc-order-item-coupon.php41750644editdlrm
class-wc-order-item-fee.php90580644editdlrm
class-wc-order-item-meta.php59420644editdlrm
class-wc-order-item-product.php140270644editdlrm
class-wc-order-item-shipping.php80430644editdlrm
class-wc-order-item-tax.php66440644editdlrm
class-wc-order-item.php119280644editdlrm
class-wc-order-query.php26150644editdlrm
class-wc-order-refund.php57620644editdlrm
class-wc-order.php709450644editdlrm
class-wc-payment-gateways.php116320644editdlrm
class-wc-payment-tokens.php63900644editdlrm
class-wc-post-data.php209730644editdlrm
class-wc-post-types.php288200644editdlrm
class-wc-privacy-background-process.php17070644editdlrm
class-wc-privacy-erasers.php139380644editdlrm
class-wc-privacy-exporters.php150440644editdlrm
class-wc-privacy.php162050644editdlrm
class-wc-product-attribute.php71370644editdlrm
class-wc-product-download.php125470644editdlrm
class-wc-product-external.php49550644editdlrm
class-wc-product-factory.php36650644editdlrm
class-wc-product-grouped.php53490644editdlrm
class-wc-product-query.php22310644editdlrm
class-wc-product-simple.php19340644editdlrm
class-wc-product-variable.php226050644editdlrm
class-wc-product-variation.php172710644editdlrm
class-wc-query.php333850644editdlrm
class-wc-rate-limiter.php41000644editdlrm
class-wc-regenerate-images-request.php79230644editdlrm
class-wc-regenerate-images.php155670644editdlrm
class-wc-register-wp-admin-settings.php51710644editdlrm
class-wc-rest-authentication.php204480644editdlrm
class-wc-rest-exception.php2760644editdlrm
class-wc-session-handler.php153870644editdlrm
class-wc-shipping-rate.php56380644editdlrm
class-wc-shipping-zone.php133920644editdlrm
class-wc-shipping-zones.php41060644editdlrm
class-wc-shipping.php118460644editdlrm
class-wc-shortcodes.php191160644editdlrm
class-wc-structured-data.php191720644editdlrm
class-wc-tax.php379690644editdlrm
class-wc-template-loader.php219080644editdlrm
class-wc-tracker.php379650644editdlrm
class-wc-validation.php59290644editdlrm
class-wc-webhook.php299460644editdlrm
class-woocommerce.php427290644editdlrm
wc-account-functions.php132050644editdlrm
wc-attribute-functions.php211020644editdlrm
wc-cart-functions.php193800644editdlrm
wc-conditional-functions.php142520644editdlrm
wc-core-functions.php817570644editdlrm
wc-coupon-functions.php28190644editdlrm
wc-deprecated-functions.php349020644editdlrm
wc-formatting-functions.php465890644editdlrm
wc-notice-functions.php82120644editdlrm
wc-order-functions.php383510644editdlrm
wc-order-item-functions.php51530644editdlrm
wc-page-functions.php70990644editdlrm
wc-product-functions.php520200644editdlrm
wc-rest-functions.php114600644editdlrm
wc-stock-functions.php138660644editdlrm
wc-template-functions.php1238920644editdlrm
wc-template-hooks.php128590644editdlrm
wc-term-functions.php211550644editdlrm
wc-update-functions.php846550644editdlrm
wc-user-functions.php292470644editdlrm
wc-webhook-functions.php58550644editdlrm
wc-widget-functions.php20630644editdlrm
Edit: /home/suroeste/public_html/wp-content/plugins/woocommerce/includes/class-wc-privacy.php (16205B)
name = __( 'WooCommerce', 'woocommerce' ); if ( ! self::$background_process ) { self::$background_process = new WC_Privacy_Background_Process(); } // Include supporting classes. include_once __DIR__ . '/class-wc-privacy-erasers.php'; include_once __DIR__ . '/class-wc-privacy-exporters.php'; // This hook registers WooCommerce data exporters. $this->add_exporter( 'woocommerce-customer-data', __( 'WooCommerce Customer Data', 'woocommerce' ), array( 'WC_Privacy_Exporters', 'customer_data_exporter' ) ); $this->add_exporter( 'woocommerce-customer-orders', __( 'WooCommerce Customer Orders', 'woocommerce' ), array( 'WC_Privacy_Exporters', 'order_data_exporter' ) ); $this->add_exporter( 'woocommerce-customer-downloads', __( 'WooCommerce Customer Downloads', 'woocommerce' ), array( 'WC_Privacy_Exporters', 'download_data_exporter' ) ); $this->add_exporter( 'woocommerce-customer-tokens', __( 'WooCommerce Customer Payment Tokens', 'woocommerce' ), array( 'WC_Privacy_Exporters', 'customer_tokens_exporter' ) ); // This hook registers WooCommerce data erasers. $this->add_eraser( 'woocommerce-customer-data', __( 'WooCommerce Customer Data', 'woocommerce' ), array( 'WC_Privacy_Erasers', 'customer_data_eraser' ) ); $this->add_eraser( 'woocommerce-customer-orders', __( 'WooCommerce Customer Orders', 'woocommerce' ), array( 'WC_Privacy_Erasers', 'order_data_eraser' ) ); $this->add_eraser( 'woocommerce-customer-downloads', __( 'WooCommerce Customer Downloads', 'woocommerce' ), array( 'WC_Privacy_Erasers', 'download_data_eraser' ) ); $this->add_eraser( 'woocommerce-customer-tokens', __( 'WooCommerce Customer Payment Tokens', 'woocommerce' ), array( 'WC_Privacy_Erasers', 'customer_tokens_eraser' ) ); } /** * Add privacy policy content for the privacy policy page. * * @since 3.4.0 */ public function get_privacy_message() { $content = '
' . '

' . __( 'This sample language includes the basics around what personal data your store may be collecting, storing and sharing, as well as who may have access to that data. Depending on what settings are enabled and which additional plugins are used, the specific information shared by your store will vary. We recommend consulting with a lawyer when deciding what information to disclose on your privacy policy.', 'woocommerce' ) . '

' . '

' . __( 'We collect information about you during the checkout process on our store.', 'woocommerce' ) . '

' . '

' . __( 'What we collect and store', 'woocommerce' ) . '

' . '

' . __( 'While you visit our site, we’ll track:', 'woocommerce' ) . '

' . '' . '

' . __( 'We’ll also use cookies to keep track of cart contents while you’re browsing our site.', 'woocommerce' ) . '

' . '

' . __( 'Note: you may want to further detail your cookie policy, and link to that section from here.', 'woocommerce' ) . '

' . '

' . __( 'When you purchase from us, we’ll ask you to provide information including your name, billing address, shipping address, email address, phone number, credit card/payment details and optional account information like username and password. We’ll use this information for purposes, such as, to:', 'woocommerce' ) . '

' . '' . '

' . __( 'If you create an account, we will store your name, address, email and phone number, which will be used to populate the checkout for future orders.', 'woocommerce' ) . '

' . '

' . __( 'We generally store information about you for as long as we need the information for the purposes for which we collect and use it, and we are not legally required to continue to keep it. For example, we will store order information for XXX years for tax and accounting purposes. This includes your name, email address and billing and shipping addresses.', 'woocommerce' ) . '

' . '

' . __( 'We will also store comments or reviews, if you choose to leave them.', 'woocommerce' ) . '

' . '

' . __( 'Who on our team has access', 'woocommerce' ) . '

' . '

' . __( 'Members of our team have access to the information you provide us. For example, both Administrators and Shop Managers can access:', 'woocommerce' ) . '

' . '' . '

' . __( 'Our team members have access to this information to help fulfill orders, process refunds and support you.', 'woocommerce' ) . '

' . '

' . __( 'What we share with others', 'woocommerce' ) . '

' . '

' . __( 'In this section you should list who you’re sharing data with, and for what purpose. This could include, but may not be limited to, analytics, marketing, payment gateways, shipping providers, and third party embeds.', 'woocommerce' ) . '

' . '

' . __( 'We share information with third parties who help us provide our orders and store services to you; for example --', 'woocommerce' ) . '

' . '

' . __( 'Payments', 'woocommerce' ) . '

' . '

' . __( 'In this subsection you should list which third party payment processors you’re using to take payments on your store since these may handle customer data. We’ve included PayPal as an example, but you should remove this if you’re not using PayPal.', 'woocommerce' ) . '

' . '

' . __( 'We accept payments through PayPal. When processing payments, some of your data will be passed to PayPal, including information required to process or support the payment, such as the purchase total and billing information.', 'woocommerce' ) . '

' . '

' . __( 'Please see the PayPal Privacy Policy for more details.', 'woocommerce' ) . '

' . '
'; return apply_filters( 'wc_privacy_policy_content', $content ); } /** * Spawn events for order cleanup. */ public function queue_cleanup_personal_data() { self::$background_process->push_to_queue( array( 'task' => 'trash_pending_orders' ) ); self::$background_process->push_to_queue( array( 'task' => 'trash_failed_orders' ) ); self::$background_process->push_to_queue( array( 'task' => 'trash_cancelled_orders' ) ); self::$background_process->push_to_queue( array( 'task' => 'anonymize_completed_orders' ) ); self::$background_process->push_to_queue( array( 'task' => 'delete_inactive_accounts' ) ); self::$background_process->save()->dispatch(); } /** * Handle some custom types of data and anonymize them. * * @param string $anonymous Anonymized string. * @param string $type Type of data. * @param string $data The data being anonymized. * @return string Anonymized string. */ public function anonymize_custom_data_types( $anonymous, $type, $data ) { switch ( $type ) { case 'address_state': case 'address_country': $anonymous = ''; // Empty string - we don't want to store anything after removal. break; case 'phone': $anonymous = preg_replace( '/\d/u', '0', $data ); break; case 'numeric_id': $anonymous = 0; break; } return $anonymous; } /** * Find and trash old orders. * * @since 3.4.0 * @param int $limit Limit orders to process per batch. * @return int Number of orders processed. */ public static function trash_pending_orders( $limit = 20 ) { $option = wc_parse_relative_date_option( get_option( 'woocommerce_trash_pending_orders' ) ); if ( empty( $option['number'] ) ) { return 0; } return self::trash_orders_query( apply_filters( 'woocommerce_trash_pending_orders_query_args', array( 'date_created' => '<' . strtotime( '-' . $option['number'] . ' ' . $option['unit'] ), 'limit' => $limit, // Batches of 20. 'status' => 'wc-pending', 'type' => 'shop_order', ) ) ); } /** * Find and trash old orders. * * @since 3.4.0 * @param int $limit Limit orders to process per batch. * @return int Number of orders processed. */ public static function trash_failed_orders( $limit = 20 ) { $option = wc_parse_relative_date_option( get_option( 'woocommerce_trash_failed_orders' ) ); if ( empty( $option['number'] ) ) { return 0; } return self::trash_orders_query( apply_filters( 'woocommerce_trash_failed_orders_query_args', array( 'date_created' => '<' . strtotime( '-' . $option['number'] . ' ' . $option['unit'] ), 'limit' => $limit, // Batches of 20. 'status' => 'wc-failed', 'type' => 'shop_order', ) ) ); } /** * Find and trash old orders. * * @since 3.4.0 * @param int $limit Limit orders to process per batch. * @return int Number of orders processed. */ public static function trash_cancelled_orders( $limit = 20 ) { $option = wc_parse_relative_date_option( get_option( 'woocommerce_trash_cancelled_orders' ) ); if ( empty( $option['number'] ) ) { return 0; } return self::trash_orders_query( apply_filters( 'woocommerce_trash_cancelled_orders_query_args', array( 'date_created' => '<' . strtotime( '-' . $option['number'] . ' ' . $option['unit'] ), 'limit' => $limit, // Batches of 20. 'status' => 'wc-cancelled', 'type' => 'shop_order', ) ) ); } /** * For a given query trash all matches. * * @since 3.4.0 * @param array $query Query array to pass to wc_get_orders(). * @return int Count of orders that were trashed. */ protected static function trash_orders_query( $query ) { $orders = wc_get_orders( $query ); $count = 0; if ( $orders ) { foreach ( $orders as $order ) { $order->delete( false ); $count ++; } } return $count; } /** * Anonymize old completed orders. * * @since 3.4.0 * @param int $limit Limit orders to process per batch. * @return int Number of orders processed. */ public static function anonymize_completed_orders( $limit = 20 ) { $option = wc_parse_relative_date_option( get_option( 'woocommerce_anonymize_completed_orders' ) ); if ( empty( $option['number'] ) ) { return 0; } return self::anonymize_orders_query( apply_filters( 'woocommerce_anonymize_completed_orders_query_args', array( 'date_created' => '<' . strtotime( '-' . $option['number'] . ' ' . $option['unit'] ), 'limit' => $limit, // Batches of 20. 'status' => 'wc-completed', 'anonymized' => false, 'type' => 'shop_order', ) ) ); } /** * For a given query, anonymize all matches. * * @since 3.4.0 * @param array $query Query array to pass to wc_get_orders(). * @return int Count of orders that were anonymized. */ protected static function anonymize_orders_query( $query ) { $orders = wc_get_orders( $query ); $count = 0; if ( $orders ) { foreach ( $orders as $order ) { WC_Privacy_Erasers::remove_order_personal_data( $order ); $count ++; } } return $count; } /** * Delete inactive accounts. * * @since 3.4.0 * @param int $limit Limit users to process per batch. * @return int Number of users processed. */ public static function delete_inactive_accounts( $limit = 20 ) { $option = wc_parse_relative_date_option( get_option( 'woocommerce_delete_inactive_accounts' ) ); if ( empty( $option['number'] ) ) { return 0; } return self::delete_inactive_accounts_query( strtotime( '-' . $option['number'] . ' ' . $option['unit'] ), $limit ); } /** * Delete inactive accounts. * * @since 3.4.0 * @param int $timestamp Timestamp to delete customers before. * @param int $limit Limit number of users to delete per run. * @return int Count of customers that were deleted. */ protected static function delete_inactive_accounts_query( $timestamp, $limit = 20 ) { $count = 0; $user_query = new WP_User_Query( array( 'fields' => 'ID', 'number' => $limit, 'role__in' => apply_filters( 'woocommerce_delete_inactive_account_roles', array( 'Customer', 'Subscriber', ) ), 'meta_query' => array( // phpcs:ignore WordPress.DB.SlowDBQuery.slow_db_query_meta_query 'relation' => 'AND', array( 'key' => 'wc_last_active', 'value' => (string) $timestamp, 'compare' => '<', 'type' => 'NUMERIC', ), array( 'key' => 'wc_last_active', 'value' => '0', 'compare' => '>', 'type' => 'NUMERIC', ), ), ) ); $user_ids = $user_query->get_results(); if ( $user_ids ) { if ( ! function_exists( 'wp_delete_user' ) ) { require_once ABSPATH . 'wp-admin/includes/user.php'; } foreach ( $user_ids as $user_id ) { wp_delete_user( $user_id, 0 ); wc_get_logger()->info( sprintf( /* translators: %d user ID. */ __( "User #%d was deleted by WooCommerce in accordance with the site's personal data retention settings. Any content belonging to that user has been retained but unassigned.", 'woocommerce' ), $user_id ) ); $count ++; } } return $count; } } new WC_Privacy();