From 58436010790de86fa0316507a38aa58640a99fb9 Mon Sep 17 00:00:00 2001
From: Dimitrios Pantazis
Date: Mon, 6 Mar 2023 20:48:20 +0200
Subject: [PATCH 1/5] Reviews prompt
---
...lass-wc-amazon-payments-advanced-admin.php | 99 +++++++++++++++++++
1 file changed, 99 insertions(+)
diff --git a/includes/admin/class-wc-amazon-payments-advanced-admin.php b/includes/admin/class-wc-amazon-payments-advanced-admin.php
index d06670ad..50a74f31 100644
--- a/includes/admin/class-wc-amazon-payments-advanced-admin.php
+++ b/includes/admin/class-wc-amazon-payments-advanced-admin.php
@@ -45,7 +45,9 @@ public function __construct() {
// Admin notices.
add_action( 'admin_notices', array( $this, 'admin_notices' ) );
+ add_action( 'admin_notices', array( $this, 'review_prompt' ) );
add_action( 'wp_ajax_amazon_pay_dismiss_notice', array( $this, 'ajax_dismiss_notice' ) );
+ add_action( 'wp_ajax_amazon_pay_dismiss_review_prompt', array( $this, 'ajax_dismiss_review_prompt' ) );
// Admin Scripts.
add_action( 'admin_enqueue_scripts', array( $this, 'admin_scripts' ) );
@@ -322,6 +324,103 @@ public function admin_notices() {
}
}
+ /**
+ * Display a prompt for reviews!
+ *
+ * @return void
+ */
+ public function review_prompt() {
+ global $current_section;
+
+ $anniversary_date = get_option( 'amazon_payments_advanced_anniversary_date' );
+ $hidden_until_date = get_option( 'amazon_payments_advanced_hidden_until_date' );
+
+ // Set up the dates.
+ // We do this here, so its on admin side but not dependant on user visiting the plugin's settings.
+ if ( ! $anniversary_date || ! $hidden_until_date ) {
+ $anniversary_date = time();
+ $hidden_until_date = strtotime( '+1 month' );
+ update_option( 'amazon_payments_advanced_anniversary_date', $anniversary_date );
+ update_option( 'amazon_payments_advanced_hidden_until_date', $hidden_until_date );
+ }
+
+ // If it should be hidden yet, bail!
+ if ( $hidden_until_date > time() ) {
+ return;
+ }
+
+ // We only want prompt to appear in plugin's settings page.
+ if ( ! isset( $current_section ) || 'amazon_payments_advanced' !== $current_section ) {
+ return;
+ }
+
+ $screen = get_current_screen();
+
+ // Ensures we are in plugin's settings page.
+ if ( ! isset( $screen, $screen->id ) || 'woocommerce_page_wc-settings' !== $screen->id ) {
+ return;
+ }
+ ?>
+
+
Date: Wed, 8 Mar 2023 00:43:34 +0200
Subject: [PATCH 2/5] ensure start of calculation is valid
---
includes/admin/class-wc-amazon-payments-advanced-admin.php | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/includes/admin/class-wc-amazon-payments-advanced-admin.php b/includes/admin/class-wc-amazon-payments-advanced-admin.php
index 50a74f31..8ebe966f 100644
--- a/includes/admin/class-wc-amazon-payments-advanced-admin.php
+++ b/includes/admin/class-wc-amazon-payments-advanced-admin.php
@@ -407,11 +407,11 @@ public function review_prompt() {
public function ajax_dismiss_review_prompt() {
check_ajax_referer( 'amazon_pay_dismiss_review_prompt', 'nonce' );
- $anniversary_date = get_option( 'amazon_payments_advanced_anniversary_date' );
+ $anniversary_date = get_option( 'amazon_payments_advanced_anniversary_date' );
// Start from the stored anniversary date.
// Add a year in each loop until the result is in the future.
- $hidden_until_date = $anniversary_date;
+ $hidden_until_date = is_numeric( $anniversary_date ) ? (int) $anniversary_date : time();
while ( $hidden_until_date < time() ) {
$hidden_until_date = strtotime( '+1 year', $hidden_until_date );
}
From 03349eec20fd5b321a38fd3fa5ac2c227bad1d1a Mon Sep 17 00:00:00 2001
From: Dimitrios Pantazis
Date: Mon, 3 Apr 2023 23:10:04 +0300
Subject: [PATCH 3/5] Update Support Link
---
includes/admin/class-wc-amazon-payments-advanced-admin.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/includes/admin/class-wc-amazon-payments-advanced-admin.php b/includes/admin/class-wc-amazon-payments-advanced-admin.php
index 8ebe966f..a5dbff4c 100644
--- a/includes/admin/class-wc-amazon-payments-advanced-admin.php
+++ b/includes/admin/class-wc-amazon-payments-advanced-admin.php
@@ -377,7 +377,7 @@ public function review_prompt() {
-
+
From 75d3e1ac802b6240491ab33613dde50e93d02eb1 Mon Sep 17 00:00:00 2001
From: Dimitrios Pantazis
Date: Wed, 19 Jul 2023 11:54:25 +0300
Subject: [PATCH 4/5] Updated prompt text and support URL
---
includes/admin/class-wc-amazon-payments-advanced-admin.php | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/includes/admin/class-wc-amazon-payments-advanced-admin.php b/includes/admin/class-wc-amazon-payments-advanced-admin.php
index a5dbff4c..7d134114 100644
--- a/includes/admin/class-wc-amazon-payments-advanced-admin.php
+++ b/includes/admin/class-wc-amazon-payments-advanced-admin.php
@@ -363,7 +363,7 @@ public function review_prompt() {
?>
-
+
@@ -377,7 +377,7 @@ public function review_prompt() {
-
+
From e4b16c7fa9504ac126b1b41a43b05ba748df9443 Mon Sep 17 00:00:00 2001
From: Dimitrios Pantazis
Date: Wed, 19 Jul 2023 13:48:42 +0300
Subject: [PATCH 5/5] fixing edge case when hidden_until_date equals time()
---
includes/admin/class-wc-amazon-payments-advanced-admin.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/includes/admin/class-wc-amazon-payments-advanced-admin.php b/includes/admin/class-wc-amazon-payments-advanced-admin.php
index 7d134114..5ed2af5b 100644
--- a/includes/admin/class-wc-amazon-payments-advanced-admin.php
+++ b/includes/admin/class-wc-amazon-payments-advanced-admin.php
@@ -412,7 +412,7 @@ public function ajax_dismiss_review_prompt() {
// Start from the stored anniversary date.
// Add a year in each loop until the result is in the future.
$hidden_until_date = is_numeric( $anniversary_date ) ? (int) $anniversary_date : time();
- while ( $hidden_until_date < time() ) {
+ while ( $hidden_until_date <= time() ) {
$hidden_until_date = strtotime( '+1 year', $hidden_until_date );
}