From b565ab1295a8f897fcf60c83f4340c1f68e42b4b Mon Sep 17 00:00:00 2001 From: Mehul Gohil Date: Thu, 26 Nov 2020 01:14:11 +0530 Subject: [PATCH 01/25] add support for self hosted analytics --- assets/src/js/admin/main.js | 5 +++++ src/Admin/Settings.php | 28 ++++++++++++++++++++++++++++ src/Includes/Helpers.php | 14 +++++++++++--- 3 files changed, 44 insertions(+), 3 deletions(-) diff --git a/assets/src/js/admin/main.js b/assets/src/js/admin/main.js index e3641b7..5946d38 100644 --- a/assets/src/js/admin/main.js +++ b/assets/src/js/admin/main.js @@ -17,6 +17,9 @@ document.addEventListener( 'DOMContentLoaded', () => { const customDomainPrefix = formElement.querySelector( 'input[name="plausible_analytics_settings[custom_domain_prefix]"]' ).value; const customDomainElement = formElement.querySelector( 'input[name="plausible_analytics_settings[custom_domain]"]:checked' ); const isCustomDomain = null !== customDomainElement ? parseInt( customDomainElement.value ) : 0; + const selfHostedDomain = formElement.querySelector( 'input[name="plausible_analytics_settings[self_hosted_domain]"]' ).value; + const selfHostedAnalyticsElement = formElement.querySelector( 'input[name="plausible_analytics_settings[is_self_hosted_analytics]"]:checked' ); + const isSelfHostedAnalytics = null !== selfHostedAnalyticsElement ? parseInt( selfHostedAnalyticsElement.value ) : 0; const trackAdminElement = formElement.querySelector( 'input[name="plausible_analytics_settings[track_administrator]"]:checked' ); const isTrackAdmin = null !== trackAdminElement ? parseInt( trackAdminElement.value ) : 0; const roadBlock = null !== formElement.querySelector( '.plausible-analytics-admin-settings-roadblock' ) ? document.querySelector( '.plausible-analytics-admin-settings-roadblock' ).value : ''; @@ -29,6 +32,8 @@ document.addEventListener( 'DOMContentLoaded', () => { formData.append( 'domain_name', domainName ); formData.append( 'custom_domain', isCustomDomain === 1 ); formData.append( 'custom_domain_prefix', customDomainPrefix ); + formData.append( 'is_self_hosted_analytics', isSelfHostedAnalytics === 1 ); + formData.append( 'self_hosted_domain', selfHostedDomain ); formData.append( 'track_administrator', isTrackAdmin === 1 ); fetch( diff --git a/src/Admin/Settings.php b/src/Admin/Settings.php index 7ec40e1..ec293de 100644 --- a/src/Admin/Settings.php +++ b/src/Admin/Settings.php @@ -61,6 +61,7 @@ public function plausible_analytics_settings_page() { $settings = Helpers::get_settings(); $domain = ! empty( $settings['domain_name'] ) ? $settings['domain_name'] : Helpers::get_domain(); $custom_domain_prefix = ! empty( $settings['custom_domain_prefix'] ) ? $settings['custom_domain_prefix'] : 'analytics'; + $self_hosted_domain = ! empty( $settings['self_hosted_domain'] ) ? $settings['self_hosted_domain'] : 'example.com'; ?>
+
+
+ + +
+
+
  • %1$s %3$s
  • %4$s %5$s %6$s %7$s %8$s
  • ', + esc_html__( 'Enable the custom domain functionality in your Plausible account.', 'plausible-analytics' ), + esc_url( 'https://docs.plausible.io/custom-domain/' ), + esc_html__( 'See how »', 'plausible-analytics' ), + esc_html__( 'Enable this setting and configure it to link with Plausible Analytics on your custom domain.', 'plausible-analytics' ), + __( 'For example,', 'plausible-analytics' ), + "stats.$domain", + __( 'or', 'plausible-analytics' ), + "analytics.$domain" + ); + + ?> +
    +