From 167d9ab4528437ecd4d64916620b274aea7605b9 Mon Sep 17 00:00:00 2001 From: Chris Date: Fri, 23 Oct 2026 10:07:17 +0100 Subject: [PATCH 1/2] Merge pull request #56 from prosopo/feat/utm-tag-prosopo-links Tag prosopo.io and portal links in the settings screens with UTM parameters --- .../install-wordpress-with-plugins/action.yml | 17 ++++++++++++----- .../statistics/components/aboutAppComponent.tsx | 2 +- .../components/trafficAnalyticsComponent.tsx | 2 +- .../Upgrade_Tier/Upgrade_Tier_Banner.php | 2 +- .../src/Settings/General/settings.blade.php | 4 ++-- .../e2e/form-plugins/installation-list.json | 2 +- 6 files changed, 18 insertions(+), 11 deletions(-) diff --git a/.github/actions/tests/install-wordpress-with-plugins/action.yml b/.github/actions/tests/install-wordpress-with-plugins/action.yml index fb1bae3..f6f6df1 100644 --- a/.github/actions/tests/install-wordpress-with-plugins/action.yml +++ b/.github/actions/tests/install-wordpress-with-plugins/action.yml @@ -29,17 +29,24 @@ runs: run: | cd ${{ github.workspace }}/tests/cypress/e2e/${{ matrix.cypress-target }} plugins=$(cat ./installation-list.json | jq -r '.plugins[]') - for plugin in $plugins; do - echo "Installing $plugin plugin" - + for entry in $plugins; do + # Entries are "slug" or "slug@version" to pin a WordPress.org release. + plugin="${entry%@*}" + version="latest-stable" + if [[ "$entry" == *@* ]]; then + version="${entry#*@}" + fi + + echo "Installing $plugin plugin ($version)" + paid_plugin_path="${{ inputs.paid_plugins_dir }}/$plugin.zip" - + if [[ -f "$paid_plugin_path" ]]; then echo "Found paid plugin ZIP for $plugin in the paid plugins directory." unzip "$paid_plugin_path" -d ${{ github.workspace }}/wp-content/plugins/ else echo "No local ZIP for $plugin, downloading from WordPress repository." - curl -L -o "$plugin.zip" "https://downloads.wordpress.org/plugin/$plugin.latest-stable.zip" + curl -fL -o "$plugin.zip" "https://downloads.wordpress.org/plugin/$plugin.$version.zip" unzip "$plugin.zip" -d ${{ github.workspace }}/wp-content/plugins/ rm "$plugin.zip" fi diff --git a/assets/src/settings/statistics/components/aboutAppComponent.tsx b/assets/src/settings/statistics/components/aboutAppComponent.tsx index edf3133..0b01eca 100644 --- a/assets/src/settings/statistics/components/aboutAppComponent.tsx +++ b/assets/src/settings/statistics/components/aboutAppComponent.tsx @@ -16,7 +16,7 @@ class AboutAppComponent extends React.Component { } buttonComponentProperties={{ label: "Open the Portal", - href: "https://portal.prosopo.io", + href: "https://portal.prosopo.io/?utm_source=procaptcha-wp&utm_medium=plugin&utm_campaign=settings&utm_content=statistics-about", icon: "icon-[material-symbols--settings-account-box-outline]", }} /> diff --git a/assets/src/settings/statistics/components/trafficAnalyticsComponent.tsx b/assets/src/settings/statistics/components/trafficAnalyticsComponent.tsx index 1e47f6c..2953b56 100644 --- a/assets/src/settings/statistics/components/trafficAnalyticsComponent.tsx +++ b/assets/src/settings/statistics/components/trafficAnalyticsComponent.tsx @@ -63,7 +63,7 @@ class TrafficAnalyticsComponent extends React.Component diff --git a/prosopo-procaptcha/src/Settings/General/Upgrade_Tier/Upgrade_Tier_Banner.php b/prosopo-procaptcha/src/Settings/General/Upgrade_Tier/Upgrade_Tier_Banner.php index b453336..371c8c3 100644 --- a/prosopo-procaptcha/src/Settings/General/Upgrade_Tier/Upgrade_Tier_Banner.php +++ b/prosopo-procaptcha/src/Settings/General/Upgrade_Tier/Upgrade_Tier_Banner.php @@ -31,6 +31,6 @@ protected function setCustomDefaults(): void { ); $this->button_label = __( 'Upgrade', 'prosopo-procaptcha' ); - $this->button_url = 'https://portal.prosopo.io/'; + $this->button_url = 'https://portal.prosopo.io/?utm_source=procaptcha-wp&utm_medium=plugin&utm_campaign=settings&utm_content=upgrade-banner'; } } diff --git a/prosopo-procaptcha/src/Settings/General/settings.blade.php b/prosopo-procaptcha/src/Settings/General/settings.blade.php index c2c950d..e170146 100644 --- a/prosopo-procaptcha/src/Settings/General/settings.blade.php +++ b/prosopo-procaptcha/src/Settings/General/settings.blade.php @@ -13,7 +13,7 @@ {{ __( 'Prosopo Procaptcha', 'prosopo-procaptcha' ) }} + hover:text-black" href="https://prosopo.io/?utm_source=procaptcha-wp&utm_medium=plugin&utm_campaign=settings&utm_content=header" target="_blank"> {{ __( 'Visit Website', 'prosopo-procaptcha' ) }} {{ __( 'Visit Portal', 'prosopo-procaptcha' ) }} diff --git a/tests/cypress/e2e/form-plugins/installation-list.json b/tests/cypress/e2e/form-plugins/installation-list.json index daa345e..fa68db8 100644 --- a/tests/cypress/e2e/form-plugins/installation-list.json +++ b/tests/cypress/e2e/form-plugins/installation-list.json @@ -1,6 +1,6 @@ { "plugins": [ - "contact-form-7", + "contact-form-7@6.1.4", "everest-forms", "fluentform", "formidable", From db5a983e526438e3effbfd1f3e42d539a0f41f30 Mon Sep 17 00:00:00 2001 From: Chris Taylor Date: Fri, 23 Oct 2026 10:07:54 +0100 Subject: [PATCH 2/2] Bump version to 1.21.1 Co-Authored-By: Claude Opus 5.5 --- prosopo-procaptcha/prosopo-procaptcha.php | 2 +- prosopo-procaptcha/readme.txt | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/prosopo-procaptcha/prosopo-procaptcha.php b/prosopo-procaptcha/prosopo-procaptcha.php index 33899cc..626d616 100644 --- a/prosopo-procaptcha/prosopo-procaptcha.php +++ b/prosopo-procaptcha/prosopo-procaptcha.php @@ -2,7 +2,7 @@ /** * Plugin Name: Prosopo Procaptcha * Description: GDPR compliant, privacy friendly and better value captcha. - * Version: 1.21.0 + * Version: 1.21.1 * Author: Prosopo Team * Author URI: https://prosopo.io/ * License: GPLv2 or later diff --git a/prosopo-procaptcha/readme.txt b/prosopo-procaptcha/readme.txt index 2887adb..9a437a7 100644 --- a/prosopo-procaptcha/readme.txt +++ b/prosopo-procaptcha/readme.txt @@ -4,7 +4,7 @@ Tags: Captcha, Procaptcha, antispam, anibot, spam. Requires at least: 5.5 Tested up to: 6.9 Requires PHP: 7.4 -Stable tag: 1.21.0 +Stable tag: 1.21.1 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html @@ -144,6 +144,9 @@ Absolutely! The plugin has a [public GitHub repository](https://github.com/proso == Changelog == += 1.21.1 (2026-10-23) = +* Maintenance: links from the settings and statistics pages to prosopo.io and the Prosopo portal now carry UTM parameters + = 1.21.0 (2026-09-01) = * Feature: [JetFormBuilder](https://jetformbuilder.com/) integration - Procaptcha is selectable as a form's Captcha Provider * Feature: [LearnDash LMS](https://www.learndash.com/) integration - registration, login and password recovery forms