diff --git a/.github/workflows/create.yml b/.github/workflows/create.yml
index cd1263fd..55d7f937 100644
--- a/.github/workflows/create.yml
+++ b/.github/workflows/create.yml
@@ -15,5 +15,5 @@ jobs:
EXCLUDE_LIST: .gitattributes .gitignore .travis.yml README.md deploy.sh readme.sh
tests map.conf nginx.log wercker.yml vendor
SLUG: nginx-helper
- WORDPRESS_PASSWORD: ${{ secrets.WORDPRESS_PASSWORD }}
- WORDPRESS_USERNAME: ${{ secrets.WORDPRESS_USERNAME }}
+ WORDPRESS_PASSWORD: ${{ secrets.SVN_PASSWORD }}
+ WORDPRESS_USERNAME: ${{ secrets.SVN_USERNAME }}
diff --git a/.github/workflows/e2e-test.yml b/.github/workflows/e2e-test.yml
index 765f7a7a..4e114c5f 100644
--- a/.github/workflows/e2e-test.yml
+++ b/.github/workflows/e2e-test.yml
@@ -5,15 +5,15 @@ name: End-to-End Tests
# Controls when the workflow will run
on:
# Triggers the workflow on push or pull request events but only for the main branch
- push:
- branches:
- - develop
- - master
+# push:
+# branches:
+# - develop
+# - master
- pull_request:
- branches:
- - develop
- - master
+# pull_request:
+# branches:
+# - develop
+# - master
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
@@ -52,7 +52,7 @@ jobs:
- name: Archive HTML Report on failure
if: failure()
- uses: actions/upload-artifact@v1
+ uses: actions/upload-artifact@v4
with:
name: report
path: ./tests/e2e-playwright/config
diff --git a/README.md b/README.md
index cc9ba903..3498e6af 100644
--- a/README.md
+++ b/README.md
@@ -1,21 +1,20 @@
# Nginx Helper #
[](https://www.repostatus.org/#active)
-**Contributors:** rtcamp, rahul286, saurabhshukla, manishsongirkar36, faishal, desaiuditd, darren-slatten, jk3us, daankortenbach, telofy, pjv, llonchj, jinnko, weskoop, bcole808, gungeekatx, rohanveer, chandrapatel, gagan0123, ravanh, michaelbeil, samedwards, niwreg, entr, nuvoPoint, iam404, rittesh.patel, vishalkakadiya, BhargavBhandari90, vincent-lu, murrayjbrown, bryant1410, 1gor, matt-h, pySilver, johan-chassaing, dotsam, sanketio, petenelson, nathanielks, rigagoogoo, dslatten, jinschoi, kelin1003, vaishuagola27, rahulsprajapati, Joel-James, utkarshpatel, gsayed786, shashwatmittal, sudhiryadav, thrijith, stayallive, jaredwsmith, abhijitrakas, umeshnevase, sid177, souptik, arafatkn, subscriptiongroup, akrocks, gnif, jeffcleverley(GridPane)
+**Contributors:** jeffcleverley(GridPane), rtcamp, rahul286, saurabhshukla, manishsongirkar36, faishal, desaiuditd, darren-slatten, jk3us, daankortenbach, telofy, pjv, llonchj, jinnko, weskoop, bcole808, gungeekatx, rohanveer, chandrapatel, gagan0123, ravanh, michaelbeil, samedwards, niwreg, entr, nuvoPoint, iam404, rittesh.patel, vishalkakadiya, BhargavBhandari90, vincent-lu, murrayjbrown, bryant1410, 1gor, matt-h, pySilver, johan-chassaing, dotsam, sanketio, petenelson, nathanielks, rigagoogoo, dslatten, jinschoi, kelin1003, vaishuagola27, rahulsprajapati, Joel-James, utkarshpatel, gsayed786, shashwatmittal, sudhiryadav, thrijith, stayallive, jaredwsmith, abhijitrakas, umeshnevase, sid177, souptik, arafatkn, subscriptiongroup, akrocks, gnif, jeffcleverley(GridPane)
-**Tags:** nginx, cache, purge, nginx map, nginx cache, maps, fastcgi, proxy, redis, redis-cache, rewrite, permalinks
+**Tags:** nginx, cache-purge, fastcgi, permalinks, redis-cache
**Requires at least:** 3.0
-**Tested up to:** 6.1
+**Tested up to:** 6.7
-**Stable tag:** 2.2.5
+**Stable tag:** 9.9.10
**License:** GPLv2 or later (of-course)
**License URI:** http://www.gnu.org/licenses/gpl-2.0.html
-**Donate Link:** http://rt.cx/eedonate
Cleans nginx's fastcgi/proxy cache or redis-cache whenever a post is edited/published. Also does a few more things.
@@ -26,15 +25,6 @@ Cleans nginx's fastcgi/proxy cache or redis-cache whenever a post is edited/publ
1. Adds support for nginx fastcgi_cache_purge & proxy_cache_purge directive from [module](https://github.com/FRiCKLE/ngx_cache_purge "ngx_cache_purge module"). Provides settings so you can customize purging rules.
1. Adds support for nginx `map{..}` on a WordPress-multisite network installation. Using it, Nginx can serve PHP file uploads even if PHP/MySQL crashes. Please check the tutorial list below for related Nginx configurations.
-### Tutorials ###
-
-You will need to follow one or more tutorials below to get desired functionality:
-
-* [Nginx Map + WordPress-Multisite + Static Files Handling](https://easyengine.io/wordpress-nginx/tutorials/multisite/static-files-handling/)
-* [Nginx + WordPress + fastcgi_purge_cache](https://easyengine.io/wordpress-nginx/tutorials/single-site/fastcgi-cache-with-purging/)
-* [Nginx + WordPress-Multisite (Subdirectories) + fastcgi_purge_cache](https://easyengine.io/wordpress-nginx/tutorials/multisite/subdirectories/fastcgi-cache-with-purging/)
-* [Nginx + WordPress-Multisite (Subdomains/domain-mapping) + fastcgi_purge_cache](https://easyengine.io/wordpress-nginx/tutorials/multisite/subdomains/fastcgi-cache-with-purging/)
-* [Other WordPress-Nginx Tutorials](https://easyengine.io/wordpress-nginx/tutorials/)
## Installation ##
@@ -49,17 +39,13 @@ Manual Installation
1. Upload them to `/wp-content/plugins/` directory on your WordPress installation.
1. Then activate the Plugin from Plugins page.
-For proper configuration, check out our **tutorial list** in the [Description tab](http://wordpress.org/extend/plugins/nginx-helper).
-
## Frequently Asked Questions ##
-**Important** - Please refer to [https://github.com/rtcamp/nginx-helper#frequently-asked-questions](https://github.com/rtcamp/nginx-helper#frequently-asked-questions) for up-to-date FAQs.
-
### FAQ - Installation/Comptability ###
**Q. Will this work out of the box?**
-No. You need to make some changes at the Nginx end. Please check our [tutorial list](https://easyengine.io/wordpress-nginx/tutorials/).
+No. You need to make some changes at the Nginx end.
**Q. Can I set the cache type using wp-config.php constants**
@@ -187,408 +173,66 @@ define( 'RT_WP_NGINX_HELPER_REDIS_USERNAME', 'user' );
define( 'RT_WP_NGINX_HELPER_REDIS_PASSWORD', 'password' );
```
-### FAQ - Nginx Map ###
-
-**Q. My multisite already uses `WPMU_ACCEL_REDIRECT`. Do I still need Nginx Map?**
-
-Definitely. `WPMU_ACCEL_REDIRECT` reduces the load on PHP, but it still ask WordPress i.e. PHP/MySQL to do some work for static files e.g. images in your post. Nginx map lets nginx handle files on its own bypassing wordpress which gives you much better performance without using a CDN.
-
-**Q. I am using X plugin. Will it work on Nginx?**
-
-Most likely yes. A wordpress plugin, if not using explicitly any Apache-only mod, should work on Nginx. Some plugin may need some extra work.
-
-### Still need help! ###
-
-Please post your problem in [our free support forum](https://github.com/rtCamp/nginx-helper/issues).
-
-## Screenshots ##
-
-### 1. Nginx plugin settings ###
-
-
-
-### 2. Remaining settings ###
-
-
-
-## Changelog ##
-
-### 2.2.6 ###
-
-* Added Fastcgi purge all capability using GET requests IF Torden ngx_cache_purge module is available. [#323](https://github.com/rtCamp/nginx-helper/issues/323) - by [Geoffrey McRae - gnif](https://github.com/gnif) and [GridPane - Jeff Cleverley](https://github.com/gridpane)
-* Added Redis Unix Socket connections. [325](https://github.com/rtCamp/nginx-helper/issues/325) - by [GridPane - Jeff Cleverley](https://github.com/gridpane)
-* Added Redis DB selection. [343](https://github.com/rtCamp/nginx-helper/issues/343) - by [GridPane - Jeff Cleverley](https://github.com/gridpane)
-* Added Redis ACL. [343](https://github.com/rtCamp/nginx-helper/issues/343) - by [GridPane - Jeff Cleverley](https://github.com/gridpane)
-* Added Management of all FastCGI and Redis Connection Parameters by wp-config.php constants. [343](https://github.com/rtCamp/nginx-helper/issues/343) - by [GridPane - Jeff Cleverley](https://github.com/gridpane)
-
-### 2.2.5 ###
-
-* Add the capability to enable/disable purging of feeds. [#281](https://github.com/rtCamp/nginx-helper/issues/281) - by [Amaan Khan](https://github.com/pathan-amaankhan)
-* Fix undefined port error when Redis port is set to empty string. [#333](https://github.com/rtCamp/nginx-helper/issues/333) - by [Amaan Khan](https://github.com/pathan-amaankhan)
-
-### 2.2.4 ###
-
-* Introduces the capability to specify the `NGINX_HELPER_LOG` constant, allowing users to activate the logging feature. [#318](https://github.com/rtCamp/nginx-helper/pull/318) - by [Vishal Kakadiya](https://github.com/vishalkakadiya)
-* Existing users employing the nginx-helper plugin with logging enabled will experience no disruptions. However, if logging is disabled, users must define the `NGINX_HELPER_LOG` constant to re-enable the logging feature.
-
-### 2.2.3 ###
-
-* Add the URL being purged as parameter in `rt_nginx_helper_purge_cached_file` hook. [#271](https://github.com/rtCamp/nginx-helper/pull/271) - by [Arafat Islam](https://github.com/arafatkn)
-* Fix performance issue when saving nav menus. [#112](https://github.com/rtCamp/nginx-helper/issues/112), [#272](https://github.com/rtCamp/nginx-helper/pull/272/) - by [Arafat Islam](https://github.com/arafatkn)
-* Fix purging date archives for custom post types. [#40](https://github.com/rtCamp/nginx-helper/issues/40), [#268](https://github.com/rtCamp/nginx-helper/pull/268) - by [Arafat Islam](https://github.com/arafatkn)
-* Fix pages and CPT URLs not being purged on moving to trash. [#191](https://github.com/rtCamp/nginx-helper/issues/191), [#267](https://github.com/rtCamp/nginx-helper/pull/267) - by [Arafat Islam](https://github.com/arafatkn)
-* Fix notice - Undefined index: path [#190](https://github.com/rtCamp/nginx-helper/issues/190), [#251](https://github.com/rtCamp/nginx-helper/issues/251), [#262](https://github.com/rtCamp/nginx-helper/pull/262) - by [George Lagonikas](https://github.com/glagonikas)
-* PHP 8.1 compatibility [#291](https://github.com/rtCamp/nginx-helper/issues/291), [#302](https://github.com/rtCamp/nginx-helper/pull/302) - by [Siddharth Tikekar](https://github.com/SID177)
-* Tested with WordPress 6.1 [#285](https://github.com/rtCamp/nginx-helper/pull/285)
-
-### 2.2.2 ###
-
-* Add action `rt_nginx_helper_after_purge_all` to fire after the entire cache has been purged whatever caching type is used. [#232](https://github.com/rtCamp/nginx-helper/pull/232) - by [Julien-prrs](https://github.com/Julien-prrs)
-* Fix issue where settings not saved because the button's value localized (for any language). [#236](https://github.com/rtCamp/nginx-helper/pull/236) - by [umeshnevase](https://github.com/umeshnevase)
-* Fix issue where "Custom Purge URL" option displays previous value. [#240](https://github.com/rtCamp/nginx-helper/issues/240), [#241](https://github.com/rtCamp/nginx-helper/pull/241) - by [KirillGritcenko](https://github.com/KirillGritcenko)
-* Tested with WordPress 5.4
-
-### 2.2.1 ###
-
-* Fix timeout issue on FastCGI cache purge. [#229](https://github.com/rtCamp/nginx-helper/pull/229) - by [chandrapatel](https://github.com/chandrapatel), [thrijith](https://github.com/thrijith)
-
-### 2.2.0 ###
-
-* Add filter `rt_nginx_helper_fastcgi_purge_suffix` to change purge suffix for FastCGI cache. [#141](https://github.com/rtCamp/nginx-helper/pull/141) - by [stayallive](https://github.com/stayallive)
-* Add filter `rt_nginx_helper_fastcgi_purge_url_base` to change purge URL base for FastCGI cache. [#141](https://github.com/rtCamp/nginx-helper/pull/141) - by [stayallive](https://github.com/stayallive)
-* Update our code to be in line with WordPress Coding standards in various places. [#209](https://github.com/rtCamp/nginx-helper/pull/209), [#225](https://github.com/rtCamp/nginx-helper/pull/225) - by [abhijitrakas](https://github.com/abhijitrakas), [chandrapatel](https://github.com/chandrapatel)
-* Check and verify purging is enabled before purging cache. [#168](https://github.com/rtCamp/nginx-helper/pull/168) - by [jaredwsmith](https://github.com/jaredwsmith)
-* Hide Purge Cache button in admin bar when purge is disabled. [#218](https://github.com/rtCamp/nginx-helper/issues/218), [#219](https://github.com/rtCamp/nginx-helper/pull/219) - by [mbautista](https://github.com/mbautista), [chandrapatel](https://github.com/chandrapatel)
-* Don't add Nginx Timestamp on WordPress login page. [#204](https://github.com/rtCamp/nginx-helper/issues/204), [#220](https://github.com/rtCamp/nginx-helper/pull/220) - by [peixotorms](https://github.com/peixotorms), [chandrapatel](https://github.com/chandrapatel)
-
-### 2.1.0 ###
-
-* Add wildcard cache key deletion for device type cache purge. [#203](https://github.com/rtCamp/nginx-helper/pull/203) - by [pradeep910](https://github.com/pradeep910)
-* Add filter `rt_nginx_helper_purge_url` to filter the URL to be purged. [#182](https://github.com/rtCamp/nginx-helper/pull/182) - by [todeveni](https://github.com/todeveni)
-* Add filter `rt_nginx_helper_purge_cached_file` to filter the cached file name. [#182](https://github.com/rtCamp/nginx-helper/pull/182) - by [todeveni](https://github.com/todeveni)
-* Add filter `rt_nginx_helper_remote_purge_url` to filter remote URL to be purged. [#182](https://github.com/rtCamp/nginx-helper/pull/182) - by [todeveni](https://github.com/todeveni)
-* Add action `rt_nginx_helper_after_fastcgi_purge_all` to fire after the FastCGI cache has been purged. [#182](https://github.com/rtCamp/nginx-helper/pull/182) - by [todeveni](https://github.com/todeveni)
-* Add action `rt_nginx_helper_after_redis_purge_all` to fire after the Redis cache has been purged. [#182](https://github.com/rtCamp/nginx-helper/pull/182) - by [todeveni](https://github.com/todeveni)
-* Add action `rt_nginx_helper_purged_file` to fire an action after deleting file from cache. [#182](https://github.com/rtCamp/nginx-helper/pull/182) - by [todeveni](https://github.com/todeveni)
-* Add action `rt_nginx_helper_before_remote_purge_url` to fire an action before purging remote URL. [#182](https://github.com/rtCamp/nginx-helper/pull/182) - by [todeveni](https://github.com/todeveni)
-* Add action `rt_nginx_helper_after_remote_purge_url` to fire an action after remote purge request. [#182](https://github.com/rtCamp/nginx-helper/pull/182) - by [todeveni](https://github.com/todeveni)
-* Fix issue with post purge on new comments. [#175](https://github.com/rtCamp/nginx-helper/pull/175) - by [jinschoi](https://github.com/jinschoi)
-* Fix Nginx Timestamp being added to invalid content type. [#200](https://github.com/rtCamp/nginx-helper/pull/200) - by [thrijith](https://github.com/thrijith)
-* Handle filesize exception while truncating nginx.log file. [#206](https://github.com/rtCamp/nginx-helper/pull/206) - by [peterjanes](https://github.com/peterjanes)
-
-### 2.0.3 ###
-
-* Update article link for fastcgi cache purge. [#187](https://github.com/rtCamp/nginx-helper/pull/187) - by [gagan0123](https://github.com/gagan0123)
-* Fix map generation issue on `SUBDOMAIN_INSTALL`. [#189](https://github.com/rtCamp/nginx-helper/pull/189) - by [ChrisHardie](https://github.com/ChrisHardie)
-* Add GitHub Action for plugin release. [#194](https://github.com/rtCamp/nginx-helper/pull/194) - by [sudhir-yadav](https://github.com/sudhir-yadav)
-
-### 2.0.2 ###
-
-* Fix undefined error when we install the plugin for the first time and if Redis is not available. [#162](https://github.com/rtCamp/nginx-helper/pull/162) - by [Joel-James](https://github.com/Joel-James)
-* Remove extra spacing for nginx map section. [#169](https://github.com/rtCamp/nginx-helper/pull/169) - by [ShashwatMittal](https://github.com/ShashwatMittal)
-* Purge Cache menu in front-end admibar now purge current page. [#173](https://github.com/rtCamp/nginx-helper/pull/173) - by [imranhsayed](https://github.com/imranhsayed)
-* Fix issue where cache is not cleared when page is swiched from publish to draft. [#174](https://github.com/rtCamp/nginx-helper/pull/174) - by [imranhsayed](https://github.com/imranhsayed)
-* Fix an issue where custom purge url option does not show newlines when using multiple urls. [#184](https://github.com/rtCamp/nginx-helper/issues/184) - by [mist-webit](https://github.com/mist-webit)
-
-### 2.0.1 ###
-
-* Fix settings url for multisite: use network_admin_url to get network correct settings url. [#163](https://github.com/rtCamp/nginx-helper/pull/163) - by [Joel-James](https://github.com/Joel-James)
-* Fix php error with arbitrary statement in empty - Prior to PHP 5.5. [#165](https://github.com/rtCamp/nginx-helper/pull/165) - by [PatelUtkarsh](https://github.com/PatelUtkarsh)
-
-### 2.0.0 ###
-
-* Fix typo causing failure to purge on trashed comment. [#159](https://github.com/rtCamp/nginx-helper/pull/159) - by [jinschoi](https://github.com/jinschoi)
-* Refactor Plugin structure and remove unused code. Initial code by [chandrapatel](https://github.com/chandrapatel), [#153](https://github.com/rtCamp/nginx-helper/pull/153) - by [kelin1003](https://github.com/kelin1003),
-* Run phpcs and fix warning. [#158](https://github.com/rtCamp/nginx-helper/pull/158) by [vaishaliagola27](https://github.com/vaishaliagola27)
-* Make compatible with EasyEngine v4.
-
-### 1.9.12 ###
-
-* Allow override Redis host/port/prefix by defining constant in wp-config.php [#152](https://github.com/rtCamp/nginx-helper/pull/152) - by [vincent-lu](https://github.com/vincent-lu)
-
-### 1.9.11 ###
-
-* Fixed issue where permalinks without trailing slash does not purging [#124](https://github.com/rtCamp/nginx-helper/issues/124) - by Patrick
-* Check whether role exist or not before removing capability. [#134](https://github.com/rtCamp/nginx-helper/pull/134) - by [1gor](https://github.com/1gor)
-
-### 1.9.10 ###
-
-* Fixed issue where Nginx cache folders deleted on purge. [#123](https://github.com/rtCamp/nginx-helper/pull/123) - by [johan-chassaing](https://github.com/johan-chassaing)
-* Fixed Redis purge all feature for installation where WordPress lives in a separate folder. [#130](https://github.com/rtCamp/nginx-helper/pull/130) - by [pySilver](https://github.com/pySilver)
-
-### 1.9.9 ###
-
-* Fix wp_redirect issue. [#131](https://github.com/rtCamp/nginx-helper/pull/131) - by [matt-h](https://github.com/matt-h)
-
-### 1.9.8 ###
-
-* Fixed homepage cache cleared when WPML plugin used [#116](https://github.com/rtCamp/nginx-helper/pull/116) - by [Niwreg](https://profiles.wordpress.org/niwreg/)
-* Fixed Purge Cache clears the whole Redis cache [#113](https://github.com/rtCamp/nginx-helper/issues/113) - by HansVanEijsden
-* One log file for all site in WPMU.
-* Single site Redis cache purge when click on Purge Cache button in WPMU [#122](https://github.com/rtCamp/nginx-helper/pull/122) - by Lars Støttrup Nielsen
-* Fixed notices and warnings.
-
-### 1.9.7 ###
-
-* Remove timestamp if cron or wp-cli [#114](https://github.com/rtCamp/nginx-helper/pull/114) - by [samedwards](https://profiles.wordpress.org/samedwards/)
-* Fixed notices and warnings.
-
-### 1.9.6 ###
-
-* Fixed cache purging on post publish.
-* Error fixed when redis server not installed.
-
-### 1.9.5 ###
-
-Added custom purge URL option.
-
-### 1.9.4 ###
-
-* Added redis server connection timeout.
-* Added RedisException handling.
-
-### 1.9.3 ###
-
-* Added PhpRedis API support.
-* Added redis-lua script support to purge complete cache very fast.
-* Added composer.json support
-* Fixed cache purging link in admin bar.
-* Updated the initial settings to include the 'purge_method' [#99](https://github.com/rtCamp/nginx-helper/pull/99) - by
-[gagan0123](https://github.com/gagan0123)
-
-### 1.9.2 ###
-
-Fix purging for Redis cache and FastCGI cache
-
-### 1.9.1 ###
-
-Fix purging for custom post types
-
-### 1.9 ###
-
-Added Redis cache purge support.
-
-### 1.8.13 ###
-
-Fixed PHP notice for an undefined index when "Enable Logging" is not set.
-
-### 1.8.12 ###
-
-Updated readme and changelog
-
-### 1.8.11 ###
-
-Fix url escaping [#82](https://github.com/rtCamp/nginx-helper/pull/82) - by
-[javisperez](https://github.com/javisperez)
-
-### 1.8.10 ###
+**Q. Can I override the redis socket path, username, password?**
-* Security bug fix
+Yes, you can force override the redis socket path, username, password by defining constant in wp-config.php. For example:
-### 1.8.9 ###
-
-* Default setting fix and wp-cli example correction - by [bcole808](https://profiles.wordpress.org/bcole808/)
-
-### 1.8.8 ###
-
-* Added option to purge cache without nginx purge module - by [bcole808](https://profiles.wordpress.org/bcole808/)
-
-### 1.8.7 ###
-
-* Added action `rt_nginx_helper_purge_all` to purge cache from other plugins - by [gungeekatx](https://profiles.wordpress.org/gungeekatx/)
-
-### 1.8.6 ###
-
-* Removed wercker.yml from plugin zip/svn.
-* Updated readme
-
-### 1.8.5 ###
-
-* Added WP_CLI support - by [Udit Desai](https://profiles.wordpress.org/desaiuditd/)
-
-### 1.8.4 ###
-
-* Fix undefined index issue and correct "purge_archive_on_del" key
-
-### 1.8.3 ###
-
-* Tested with WordPress 4.0
-* Fix issue #69
-
-### 1.8.1 ###
-
-* Tested with wordpress 3.9.1
-* Fix confilct with Mailchimp's Social plugin
-
-### 1.8 ###
-
-* New admin UI
-* Fix missing wp_sanitize_redirect function call
-
-### 1.7.6 ###
-
-* Update Backend UI
-* Added Language Support
-
-### 1.7.5 ###
-
-* Fixed option name mismatch issue to purge homepage on delete.
-
-### 1.7.4 ###
-
-* Disable purge and stamp by default.
-
-### 1.7.3 ###
-
-* Suppressed `unlink` related error-messages which can be safely ignored.
-* Fixed a bug in purge-all option.
-
-### 1.7.2 ###
-
-* [pjv](http://profiles.wordpress.org/pjv/) fixed bug in logging file.
-
-### 1.7.1 ###
-
-* Fixes bug in true purge and admin screen.
-
-### 1.7 ###
-
-* True full cache purge added.
-* Map file location changed to uploads' directory to fix http://rtcamp.com/support/topic/plugin-update-removes-map-file/
-* Log file location also changed to uploads' directory.
-
-### 1.6.13 ###
-
-* [pjv](http://profiles.wordpress.org/pjv/) changed the way home URL is accessed. Instead of site option, the plugin now uses home_URL() function.
-
-### 1.6.12 ###
-
-* [telofy](http://wordpress.org/support/profile/telofy) added purging of atom and RDF feeds.
-
-### 1.6.11 ###
-
-* Removed comments from Admin screens since, it was interfering with media uploads in 3.5 up.
-
-### 1.6.10 ###
-
-* Cleaned up code.
-* Added credits for code.
-* Improved attachment purging.
-
-### 1.6.9 ###
-
-* Added Faux to Purge all buttons, to avoid misleading users.
-
-### 1.6.8 ###
-
-* [daankortenbach](http://profiles.wordpress.org/daankortenbach) added Purge Cache link to wp-admin bar
-
-### 1.6.7 ###
-
-* [jk3us](http://profiles.wordpress.org/jk3us) added better content-type detection for cache verification comments
-
-### 1.6.6 ###
-
-* [darren-slatten](http://profiles.wordpress.org/darren-slatten/) added Manual 'Purge all URLs' functionality
-
-### 1.6.5 ###
-
-* Fixed typo that interfered with archive purge settings. Thanks to [Daan Kortenbach](http://profiles.wordpress.org/daankortenbach/) for pointing this out.
-
-### 1.6.4 ###
-
-* Improved code for map generation to better conventions since the nesting confused some servers.
-* Added map update process to admin_init for frequent refreshes.
-
-### 1.6.3 ###
-
-* Fixed duplicate entries.
-
-### 1.6.2 ###
-
-* Another bug fix in the revised code for improved multisite and multidomain mapping.
-
-### 1.6.1 ###
-
-* Fixed bug in the revised code for improved multisite and multidomain mapping.
-
-### 1.6 ###
-
-* Revised code for improved multisite and multidomain mapping.
-
-### 1.5 ###
-
-* Timestamp now only gets added to content-type text/html
-* Added option to toggle timestamp creation
-
-### 1.4 ###
-
-* Fixed bug related to nomenclature of comment status that caused purge to fail.
-
-### 1.3.9 ###
-
-* Removed extraneous headers.
-
-### 1.3.8 ###
-
-* Fixed bug in single post/page/post-type purging code. Thanks to Greg for pointing this out here: http://rtcamp.com/support/topic/updating-post-nginx-helper-purge-cache-post/.
-
-### 1.3.7 ###
-
-* Changed the action hook, back to 'shutdown' from 'wp_footer' to add verification comments.
-* Added a check to prevent adding comments to ajax requests,
-
-### 1.3.6 ###
+```php
+define( 'RT_WP_NGINX_HELPER_REDIS_UNIX_SOCKET', '/var/run/redis/redis.sock' );
-* Changed the action hook, from 'shutdown' to 'wp_footer' to add verification comments. This was interfering with other plugins.
+define( 'RT_WP_NGINX_HELPER_REDIS_USERNAME', 'admin' );
-### 1.3.5 ###
+define( 'RT_WP_NGINX_HELPER_REDIS_PASSWORD', 'admin' );
+```
-* Improved Readme.
-* Improved cache verification comments.
+### FAQ - Nginx Map ###
-### 1.3.4 ###
+**Q. My multisite already uses `WPMU_ACCEL_REDIRECT`. Do I still need Nginx Map?**
-* Fixed duplicate entries generated for maps (Harmless, but doesn't look good!)
-* Added timestamp html comments for cache verification, as described here: http://rtcamp.com/wordpress-nginx/tutorials/checklist/
+Definitely. `WPMU_ACCEL_REDIRECT` reduces the load on PHP, but it still ask WordPress i.e. PHP/MySQL to do some work for static files e.g. images in your post. Nginx map lets nginx handle files on its own bypassing wordpress which gives you much better performance without using a CDN.
-### 1.3.3 ###
+**Q. I am using X plugin. Will it work on Nginx?**
-* Fixed map generation for multi domain installs using domain mapping plugin, where blog ids were not displayed.
+Most likely yes. A wordpress plugin, if not using explicitly any Apache-only mod, should work on Nginx. Some plugin may need some extra work.
-### 1.3.2 ###
-* Fixed map generation for multi domain installs with domain mapping plugin.
+### FAQ - WP-CLI ###
-### 1.3.1 ###
+**Q. How can I update the options using WP-CLI?**
-* Minor fixes for directory structure and file names.
+```shell
+wp option patch update rt_wp_nginx_helper_options ' . esc_html__( 'Purge initiated', 'nginx-helper' ) . '
+* Add support for adding Username, Password support for Redis. It also includes the support for Unix Socket Path for Redis along with Database selection - by [Jeff Cleverley](https://github.com/gridpane)
+* Added exclude filters for cache purging of home page - by [Jeff Cleverley](https://github.com/gridpane)
+* Added Ability to configure all options by Constants - by [Jeff Cleverley](https://github.com/gridpane)
+* Added Ability to purge fastcgi cache purge using the Torden Module - by [Jeff Cleverley](https://github.com/gridpane)
+* All Previous rtCamp Nginx-Helper code up to 2.5.0
\ No newline at end of file
diff --git a/admin/class-fastcgi-purger.php b/admin/class-fastcgi-purger.php
index 108dbdcc..42fa9371 100644
--- a/admin/class-fastcgi-purger.php
+++ b/admin/class-fastcgi-purger.php
@@ -2,8 +2,8 @@
/**
* The admin-specific functionality of the plugin.
*
- * @link https://rtcamp.com/nginx-helper/
- * @since 2.0.0
+ * @link https://github.com/gridpane/nginx-helper/
+ * @since 9.9.10
*
* @package nginx-helper
* @subpackage nginx-helper/admin
@@ -14,7 +14,7 @@
*
* @package nginx-helper
* @subpackage nginx-helper/admin
- * @author rtCamp
+ * @author GridPane
*/
class FastCGI_Purger extends Purger {
@@ -31,7 +31,7 @@ public function purge_url( $url, $feed = true ) {
/**
* Filters the URL to be purged.
*
- * @since 2.1.0
+ * @since 9.9.10
*
* @param string $url URL to be purged.
*/
@@ -94,8 +94,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 = sprintf( '%s/amp/', rtrim( $url_base, '/' ) );
+
+ $this->log( '- Purging AMP URL | ' . $amp_url );
+
+ if ( 'unlink_files' === $this->nginx_helper_admin->options['purge_method'] ) {
+ $this->delete_cache_file_for( $amp_url );
+ } else {
+ $this->do_remote_get( $amp_url );
+ }
+ }
/**
* Function to custom purge urls.
@@ -228,7 +249,7 @@ public function purge_all() {
/**
* Fire an action after the FastCGI cache has been purged.
*
- * @since 2.1.0
+ * @since 9.9.10
*/
do_action( 'rt_nginx_helper_after_fastcgi_purge_all' );
}
diff --git a/admin/class-nginx-helper-admin.php b/admin/class-nginx-helper-admin.php
index 0dffdfd9..2d38d0a4 100644
--- a/admin/class-nginx-helper-admin.php
+++ b/admin/class-nginx-helper-admin.php
@@ -2,8 +2,8 @@
/**
* The admin-specific functionality of the plugin.
*
- * @link https://rtcamp.com/nginx-helper/
- * @since 2.0.0
+ * @link https://github.com/gridpane/nginx-helper/
+ * @since 9.9.10
*
* @package nginx-helper
* @subpackage nginx-helper/admin
@@ -17,67 +17,76 @@
*
* @package nginx-helper
* @subpackage nginx-helper/admin
- * @author rtCamp
+ * @author GridPane
*/
class Nginx_Helper_Admin {
-
+
/**
* The ID of this plugin.
*
- * @since 2.0.0
+ * @since 9.9.10
* @access private
* @var string $plugin_name The ID of this plugin.
*/
private $plugin_name;
-
+
/**
* The version of this plugin.
*
- * @since 2.0.0
+ * @since 9.9.10
* @access private
* @var string $version The current version of this plugin.
*/
private $version;
-
+
/**
* Various settings tabs.
*
- * @since 2.0.0
+ * @since 9.9.10
* @access private
* @var string $settings_tabs Various settings tabs.
*/
private $settings_tabs;
-
+
/**
* Purge options.
*
- * @since 2.0.0
+ * @since 9.9.10
* @access public
* @var string[] $options Purge options.
*/
public $options;
-
+
/**
* WP-CLI Command.
*
- * @since 2.0.0
+ * @since 9.9.10
* @access public
* @var string $options WP-CLI Command.
*/
const WP_CLI_COMMAND = 'nginx-helper';
-
+
/**
* Initialize the class and set its properties.
*
- * @since 2.0.0
+ * @since 9.9.10
* @param string $plugin_name The name of this plugin.
* @param string $version The version of this plugin.
*/
public function __construct( $plugin_name, $version ) {
-
+
$this->plugin_name = $plugin_name;
$this->version = $version;
-
+
+ $this->options = $this->nginx_helper_settings();
+ }
+
+ /**
+ * Initialize the settings tab.
+ * Required since i18n is used in the settings tab which can be invoked only after init hook since WordPress 6.7
+ */
+ public function initialize_setting_tab() {
+
/**
* Define settings tabs
*/
@@ -94,20 +103,17 @@ public function __construct( $plugin_name, $version ) {
),
)
);
-
- $this->options = $this->nginx_helper_settings();
-
}
-
+
/**
* Register the stylesheets for the admin area.
*
- * @since 2.0.0
+ * @since 9.9.10
*
* @param string $hook The current admin page.
*/
public function enqueue_styles( $hook ) {
-
+
/**
* This function is provided for demonstration purposes only.
*
@@ -119,25 +125,25 @@ public function enqueue_styles( $hook ) {
* between the defined hooks and the functions defined in this
* class.
*/
-
+
if ( 'settings_page_nginx' !== $hook ) {
return;
}
-
+
wp_enqueue_style( $this->plugin_name . '-icons', plugin_dir_url( __FILE__ ) . 'icons/css/nginx-fontello.css', array(), $this->version, 'all' );
wp_enqueue_style( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'css/nginx-helper-admin.css', array(), $this->version, 'all' );
-
+
}
-
+
/**
* Register the JavaScript for the admin area.
*
- * @since 2.0.0
+ * @since 9.9.10
*
* @param string $hook The current admin page.
*/
public function enqueue_scripts( $hook ) {
-
+
/**
* This function is provided for demonstration purposes only.
*
@@ -149,29 +155,29 @@ public function enqueue_scripts( $hook ) {
* between the defined hooks and the functions defined in this
* class.
*/
-
+
if ( 'settings_page_nginx' !== $hook ) {
return;
}
-
+
wp_enqueue_script( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'js/nginx-helper-admin.js', array( 'jquery' ), $this->version, false );
-
+
$do_localize = array(
'purge_confirm_string' => esc_html__( 'Purging entire cache is not recommended. Would you like to continue?', 'nginx-helper' ),
);
wp_localize_script( $this->plugin_name, 'nginx_helper', $do_localize );
-
+
}
-
+
/**
* Add admin menu.
*
- * @since 2.0.0
+ * @since 9.9.10
*/
public function nginx_helper_admin_menu() {
-
+
if ( is_multisite() ) {
-
+
add_submenu_page(
'settings.php',
__( 'Nginx Helper', 'nginx-helper' ),
@@ -180,9 +186,9 @@ public function nginx_helper_admin_menu() {
'nginx',
array( &$this, 'nginx_helper_setting_page' )
);
-
+
} else {
-
+
add_submenu_page(
'options-general.php',
__( 'Nginx Helper', 'nginx-helper' ),
@@ -191,22 +197,22 @@ public function nginx_helper_admin_menu() {
'nginx',
array( &$this, 'nginx_helper_setting_page' )
);
-
+
}
-
+
}
-
+
/**
* Function to add toolbar purge link.
*
* @param object $wp_admin_bar Admin bar object.
*/
public function nginx_helper_toolbar_purge_link( $wp_admin_bar ) {
-
+
if ( ! current_user_can( 'manage_options' ) ) {
return;
}
-
+
if ( is_admin() ) {
$nginx_helper_urls = 'all';
$link_title = __( 'Purge Cache', 'nginx-helper' );
@@ -214,16 +220,16 @@ public function nginx_helper_toolbar_purge_link( $wp_admin_bar ) {
$nginx_helper_urls = 'current-url';
$link_title = __( 'Purge Current Page', 'nginx-helper' );
}
-
+
$purge_url = add_query_arg(
array(
'nginx_helper_action' => 'purge',
'nginx_helper_urls' => $nginx_helper_urls,
)
);
-
+
$nonced_url = wp_nonce_url( $purge_url, 'nginx_helper-purge_all' );
-
+
$wp_admin_bar->add_menu(
array(
'id' => 'nginx-helper-purge-all',
@@ -232,28 +238,28 @@ public function nginx_helper_toolbar_purge_link( $wp_admin_bar ) {
'meta' => array( 'title' => $link_title ),
)
);
-
+
}
-
+
/**
* Display settings.
*
* @global $string $pagenow Contain current admin page.
*
- * @since 2.0.0
+ * @since 9.9.10
*/
public function nginx_helper_setting_page() {
include plugin_dir_path( __FILE__ ) . 'partials/nginx-helper-admin-display.php';
}
-
+
/**
* Default settings.
*
- * @since 2.0.0
+ * @since 9.9.10
* @return array
*/
public function nginx_helper_default_settings() {
-
+
return array(
'enable_purge' => 0,
'cache_method' => 'enable_fastcgi',
@@ -281,6 +287,7 @@ public function nginx_helper_default_settings() {
'redis_password' => '',
'redis_database' => 0,
'purge_url' => '',
+ 'purge_amp_urls' => 1,
'auth_enabled_by_constant' => 0,
'cache_method_set_by_constant' => 0,
'purge_method_set_by_constant' => 0,
@@ -292,26 +299,51 @@ public function nginx_helper_default_settings() {
'redis_username_set_by_constant' => 0,
'redis_password_socket_set_by_constant' => 0,
'homepage_purge_post_type_exceptions' => array(),
+ 'preload_cache' => 0,
+ 'is_cache_preloaded' => 0
);
-
+
}
+
+ public function store_default_options() {
+ $options = get_site_option( 'rt_wp_nginx_helper_options', array() );
+ $default_settings = $this->nginx_helper_default_settings();
+
+ $removable_default_settings = array(
+ 'redis_port',
+ 'redis_prefix',
+ 'redis_hostname',
+ 'redis_database',
+ 'redis_unix_socket'
+ );
+
+ // Remove all the keys that are not to be stored by default.
+ foreach ( $removable_default_settings as $removable_key ) {
+ unset( $default_settings[ $removable_key ] );
+ }
+
+ $diffed_options = wp_parse_args( $options, $default_settings );
+
+ add_site_option( 'rt_wp_nginx_helper_options', $diffed_options );
+ }
/**
* Get settings.
*
- * @since 2.0.0
+ * @since 9.9.10
*/
public function nginx_helper_settings() {
-
+
$options = get_site_option(
'rt_wp_nginx_helper_options',
array(
'redis_hostname' => '127.0.0.1',
'redis_port' => '6379',
'redis_prefix' => 'nginx-cache:',
+ 'redis_database' => 0,
)
);
-
+
$data = wp_parse_args(
$options,
$this->nginx_helper_default_settings()
@@ -396,9 +428,9 @@ public function nginx_helper_settings() {
}
return $data;
-
+
}
-
+
/**
* Nginx helper setting link function.
*
@@ -407,20 +439,20 @@ public function nginx_helper_settings() {
* @return mixed
*/
public function nginx_helper_settings_link( $links ) {
-
+
if ( is_network_admin() ) {
$setting_page = 'settings.php';
} else {
$setting_page = 'options-general.php';
}
-
+
$settings_link = '' . __( 'Settings', 'nginx-helper' ) . '';
array_unshift( $links, $settings_link );
-
+
return $links;
-
+
}
-
+
/**
* Check if the nginx log is enabled.
*
@@ -428,117 +460,63 @@ public function nginx_helper_settings_link( $links ) {
* @return boolean
*/
public function is_nginx_log_enabled() {
-
+
$options = get_site_option( 'rt_wp_nginx_helper_options', array() );
-
+
if ( ! empty( $options['enable_log'] ) && 1 === (int) $options['enable_log'] ) {
return true;
}
-
+
if ( defined( 'NGINX_HELPER_LOG' ) && true === NGINX_HELPER_LOG ) {
return true;
}
-
+
return false;
}
-
+
/**
* Retrieve the asset path.
*
- * @since 2.0.0
+ * @since 9.9.10
* @return string asset path of the plugin.
*/
public function functional_asset_path() {
-
+
$log_path = WP_CONTENT_DIR . '/uploads/nginx-helper/';
-
+
return apply_filters( 'nginx_asset_path', $log_path );
-
+
}
-
+
/**
* Retrieve the asset url.
*
- * @since 2.0.0
+ * @since 9.9.10
* @return string asset url of the plugin.
*/
public function functional_asset_url() {
-
+
$log_url = WP_CONTENT_URL . '/uploads/nginx-helper/';
-
+
return apply_filters( 'nginx_asset_url', $log_url );
-
- }
-
- /**
- * Get latest news.
- *
- * @since 2.0.0
- */
- public function nginx_helper_get_feeds() {
-
- // Get RSS Feed(s).
- require_once ABSPATH . WPINC . '/feed.php';
-
- $maxitems = 0;
- $rss_items = array();
-
- // Get a SimplePie feed object from the specified feed source.
- $rss = fetch_feed( 'https://rtcamp.com/blog/feed/' );
-
- if ( ! is_wp_error( $rss ) ) { // Checks that the object is created correctly.
-
- // Figure out how many total items there are, but limit it to 5.
- $maxitems = $rss->get_item_quantity( 5 );
- // Build an array of all the items, starting with element 0 (first element).
- $rss_items = $rss->get_items( 0, $maxitems );
-
- }
- ?>
-
- ' . esc_html_e( 'No items', 'nginx-helper' ) . '.';
- } else {
-
- // Loop through each feed item and display each item as a hyperlink.
- foreach ( $rss_items as $item ) {
- ?>
-
- options['enable_purge'] || 1 !== (int) $this->options['enable_stamp'] ) {
return;
}
-
+
if ( ! empty( $pagenow ) && 'wp-login.php' === $pagenow ) {
return;
}
-
+
foreach ( headers_list() as $header ) {
list( $key, $value ) = explode( ':', $header, 2 );
$key = strtolower( $key );
@@ -549,32 +527,32 @@ public function add_timestamps() {
break;
}
}
-
+
/**
* Don't add timestamp if run from ajax, cron or wpcli.
*/
if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
return;
}
-
+
if ( defined( 'DOING_CRON' ) && DOING_CRON ) {
return;
}
-
+
if ( defined( 'WP_CLI' ) && WP_CLI ) {
return;
}
-
+
$timestamps = "\n\n" .
- '';
-
+ 'Cached using Nginx-Helper on ' . current_time( 'mysql' ) . '. ' .
+ 'It took ' . get_num_queries() . ' queries executed in ' . timer_stop() . ' seconds.' .
+ "-->\n" .
+ '';
+
echo wp_kses( $timestamps, array() );
-
+
}
-
+
/**
* Get map
*
@@ -583,83 +561,83 @@ public function add_timestamps() {
* @return string
*/
public function get_map() {
-
+
if ( ! $this->options['enable_map'] ) {
return;
}
-
+
if ( is_multisite() ) {
-
+
global $wpdb;
-
+
$rt_all_blogs = $wpdb->get_results(
$wpdb->prepare(
'SELECT blog_id, domain, path FROM ' . $wpdb->blogs . " WHERE site_id = %d AND archived = '0' AND mature = '0' AND spam = '0' AND deleted = '0'",
$wpdb->siteid
)
);
-
+
$wpdb->dmtable = $wpdb->base_prefix . 'domain_mapping';
-
+
$rt_domain_map_sites = '';
-
+
if ( $wpdb->get_var( "SHOW TABLES LIKE '{$wpdb->dmtable}'" ) === $wpdb->dmtable ) { // phpcs:ignore
$rt_domain_map_sites = $wpdb->get_results( "SELECT blog_id, domain FROM {$wpdb->dmtable} ORDER BY id DESC" );
}
-
+
$rt_nginx_map = '';
$rt_nginx_map_array = array();
-
+
if ( $rt_all_blogs ) {
-
+
foreach ( $rt_all_blogs as $blog ) {
-
+
if ( true === SUBDOMAIN_INSTALL ) {
$rt_nginx_map_array[ $blog->domain ] = $blog->blog_id;
} else {
-
+
if ( 1 !== $blog->blog_id ) {
$rt_nginx_map_array[ $blog->path ] = $blog->blog_id;
}
}
}
}
-
+
if ( $rt_domain_map_sites ) {
-
+
foreach ( $rt_domain_map_sites as $site ) {
$rt_nginx_map_array[ $site->domain ] = $site->blog_id;
}
}
-
+
foreach ( $rt_nginx_map_array as $domain => $domain_id ) {
$rt_nginx_map .= "\t" . $domain . "\t" . $domain_id . ";\n";
}
-
+
return $rt_nginx_map;
-
+
}
-
+
}
-
+
/**
* Update map
*/
public function update_map() {
-
+
if ( is_multisite() ) {
-
+
$rt_nginx_map = $this->get_map();
-
+
$fp = fopen( $this->functional_asset_path() . 'map.conf', 'w+' );
if ( $fp ) {
fwrite( $fp, $rt_nginx_map );
fclose( $fp );
}
}
-
+
}
-
+
/**
* Purge url when post status is changed.
*
@@ -671,7 +649,7 @@ public function update_map() {
* @param object $post Post object.
*/
public function set_future_post_option_on_future_status( $new_status, $old_status, $post ) {
-
+
global $blog_id, $nginx_purger;
$exclude_post_types = apply_filters( 'rt_nginx_helper_exclude_post_types', array( 'nav_menu_item' ) );
@@ -687,20 +665,20 @@ public function set_future_post_option_on_future_status( $new_status, $old_statu
}
return;
}
-
- if ( ! $this->options['enable_purge'] ) {
+
+ if ( ! $this->options['enable_purge'] || $this->is_import_request() ) {
return;
}
-
+
$purge_status = array( 'publish', 'future' );
-
+
if ( in_array( $old_status, $purge_status, true ) || in_array( $new_status, $purge_status, true ) ) {
-
+
$nginx_purger->log( 'Purge post on transition post STATUS from ' . $old_status . ' to ' . $new_status );
$nginx_purger->purge_post( $post->ID );
-
+
}
-
+
if (
'future' === $new_status && $post && 'future' === $post->post_status &&
(
@@ -711,15 +689,15 @@ public function set_future_post_option_on_future_status( $new_status, $old_statu
)
)
) {
-
+
$nginx_purger->log( 'Set/update future_posts option ( post id = ' . $post->ID . ' and blog id = ' . $blog_id . ' )' );
$this->options['future_posts'][ $blog_id ][ $post->ID ] = strtotime( $post->post_date_gmt ) + 60;
update_site_option( 'rt_wp_nginx_helper_options', $this->options );
-
+
}
-
+
}
-
+
/**
* Unset future post option on delete
*
@@ -729,9 +707,9 @@ public function set_future_post_option_on_future_status( $new_status, $old_statu
* @param int $post_id Post id.
*/
public function unset_future_post_option_on_delete( $post_id ) {
-
+
global $blog_id, $nginx_purger;
-
+
if (
! $this->options['enable_purge'] ||
empty( $this->options['future_posts'] ) ||
@@ -741,18 +719,18 @@ public function unset_future_post_option_on_delete( $post_id ) {
) {
return;
}
-
+
$nginx_purger->log( 'Unset future_posts option ( post id = ' . $post_id . ' and blog id = ' . $blog_id . ' )' );
-
+
unset( $this->options['future_posts'][ $blog_id ][ $post_id ] );
-
+
if ( ! count( $this->options['future_posts'][ $blog_id ] ) ) {
unset( $this->options['future_posts'][ $blog_id ] );
}
-
+
update_site_option( 'rt_wp_nginx_helper_options', $this->options );
}
-
+
/**
* Update map when new blog added in multisite.
*
@@ -761,18 +739,18 @@ public function unset_future_post_option_on_delete( $post_id ) {
* @param string $blog_id blog id.
*/
public function update_new_blog_options( $blog_id ) {
-
+
global $nginx_purger;
-
+
$nginx_purger->log( "New site added ( id $blog_id )" );
$this->update_map();
$nginx_purger->log( "New site added to nginx map ( id $blog_id )" );
$helper_options = $this->nginx_helper_default_settings();
update_blog_option( $blog_id, 'rt_wp_nginx_helper_options', $helper_options );
$nginx_purger->log( "Default options updated for the new blog ( id $blog_id )" );
-
+
}
-
+
/**
* Purge all urls.
* Purge current page cache when purging is requested from front
@@ -781,14 +759,18 @@ public function update_new_blog_options( $blog_id ) {
* @global object $nginx_purger
*/
public function purge_all() {
-
+
+ if ( $this->is_import_request() ) {
+ return;
+ }
+
global $nginx_purger, $wp;
-
+
$method = null;
if ( isset( $_SERVER['REQUEST_METHOD'] ) ) {
$method = wp_strip_all_tags( $_SERVER['REQUEST_METHOD'] );
}
-
+
$action = '';
if ( 'POST' === $method ) {
if ( isset( $_POST['nginx_helper_action'] ) ) {
@@ -799,34 +781,34 @@ public function purge_all() {
$action = wp_strip_all_tags( $_GET['nginx_helper_action'] );
}
}
-
+
if ( empty( $action ) ) {
return;
}
-
+
if ( ! current_user_can( 'manage_options' ) ) {
wp_die( 'Sorry, you do not have the necessary privileges to edit these options.' );
}
-
+
if ( 'done' === $action ) {
-
+
add_action( 'admin_notices', array( &$this, 'display_notices' ) );
add_action( 'network_admin_notices', array( &$this, 'display_notices' ) );
return;
-
+
}
-
+
check_admin_referer( 'nginx_helper-purge_all' );
-
+
$current_url = user_trailingslashit( home_url( $wp->request ) );
-
+
if ( ! is_admin() ) {
$action = 'purge_current_page';
$redirect_url = $current_url;
} else {
$redirect_url = add_query_arg( array( 'nginx_helper_action' => 'done' ) );
}
-
+
switch ( $action ) {
case 'purge':
$nginx_purger->purge_all();
@@ -835,28 +817,138 @@ public function purge_all() {
$nginx_purger->purge_url( $current_url );
break;
}
-
+
if ( 'purge' === $action ) {
-
+
/**
* Fire an action after the entire cache has been purged whatever caching type is used.
*
* @since 2.2.2
*/
do_action( 'rt_nginx_helper_after_purge_all' );
-
+
}
-
+
wp_redirect( esc_url_raw( $redirect_url ) );
exit();
-
+
}
-
+
/**
* Dispay plugin notices.
*/
public function display_notices() {
echo '
+
@@ -479,13 +489,19 @@
}
?>
+ ';
+ esc_html_e( 'Overridden by unix socket path.', 'nginx-helper' );
+ echo '
+ />
+
+
+
+ + ++ |
+ + + | +
---|
diff --git a/admin/partials/nginx-helper-sidebar-display.php b/admin/partials/nginx-helper-sidebar-display.php
index 50021eba..011d17a5 100644
--- a/admin/partials/nginx-helper-sidebar-display.php
+++ b/admin/partials/nginx-helper-sidebar-display.php
@@ -4,7 +4,7 @@
*
* This file is used to markup the admin-facing aspects of the plugin.
*
- * @since 2.0.0
+ * @since 9.9.10
*
* @package nginx-helper
* @subpackage nginx-helper/admin/partials
@@ -28,61 +28,18 @@
- +%s.', - esc_html__( 'Please use our', 'nginx-helper' ), - esc_url( 'http://rtcamp.com/support/forum/wordpress-nginx/' ), - esc_html__( 'free support forum', 'nginx-helper' ) + esc_html__( 'Please create a GitHub Issue', 'nginx-helper' ), + esc_url( 'https://github.com/gridpane/nginx-helper/issues' ) ); ?>
-
diff --git a/admin/partials/nginx-helper-support-options.php b/admin/partials/nginx-helper-support-options.php
index 178b05a7..d3e74ab5 100644
--- a/admin/partials/nginx-helper-support-options.php
+++ b/admin/partials/nginx-helper-support-options.php
@@ -4,7 +4,7 @@
*
* This file is used to markup the admin-facing aspects of the plugin.
*
- * @since 2.0.0
+ * @since 9.9.10
*
* @package nginx-helper
* @subpackage nginx-helper/admin/partials
@@ -15,27 +15,17 @@
-![]() - +
|
---|
- - - -
-