Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 55 additions & 0 deletions src/Admin/PrivacyPolicy.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
<?php
/**
* Plausible Analytics | Admin Actions.
*
* @since 2.5.8
* @package WordPress
* @subpackage Plausible Analytics
*/

namespace Plausible\Analytics\WP\Admin;

class PrivacyPolicy {
/**
* Constructor.
*/
public function __construct() {
$this->init();
}

/**
* Action & filter hooks.
*
* @return void
*/
private function init() {
add_action( 'admin_init', [ $this, 'add_suggested_content' ] );
}

/**
* The content to add to WP's Privacy Policy page.
*
* @return void
*
* @codeCoverageIgnore
*/
public function add_suggested_content() {
if ( ! function_exists( 'wp_add_privacy_policy_content' ) ) {
return;
}

$content = '<h2 class="wp-block-heading">' . __( 'Analytics', 'plausible-analytics' ) . '</h2>';
$content .= '<p>' . '<strong class="privacy-policy-tutorial">' . __( 'Suggested text:', 'plausible-analytics' ) . '</strong></p>';
$content .= sprintf(
/* translators: %s: URL to Plausible's data policy page. */
__( "We use Plausible Analytics to collect usage statistics about our website. Plausible is a privacy-focused analytics provider that does not use cookies or other persistent identifiers.

The data collected includes information such as page URLs, referrer, device type, browser and country. The data is processed by Plausible Analytics on servers located in the European Union.

For more details, see Plausible's data policy: %s", 'plausible-analytics' ),
'<a href="https://plausible.io/data-policy" target="_blank" rel="noopener noreferrer">https://plausible.io/data-policy</a>'
);
Comment thread
coderabbitai[bot] marked this conversation as resolved.

wp_add_privacy_policy_content( 'Plausible Analytics', wp_kses_post( wpautop( $content, false ) ) );
}
}
103 changes: 52 additions & 51 deletions src/Plugin.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,57 @@
* @since 1.0.0
*/
final class Plugin {
/**
* Load @see Integrations()
*
* @return void
*
* @codeCoverageIgnore
*/
public function load_integrations() {
new Integrations();
}

/**
* Loads the plugin's translated strings.
*
* @since 1.0.0
* @access public
* @return void
*
* @codeCoverageIgnore
*/
public function load_plugin_textdomain() {
load_plugin_textdomain(
'plausible-analytics',
false,
dirname( plugin_basename( PLAUSIBLE_ANALYTICS_PLUGIN_FILE ) ) . '/languages/'
);
}

/**
* Load @see Admin\Provisioning()
*
* @return void
*
* @codeCoverageIgnore
*/
public function load_provisioning() {
new Admin\Provisioning();
new Admin\Provisioning\Integrations();
}

/**
* Load @see Admin\Settings\Page()
*
* @return void
*
* @codeCoverageIgnore
*/
public function load_settings() {
new Admin\Settings\Page();
}

/**
* Registers functionality with WordPress hooks.
*
Expand Down Expand Up @@ -51,6 +102,7 @@ public function register_services() {
new Admin\Filters();
new Admin\Actions();
new Admin\Module();
new Admin\PrivacyPolicy();
}

add_action( 'init', [ $this, 'load_integrations' ] );
Expand All @@ -63,55 +115,4 @@ public function register_services() {
new Proxy();
new Verification();
}

/**
* Load @see Admin\Settings\Page()
*
* @return void
*
* @codeCoverageIgnore
*/
public function load_settings() {
new Admin\Settings\Page();
}

/**
* Load @see Admin\Provisioning()
*
* @return void
*
* @codeCoverageIgnore
*/
public function load_provisioning() {
new Admin\Provisioning();
new Admin\Provisioning\Integrations();
}

/**
* Load @see Integrations()
*
* @return void
*
* @codeCoverageIgnore
*/
public function load_integrations() {
new Integrations();
}

/**
* Loads the plugin's translated strings.
*
* @since 1.0.0
* @access public
* @return void
*
* @codeCoverageIgnore
*/
public function load_plugin_textdomain() {
load_plugin_textdomain(
'plausible-analytics',
false,
dirname( plugin_basename( PLAUSIBLE_ANALYTICS_PLUGIN_FILE ) ) . '/languages/'
);
}
}
Loading