*/ public static function blocks() { if ( ! function_exists( 'is_plugin_active' ) ) { require_once ABSPATH . 'wp-admin/includes/plugin.php'; } $blocks = array(); $blocks[] = self::comments_block(); if ( self::is_suite_plugin_active( '360-orbit-nocookie-analytics' ) ) { $blocks[] = self::analytics_block(); } if ( self::is_suite_plugin_active( '360-orbit-login-guard' ) ) { $blocks[] = self::login_guard_block(); } if ( is_plugin_active( 'woocommerce/woocommerce.php' ) ) { $blocks[] = self::woocommerce_block(); } return $blocks; } private static function is_suite_plugin_active( $slug ) { $plugin = Wp360_Privacy_Toolkit_Orbit_Menu::PLUGINS[ $slug ] ?? null; if ( ! $plugin ) { return false; } return is_plugin_active( $plugin['basename'] ) || is_plugin_active( $slug . '-pro/' . $slug . '-pro.php' ); } private static function comments_block() { // Die Zusage "sofort anonymisiert" stimmt nur, wenn die Anonymisierung // auch eingeschaltet ist. Sonst WordPress' eigener Vorschlagstext // (Core-Uebersetzung), der nichts verspricht, was nicht passiert. if ( ! Wp360_Privacy_Toolkit_Settings::get()['anonymize_comment_ips'] ) { return array( 'heading' => __( 'Comments', '360-orbit-privacy-toolkit' ), 'body' => html_entity_decode( __( 'When visitors leave comments on the site we collect the data shown in the comments form, and also the visitor’s IP address and browser user agent string to help spam detection.' ), ENT_QUOTES, 'UTF-8' ), // phpcs:ignore WordPress.WP.I18n.MissingArgDomain -- bewusst die Uebersetzung aus WordPress-Core. ); } return array( 'heading' => __( 'Comments', '360-orbit-privacy-toolkit' ), 'body' => __( 'When visitors leave comments on this site, we collect the data shown in the comment form, plus the visitor\'s IP address and browser user agent string. The IP address is anonymized immediately (the last part is removed before it is stored); the user agent string is stored as sent. Both help to detect spam.', '360-orbit-privacy-toolkit' ), ); } private static function analytics_block() { return array( 'heading' => __( 'Website Statistics', '360-orbit-privacy-toolkit' ), 'body' => __( 'We use a cookie-less, self-hosted analytics tool to understand how our website is used. Visitors are recognized through a one-way, non-reversible hash of their IP address and browser information, combined with a secret that is regularly rotated. No cookie is set, no raw IP address is stored, and no data is shared with third parties.', '360-orbit-privacy-toolkit' ), ); } private static function login_guard_block() { return array( 'heading' => __( 'Account Login Protection', '360-orbit-privacy-toolkit' ), 'body' => __( 'To protect user accounts against automated login attempts, we temporarily record a one-way hash of the IP address used for a login attempt, never the raw IP address. This data is used solely to detect and block excessive failed login attempts and is deleted after a short period.', '360-orbit-privacy-toolkit' ), ); } private static function woocommerce_block() { return array( 'heading' => __( 'Orders', '360-orbit-privacy-toolkit' ), 'body' => __( 'When you place an order through our shop, we collect the information necessary to process it: name, billing and shipping address, email address, and order contents. This data is used exclusively for order fulfillment, customer service, and any legal obligations we are subject to (e.g. accounting).', '360-orbit-privacy-toolkit' ), ); } }