From 914dccf4d6bf46afcdc80ff8d0e0315038103bed Mon Sep 17 00:00:00 2001 From: Vedant Gandhi Date: Fri, 6 Sep 2024 15:09:22 +0530 Subject: [PATCH 1/6] feat: add purging for amp urls. --- admin/class-fastcgi-purger.php | 21 ++++++++++++ admin/class-nginx-helper-admin.php | 1 + .../partials/nginx-helper-general-options.php | 33 +++++++++++++++++++ 3 files changed, 55 insertions(+) diff --git a/admin/class-fastcgi-purger.php b/admin/class-fastcgi-purger.php index cce53b5..45a88e9 100644 --- a/admin/class-fastcgi-purger.php +++ b/admin/class-fastcgi-purger.php @@ -90,8 +90,29 @@ public function purge_url( $url, $feed = true ) { break; } + + if( ( is_page() || is_single() ) && $nginx_helper_admin->options['purge_amp_urls'] ) { + $this->purge_amp_version( $url ); + } } + + /** + * Purge AMP version of a URL. + * + * @param string $url_base The base URL to purge. + */ + private function purge_amp_version( $url_base ) { + $amp_url = $url_base . '/amp/'; + + $this->log('- Purging AMP URL | ' . $amp_url); + + if ($this->nginx_helper_admin->options['purge_method'] === 'unlink_files') { + $this->delete_cache_file_for($amp_url); + } else { + $this->do_remote_get($this->purge_base_url() . '/amp/'); + } + } /** * Function to custom purge urls. diff --git a/admin/class-nginx-helper-admin.php b/admin/class-nginx-helper-admin.php index f91289a..7c19060 100644 --- a/admin/class-nginx-helper-admin.php +++ b/admin/class-nginx-helper-admin.php @@ -278,6 +278,7 @@ public function nginx_helper_default_settings() { 'redis_prefix' => 'nginx-cache:', 'purge_url' => '', 'redis_enabled_by_constant' => 0, + 'purge_amp_urls' => 1, ); } diff --git a/admin/partials/nginx-helper-general-options.php b/admin/partials/nginx-helper-general-options.php index a91eb53..dfcbcd5 100644 --- a/admin/partials/nginx-helper-general-options.php +++ b/admin/partials/nginx-helper-general-options.php @@ -40,6 +40,7 @@ 'purge_page_on_deleted_comment', 'purge_feeds', 'smart_http_expire_form_nonce', + 'purge_amp_urls', ); $all_inputs = array(); @@ -548,6 +549,38 @@ + + + + + +
+

+ +

+
+
+ + +   + + + + +
+
+
From c2a1416ab12a2c06a9bfb7ea378094b22eadc5e0 Mon Sep 17 00:00:00 2001 From: Vedant Gandhi Date: Fri, 6 Sep 2024 15:11:36 +0530 Subject: [PATCH 2/6] refactor: fix indentation. --- admin/class-nginx-helper-admin.php | 2 +- admin/partials/nginx-helper-general-options.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/admin/class-nginx-helper-admin.php b/admin/class-nginx-helper-admin.php index 7c19060..a417b02 100644 --- a/admin/class-nginx-helper-admin.php +++ b/admin/class-nginx-helper-admin.php @@ -278,7 +278,7 @@ public function nginx_helper_default_settings() { 'redis_prefix' => 'nginx-cache:', 'purge_url' => '', 'redis_enabled_by_constant' => 0, - 'purge_amp_urls' => 1, + 'purge_amp_urls' => 1, ); } diff --git a/admin/partials/nginx-helper-general-options.php b/admin/partials/nginx-helper-general-options.php index dfcbcd5..48c3f59 100644 --- a/admin/partials/nginx-helper-general-options.php +++ b/admin/partials/nginx-helper-general-options.php @@ -40,7 +40,7 @@ 'purge_page_on_deleted_comment', 'purge_feeds', 'smart_http_expire_form_nonce', - 'purge_amp_urls', + 'purge_amp_urls', ); $all_inputs = array(); From 6048861c579b4847cf001e15af6e305a50f1a398 Mon Sep 17 00:00:00 2001 From: Vedant Gandhi Date: Thu, 17 Oct 2024 11:52:01 +0530 Subject: [PATCH 3/6] refactor: added sprintf instead of concatenating string when generating amp url. --- admin/class-fastcgi-purger.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/admin/class-fastcgi-purger.php b/admin/class-fastcgi-purger.php index 45a88e9..385b02d 100644 --- a/admin/class-fastcgi-purger.php +++ b/admin/class-fastcgi-purger.php @@ -103,14 +103,14 @@ public function purge_url( $url, $feed = true ) { * @param string $url_base The base URL to purge. */ private function purge_amp_version( $url_base ) { - $amp_url = $url_base . '/amp/'; + $amp_url = sprintf( '%s/amp/', rtrim( $url_base, '/' ) ); $this->log('- Purging AMP URL | ' . $amp_url); - if ($this->nginx_helper_admin->options['purge_method'] === 'unlink_files') { - $this->delete_cache_file_for($amp_url); + if ( 'unlink_files' === $this->nginx_helper_admin->options['purge_method'] ) { + $this->delete_cache_file_for( $amp_url ); } else { - $this->do_remote_get($this->purge_base_url() . '/amp/'); + $this->do_remote_get( $amp_url ); } } From 13973c59545e9ccfa5b7637ed51496a8cbb58fa0 Mon Sep 17 00:00:00 2001 From: Vedant Gandhi Date: Thu, 12 Dec 2024 11:25:53 +0530 Subject: [PATCH 4/6] feat: add proper indentation. --- admin/class-fastcgi-purger.php | 2 +- admin/partials/nginx-helper-general-options.php | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/admin/class-fastcgi-purger.php b/admin/class-fastcgi-purger.php index 385b02d..db2d39b 100644 --- a/admin/class-fastcgi-purger.php +++ b/admin/class-fastcgi-purger.php @@ -105,7 +105,7 @@ public function purge_url( $url, $feed = true ) { private function purge_amp_version( $url_base ) { $amp_url = sprintf( '%s/amp/', rtrim( $url_base, '/' ) ); - $this->log('- Purging AMP URL | ' . $amp_url); + $this->log( '- Purging AMP URL | ' . $amp_url ); if ( 'unlink_files' === $this->nginx_helper_admin->options['purge_method'] ) { $this->delete_cache_file_for( $amp_url ); diff --git a/admin/partials/nginx-helper-general-options.php b/admin/partials/nginx-helper-general-options.php index 48c3f59..09db4f3 100644 --- a/admin/partials/nginx-helper-general-options.php +++ b/admin/partials/nginx-helper-general-options.php @@ -549,12 +549,12 @@
- - - +
-

+ + + - - -
+

-

+
From e9424e33620b284092656e2d619644f136e46828 Mon Sep 17 00:00:00 2001 From: Vedant Gandhi Date: Thu, 12 Dec 2024 11:28:11 +0530 Subject: [PATCH 5/6] feat: add proper indentation. --- admin/partials/nginx-helper-general-options.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admin/partials/nginx-helper-general-options.php b/admin/partials/nginx-helper-general-options.php index 09db4f3..05775a9 100644 --- a/admin/partials/nginx-helper-general-options.php +++ b/admin/partials/nginx-helper-general-options.php @@ -568,7 +568,7 @@

- +

-
-
- + +
+
+   - -
-
+ +
+ + +