Plugin Directory

Changeset 3309228


Ignore:
Timestamp:
06/10/2025 01:27:35 PM (8 months ago)
Author:
kevp75
Message:

updated libraries, add redis key/prefix, fix redis flush, fix load_domain notice, etc...

Location:
the-cache-purger/trunk
Files:
25 edited

Legend:

Unmodified
Added
Removed
  • the-cache-purger/trunk/languages/the-cache-purger.pot

    r3296444 r3309228  
    77"Content-Type: text/plain; charset=UTF-8\n"
    88"Content-Transfer-Encoding: 8bit\n"
    9 "POT-Creation-Date: 2025-05-19 12:12+0000\n"
     9"POT-Creation-Date: 2025-06-10 13:21+0000\n"
    1010"X-Poedit-Basepath: ..\n"
    1111"X-Poedit-KeywordsList: __;_e;_ex:1,2c;_n:1,2;_n_noop:1,2;_nx:1,2,4c;_nx_noop:1,2,3c;_x:1,2c;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c\n"
     
    1515"Plural-Forms: nplurals=2; plural=(n != 1);\n"
    1616
    17 #: source/cli/kp-cache-purge-cli.php:47
    18 msgid "The Purge is Commencing!"
    19 msgstr ""
    20 
    21 #: source/cli/kp-cache-purge-cli.php:62
    22 msgid "The Purge has finished!"
    23 msgstr ""
    24 
    25 #: source/work/common.php:26
    26 msgid "<h1>PHP To Low</h1><p>Due to the nature of this plugin, it cannot be run on lower versions of PHP.</p><p>Please contact your hosting provider to upgrade your site to at least version 7.4.</p>"
    27 msgstr ""
    28 
    29 #: source/work/common.php:27
    30 msgid "Cannot Activate: PHP To Low"
    31 msgstr ""
    32 
    33 #: source/work/common.php:39
    34 msgid "<h1>Cannot Network Activate</h1><p>Due to the nature of this plugin, it cannot be network activated.</p><p>Please go back, and activate inside your subsites.</p>"
    35 msgstr ""
    36 
    37 #: source/work/common.php:40
    38 msgid "Cannot Network Activate"
    39 msgstr ""
    40 
    41 #: source/work/common.php:138
    42 msgid "<p>The cache purge has initialized.</p><p>The majority is run in the background, so please wait around 2 minutes for it to complete.</p>"
    43 msgstr ""
    44 
    45 #: source/work/common.php:262
    46 msgid "<h3>PHP Upgrade Notice</h3><p>To maintain optimal security standards, this will be the final version that supports PHP versions lower than 8.1. Your site must be upgraded in order to update the plugin to future versions.</p><p>Please see here for up to date PHP version information: <a href='https://www.php.net/supported-versions.php' target='_blank'>https://www.php.net/supported-versions.php</a></p>"
    47 msgstr ""
    48 
    49 #: source/work/doc.php:20
    50 msgid "The Cache Purger Documentation"
    51 msgstr ""
    52 
    53 #: source/work/doc.php:23
    54 msgid "Description"
    55 msgstr ""
    56 
    57 #: source/work/doc.php:24, source/work/doc.php:30, source/work/doc.php:57, source/work/doc.php:177, source/work/doc.php:278, source/work/doc.php:296
    58 msgid "TOP"
    59 msgstr ""
    60 
    61 #: source/work/doc.php:24, source/work/doc.php:30, source/work/doc.php:57, source/work/doc.php:177, source/work/doc.php:278, source/work/doc.php:296
    62 msgid "DESCRIPTION"
    63 msgstr ""
    64 
    65 #: source/work/doc.php:24, source/work/doc.php:30, source/work/doc.php:57, source/work/doc.php:177, source/work/doc.php:278, source/work/doc.php:296
    66 msgid "FEATURES"
    67 msgstr ""
    68 
    69 #: source/work/doc.php:24, source/work/doc.php:30, source/work/doc.php:57, source/work/doc.php:177, source/work/doc.php:278, source/work/doc.php:296
    70 msgid "SETTINGS"
    71 msgstr ""
    72 
    73 #: source/work/doc.php:24, source/work/doc.php:30, source/work/doc.php:57, source/work/doc.php:177, source/work/doc.php:278, source/work/doc.php:296
    74 msgid "API/SERVER SETTINGS"
    75 msgstr ""
    76 
    77 #: source/work/doc.php:24, source/work/doc.php:24, source/work/doc.php:30, source/work/doc.php:57, source/work/doc.php:177, source/work/doc.php:278, source/work/doc.php:296
    78 msgid "CRON Action SETTINGS"
    79 msgstr ""
    80 
    81 #: source/work/doc.php:24, source/work/doc.php:30, source/work/doc.php:57, source/work/doc.php:177, source/work/doc.php:278, source/work/doc.php:296
    82 msgid "IN THE WORKS"
    83 msgstr ""
    84 
    85 #: source/work/doc.php:25
    86 msgid "This plugin attempts to purge all server-side caching methods"
    87 msgstr ""
    88 
    89 #: source/work/doc.php:26
    90 msgid "This includes the most common caching plugins, some hosting based caches, most server based caches, built-in Wordpress object caches, and even simple file based caches"
    91 msgstr ""
    92 
    93 #: source/work/doc.php:27
    94 msgid "Just configure what you want to purge on, and the plugin will take care of the rest"
    95 msgstr ""
    96 
    97 #: source/work/doc.php:28
    98 msgid "We have also included a CLI cache purger.  Shell into your install and run the following command:"
    99 msgstr ""
    100 
    101 #: source/work/doc.php:28
    102 msgid "The normal CLI flags apply, and if you are in a multisite, you must include the --url flag."
    103 msgstr ""
    104 
    105 #: source/work/doc.php:29
    106 msgid "Features"
    107 msgstr ""
    108 
    109 #: source/work/doc.php:31
    110 msgid "Built in automatic cache purging for the following caches"
    111 msgstr ""
    112 
    113 #: source/work/doc.php:33
    114 msgid "Plugins/Themes"
    115 msgstr ""
    116 
    117 #: source/work/doc.php:35
    118 msgid "Flying Press"
    119 msgstr ""
    120 
    121 #: source/work/doc.php:35
    122 msgid "SiteGround Optimizer"
    123 msgstr ""
    124 
    125 #: source/work/doc.php:35
    126 msgid "Nginx Helper"
    127 msgstr ""
    128 
    129 #: source/work/doc.php:35
    130 msgid "LiteSpeed Cache"
    131 msgstr ""
    132 
    133 #: source/work/doc.php:35
    134 msgid "Cachify"
    135 msgstr ""
    136 
    137 #: source/work/doc.php:35
    138 msgid "Autoptimize"
    139 msgstr ""
    140 
    141 #: source/work/doc.php:35
    142 msgid "Fast Velocity Minify"
    143 msgstr ""
    144 
    145 #: source/work/doc.php:35
    146 msgid "WP Rocket"
    147 msgstr ""
    148 
    149 #: source/work/doc.php:35
    150 msgid "Swift Performance"
    151 msgstr ""
    152 
    153 #: source/work/doc.php:35
    154 msgid "Comet Cache"
    155 msgstr ""
    156 
    157 #: source/work/doc.php:35
    158 msgid "Hummingbird"
    159 msgstr ""
    160 
    161 #: source/work/doc.php:35
    162 msgid "WP Fastest Cache"
    163 msgstr ""
    164 
    165 #: source/work/doc.php:35
    166 msgid "WP Super Cache"
    167 msgstr ""
    168 
    169 #: source/work/doc.php:35
    170 msgid "W3 Total Cache"
    171 msgstr ""
    172 
    173 #: source/work/doc.php:35
    174 msgid "Hyper Cache"
    175 msgstr ""
    176 
    177 #: source/work/doc.php:35
    178 msgid "WP Optimize"
    179 msgstr ""
    180 
    181 #: source/work/doc.php:35
    182 msgid "Cache Enabler"
    183 msgstr ""
    184 
    185 #: source/work/doc.php:35
    186 msgid "Divi"
    187 msgstr ""
    188 
    189 #: source/work/doc.php:35
    190 msgid "Elementor"
    191 msgstr ""
    192 
    193 #: source/work/doc.php:38
    194 msgid "Hosting / CDN"
    195 msgstr ""
    196 
    197 #: source/work/doc.php:40
    198 msgid "WPEngine"
    199 msgstr ""
    200 
    201 #: source/work/doc.php:40
    202 msgid "SpinupWP"
    203 msgstr ""
    204 
    205 #: source/work/doc.php:40
    206 msgid "Kinsta"
    207 msgstr ""
    208 
    209 #: source/work/doc.php:40
    210 msgid "GoDaddy"
    211 msgstr ""
    212 
    213 #: source/work/doc.php:40
    214 msgid "Pantheon"
    215 msgstr ""
    216 
    217 #: source/work/doc.php:40
    218 msgid "CloudFlare"
    219 msgstr ""
    220 
    221 #: source/work/doc.php:40
    222 msgid "Sucuri"
    223 msgstr ""
    224 
    225 #: source/work/doc.php:40
    226 msgid "RunCloud"
    227 msgstr ""
    228 
    229 #: source/work/doc.php:40
    230 msgid "Siteground"
    231 msgstr ""
    232 
    233 #: source/work/doc.php:40
    234 msgid "Bluehost"
    235 msgstr ""
    236 
    237 #: source/work/doc.php:40
    238 msgid "Breezeway"
    239 msgstr ""
    240 
    241 #: source/work/doc.php:41
    242 msgid "Some of these are dependant on separate plugins.  Please see your provider if it is necessary, or already included"
    243 msgstr ""
    244 
    245 #: source/work/doc.php:44
    246 msgid "Server Based"
    247 msgstr ""
    248 
    249 #: source/work/doc.php:46
    250 msgid "Fastly CDN"
    251 msgstr ""
    252 
    253 #: source/work/doc.php:46
    254 msgid "PHP FPM"
    255 msgstr ""
    256 
    257 #: source/work/doc.php:46
    258 msgid "Zend Opcache"
    259 msgstr ""
    260 
    261 #: source/work/doc.php:46
    262 msgid "APC and APCU"
    263 msgstr ""
    264 
    265 #: source/work/doc.php:46
    266 msgid "WinCache"
    267 msgstr ""
    268 
    269 #: source/work/doc.php:46
    270 msgid "Pagespeed Module"
    271 msgstr ""
    272 
    273 #: source/work/doc.php:46
    274 msgid "Memcache"
    275 msgstr ""
    276 
    277 #: source/work/doc.php:46
    278 msgid "Memcached"
    279 msgstr ""
    280 
    281 #: source/work/doc.php:46
    282 msgid "Redis"
    283 msgstr ""
    284 
    285 #: source/work/doc.php:46
    286 msgid "nGinx"
    287 msgstr ""
    288 
    289 #: source/work/doc.php:46
    290 msgid "Static File Caches"
    291 msgstr ""
    292 
    293 #: source/work/doc.php:49
    294 msgid "Wordpress Built-In"
    295 msgstr ""
    296 
    297 #: source/work/doc.php:49
    298 msgid "object caching and persistent object caching"
    299 msgstr ""
    300 
    301 #: source/work/doc.php:52
    302 msgid "Purges are configurable in the settings, and include the following saves/updates/trashes:"
    303 msgstr ""
    304 
    305 #: source/work/doc.php:54
    306 msgid "Posts"
    307 msgstr ""
    308 
    309 #: source/work/doc.php:54
    310 msgid "Pages"
    311 msgstr ""
    312 
    313 #: source/work/doc.php:54
    314 msgid "Custom Post Types"
    315 msgstr ""
    316 
    317 #: source/work/doc.php:54
    318 msgid "Categories"
    319 msgstr ""
    320 
    321 #: source/work/doc.php:54
    322 msgid "Taxonomies"
    323 msgstr ""
    324 
    325 #: source/work/doc.php:54
    326 msgid "Widgets"
    327 msgstr ""
    328 
    329 #: source/work/doc.php:54
    330 msgid "Menus"
    331 msgstr ""
    332 
    333 #: source/work/doc.php:54
    334 msgid "Plugins"
    335 msgstr ""
    336 
    337 #: source/work/doc.php:54
    338 msgid "Updates"
    339 msgstr ""
    340 
    341 #: source/work/doc.php:54
    342 msgid "Settings & Options"
    343 msgstr ""
    344 
    345 #: source/work/doc.php:54
    346 msgid "GravityForms"
    347 msgstr ""
    348 
    349 #: source/work/doc.php:54, source/work/doc.php:54, source/work/doc.php:54
    350 msgid "if installed and activated"
    351 msgstr ""
    352 
    353 #: source/work/doc.php:54
    354 msgid "Advanced Custom Fields"
    355 msgstr ""
    356 
    357 #: source/work/doc.php:54
    358 msgid "WooCommerce Settings"
    359 msgstr ""
    360 
    361 #: source/work/doc.php:56, source/work/inc/kp-cache-purge-admin.php:75
    362 msgid "Settings"
    363 msgstr ""
    364 
    365 #: source/work/doc.php:60, source/work/inc/kp-cache-purge-admin.php:577
    366 msgid "Log Purge Actions?"
    367 msgstr ""
    368 
    369 #: source/work/doc.php:62, source/work/doc.php:69, source/work/doc.php:76, source/work/doc.php:83, source/work/doc.php:90, source/work/doc.php:97, source/work/doc.php:104, source/work/doc.php:111, source/work/doc.php:118, source/work/doc.php:125, source/work/doc.php:132, source/work/doc.php:139, source/work/doc.php:146, source/work/doc.php:154, source/work/doc.php:162, source/work/doc.php:170, source/work/doc.php:182, source/work/doc.php:189, source/work/doc.php:196, source/work/doc.php:203, source/work/doc.php:210, source/work/doc.php:217, source/work/doc.php:224, source/work/doc.php:231, source/work/doc.php:238, source/work/doc.php:248, source/work/doc.php:255, source/work/doc.php:262, source/work/doc.php:269, source/work/doc.php:283, source/work/doc.php:290
    370 msgid "Option(s) Name:"
    371 msgstr ""
    372 
    373 #: source/work/doc.php:63
    374 msgid "Do you want to log purge actions?  The log file will be located here:"
    375 msgstr ""
    376 
    377 #: source/work/doc.php:67
    378 msgid "Purge on Menu?"
    379 msgstr ""
    380 
    381 #: source/work/doc.php:70
    382 msgid "This will attempt to purge all caches for every menu update, save, or delete."
    383 msgstr ""
    384 
    385 #: source/work/doc.php:74
    386 msgid "Purge on Post?"
    387 msgstr ""
    388 
    389 #: source/work/doc.php:77
    390 msgid "This will attempt to purge all caches for every post update, save, or delete."
    391 msgstr ""
    392 
    393 #: source/work/doc.php:81, source/work/inc/kp-cache-purge-admin.php:615
    394 msgid "Ignored Posts"
    395 msgstr ""
    396 
    397 #: source/work/doc.php:84
    398 msgid "Select the posts you wish to ignore from the cache purge actions."
    399 msgstr ""
    400 
    401 #: source/work/doc.php:88
    402 msgid "Purge on Page?"
    403 msgstr ""
    404 
    405 #: source/work/doc.php:91
    406 msgid "This will attempt to purge all caches for every page update, save, or delete."
    407 msgstr ""
    408 
    409 #: source/work/doc.php:95, source/work/inc/kp-cache-purge-admin.php:638
    410 msgid "Ignored Pages"
    411 msgstr ""
    412 
    413 #: source/work/doc.php:98
    414 msgid "Select the pages you wish to ignore from the cache purge actions."
    415 msgstr ""
    416 
    417 #: source/work/doc.php:102
    418 msgid "Purge on CPT?"
    419 msgstr ""
    420 
    421 #: source/work/doc.php:105
    422 msgid "This will attempt to purge all caches for every custom post type update, save, or delete."
    423 msgstr ""
    424 
    425 #: source/work/doc.php:109
    426 msgid "Ignore CPT"
    427 msgstr ""
    428 
    429 #: source/work/doc.php:112
    430 msgid "Select the custom post types you wish to ignore from the cache purge actions."
    431 msgstr ""
    432 
    433 #: source/work/doc.php:116
    434 msgid "Purge on Term/Taxonomy?"
    435 msgstr ""
    436 
    437 #: source/work/doc.php:119
    438 msgid "This will attempt to purge all caches for every taxonomy/term update, save, or delete."
    439 msgstr ""
    440 
    441 #: source/work/doc.php:123
    442 msgid "Purge on Category?"
    443 msgstr ""
    444 
    445 #: source/work/doc.php:126
    446 msgid "This will attempt to purge all caches for every category update, save, or delete."
    447 msgstr ""
    448 
    449 #: source/work/doc.php:130
    450 msgid "Purge on Widget?"
    451 msgstr ""
    452 
    453 #: source/work/doc.php:133
    454 msgid "This will attempt to purge all caches for every widget update, save, or removal."
    455 msgstr ""
    456 
    457 #: source/work/doc.php:137
    458 msgid "Purge on Customizer?"
    459 msgstr ""
    460 
    461 #: source/work/doc.php:140
    462 msgid "This will attempt to purge all caches for every customizer update or save."
    463 msgstr ""
    464 
    465 #: source/work/doc.php:144
    466 msgid "Purge on GravityForms?"
    467 msgstr ""
    468 
    469 #: source/work/doc.php:147
    470 msgid "This will attempt to purge all caches for every form update, save, or delete."
    471 msgstr ""
    472 
    473 #: source/work/doc.php:148, source/work/doc.php:156
    474 msgid "This option is only available if you have GravityForms installed and active on your site."
    475 msgstr ""
    476 
    477 #: source/work/doc.php:152
    478 msgid "Ignore Forms"
    479 msgstr ""
    480 
    481 #: source/work/doc.php:155
    482 msgid "Select the forms you wish to ignore from the cache purge actions."
    483 msgstr ""
    484 
    485 #: source/work/doc.php:160
    486 msgid "Purge on ACF?"
    487 msgstr ""
    488 
    489 #: source/work/doc.php:163
    490 msgid "This will attempt to purge all caches for every \"advanced custom field\" group update, save, or delete."
    491 msgstr ""
    492 
    493 #: source/work/doc.php:164, source/work/doc.php:172
    494 msgid "This option is only available if you have Advanced Custom Fields installed and active on your site."
    495 msgstr ""
    496 
    497 #: source/work/doc.php:168
    498 msgid "Ignore Field Group"
    499 msgstr ""
    500 
    501 #: source/work/doc.php:171
    502 msgid "Select the field groups you wish to ignore from the cache purge actions."
    503 msgstr ""
    504 
    505 #: source/work/doc.php:176
    506 msgid "API/SERVER Settings"
    507 msgstr ""
    508 
    509 #: source/work/doc.php:180
    510 msgid "Remote Redis Server"
    511 msgstr ""
    512 
    513 #: source/work/doc.php:183
    514 msgid "Do you want to configure Redis servers to be purged?"
    515 msgstr ""
    516 
    517 #: source/work/doc.php:187
    518 msgid "Redis Servers - Server"
    519 msgstr ""
    520 
    521 #: source/work/doc.php:190, source/work/doc.php:211, source/work/doc.php:232
    522 msgid "Insert the servers IP address."
    523 msgstr ""
    524 
    525 #: source/work/doc.php:194
    526 msgid "Redis Servers - Port"
    527 msgstr ""
    528 
    529 #: source/work/doc.php:197, source/work/doc.php:218, source/work/doc.php:239
    530 msgid "Insert the servers port."
    531 msgstr ""
    532 
    533 #: source/work/doc.php:201
    534 msgid "Remote Memcache Server"
    535 msgstr ""
    536 
    537 #: source/work/doc.php:204
    538 msgid "Do you want to configure Memcache servers to be purged?"
    539 msgstr ""
    540 
    541 #: source/work/doc.php:208
    542 msgid "Memcache Servers - Server"
    543 msgstr ""
    544 
    545 #: source/work/doc.php:215
    546 msgid "Memcache Servers - Port"
    547 msgstr ""
    548 
    549 #: source/work/doc.php:222
    550 msgid "Remote Memcached Server"
    551 msgstr ""
    552 
    553 #: source/work/doc.php:225
    554 msgid "Do you want to configure Memcached servers to be purged?"
    555 msgstr ""
    556 
    557 #: source/work/doc.php:229
    558 msgid "Memcached Servers - Server"
    559 msgstr ""
    560 
    561 #: source/work/doc.php:236
    562 msgid "Memcached Servers - Port"
    563 msgstr ""
    564 
    565 #: source/work/doc.php:243, source/work/inc/kp-cache-purge-admin.php:457
    566 msgid "Service API Keys"
    567 msgstr ""
    568 
    569 #: source/work/doc.php:246, source/work/inc/kp-cache-purge-admin.php:465
    570 msgid "Cloudflare Token"
    571 msgstr ""
    572 
    573 #: source/work/doc.php:249, source/work/inc/kp-cache-purge-admin.php:466
    574 msgid "Enter your Cloudflare API Token. If you do not have one, you can create one here: <a href=\"https://dash.cloudflare.com/profile/api-tokens\" target=\"_blank\">https://dash.cloudflare.com/profile/api-tokens</a><br /><strong>NOTE: </strong>This is stored in plain-text."
    575 msgstr ""
    576 
    577 #: source/work/doc.php:253, source/work/inc/kp-cache-purge-admin.php:475
    578 msgid "Cloudflare Zone"
    579 msgstr ""
    580 
    581 #: source/work/doc.php:256, source/work/inc/kp-cache-purge-admin.php:476
    582 msgid "Enter your Cloudflare Zone ID. You can find this by clicking into your websites overview in your account: <a href=\"https://dash.cloudflare.com/\" target=\"_blank\">https://dash.cloudflare.com/</a><br /><strong>NOTE: </strong>This is stored in plain-text."
    583 msgstr ""
    584 
    585 #: source/work/doc.php:260, source/work/inc/kp-cache-purge-admin.php:485
    586 msgid "Sucuri Key"
    587 msgstr ""
    588 
    589 #: source/work/doc.php:263, source/work/inc/kp-cache-purge-admin.php:486
    590 msgid "Enter your Sucuri API Key. If you do not have one, you can find it in your site's Firewall here: <a href=\"https://waf.sucuri.net/\" target=\"_blank\">https://waf.sucuri.net/</a>. Click into your site, then Settings, then API.<br /><strong>NOTE: </strong>This is stored in plain-text."
    591 msgstr ""
    592 
    593 #: source/work/doc.php:267, source/work/inc/kp-cache-purge-admin.php:495
    594 msgid "Sucuri Secret"
    595 msgstr ""
    596 
    597 #: source/work/doc.php:270, source/work/inc/kp-cache-purge-admin.php:496
    598 msgid "Enter your Sucuri API Secret. If you do not have one, you can find it in your site's Firewall here: <a href=\"https://waf.sucuri.net/\" target=\"_blank\">https://waf.sucuri.net/</a>. Click into your site, then Settings, then API.<br /><strong>NOTE: </strong>This is stored in plain-text."
    599 msgstr ""
    600 
    601 #: source/work/doc.php:277, source/work/inc/kp-cache-purge-admin.php:91
    602 msgid "CRON Action Settings"
    603 msgstr ""
    604 
    605 #: source/work/doc.php:281
    606 msgid "Allow Scheduled Purges?"
    607 msgstr ""
    608 
    609 #: source/work/doc.php:284
    610 msgid "Should the cached be purged based on a Wordpress Cron schedule?"
    611 msgstr ""
    612 
    613 #: source/work/doc.php:288
    614 msgid "Built-In Schedule"
    615 msgstr ""
    616 
    617 #: source/work/doc.php:291
    618 msgid "Select a built-in schedule to purge the caches on."
    619 msgstr ""
    620 
    621 #: source/work/doc.php:295
    622 msgid "In The Works"
    623 msgstr ""
    624 
    625 #: source/work/doc.php:298
    626 msgid "WooCommerce Product Updates (<em>and exclusions</em>)"
    627 msgstr ""
    628 
    629 #: source/work/doc.php:299
    630 msgid "WooCommerce Order Updates"
    631 msgstr ""
    632 
    633 #: source/work/doc.php:300
    634 msgid "More Plugin References"
    635 msgstr ""
    636 
    637 #: source/work/doc.php:301
    638 msgid "More Hosting References"
    639 msgstr ""
    640 
    641 #: source/work/inc/kp-cache-purge-admin.php:58
    642 msgid "The Cache Purge"
    643 msgstr ""
    644 
    645 #: source/work/inc/kp-cache-purge-admin.php:68
    646 msgid "The Cache Purger <small>by Kevin C. Pirnie</small>"
    647 msgstr ""
    648 
    649 #: source/work/inc/kp-cache-purge-admin.php:83
    650 msgid "API/Server Settings"
    651 msgstr ""
    652 
    653 #: source/work/inc/kp-cache-purge-admin.php:108
    654 msgid "The Purge Log"
    655 msgstr ""
    656 
    657 #: source/work/inc/kp-cache-purge-admin.php:123
    658 msgid "Documentation"
    659 msgstr ""
    660 
    661 #: source/work/inc/kp-cache-purge-admin.php:136
    662 msgid "Export/Import Settings"
    663 msgstr ""
    664 
    665 #: source/work/inc/kp-cache-purge-admin.php:194
    666 msgid "Master Cache Purge"
    667 msgstr ""
    668 
    669 #: source/work/inc/kp-cache-purge-admin.php:196
    670 msgid "Click here to purge all of your caches."
    671 msgstr ""
    672 
    673 #: source/work/inc/kp-cache-purge-admin.php:238
    674 msgid "Purge the log?"
    675 msgstr ""
    676 
    677 #: source/work/inc/kp-cache-purge-admin.php:239
    678 msgid "Do you want to allow scheduled log purges?"
    679 msgstr ""
    680 
    681 #: source/work/inc/kp-cache-purge-admin.php:247, source/work/inc/kp-cache-purge-admin.php:271
    682 msgid "Purge Schedule"
    683 msgstr ""
    684 
    685 #: source/work/inc/kp-cache-purge-admin.php:248, source/work/inc/kp-cache-purge-admin.php:272
    686 msgid "Select a purge schedule to use."
    687 msgstr ""
    688 
    689 #: source/work/inc/kp-cache-purge-admin.php:262
    690 msgid "Scheduled your Purges?"
    691 msgstr ""
    692 
    693 #: source/work/inc/kp-cache-purge-admin.php:263
    694 msgid "Do you want schedule cache purges?"
    695 msgstr ""
    696 
    697 #: source/work/inc/kp-cache-purge-admin.php:309
    698 msgid "Remote Redis server?"
    699 msgstr ""
    700 
    701 #: source/work/inc/kp-cache-purge-admin.php:310
    702 msgid "Please only switch this on if you utilize remote Redis Servers."
    703 msgstr ""
    704 
    705 #: source/work/inc/kp-cache-purge-admin.php:318
    706 msgid "Redis Servers"
    707 msgstr ""
    708 
    709 #: source/work/inc/kp-cache-purge-admin.php:321, source/work/inc/kp-cache-purge-admin.php:389, source/work/inc/kp-cache-purge-admin.php:429
    710 msgid "Add New Server"
    711 msgstr ""
    712 
    713 #: source/work/inc/kp-cache-purge-admin.php:328, source/work/inc/kp-cache-purge-admin.php:396, source/work/inc/kp-cache-purge-admin.php:436
    714 msgid "Server"
    715 msgstr ""
    716 
    717 #: source/work/inc/kp-cache-purge-admin.php:331, source/work/inc/kp-cache-purge-admin.php:399, source/work/inc/kp-cache-purge-admin.php:439
    718 msgid "Enter the IP address of the server."
    719 msgstr ""
    720 
    721 #: source/work/inc/kp-cache-purge-admin.php:337, source/work/inc/kp-cache-purge-admin.php:405, source/work/inc/kp-cache-purge-admin.php:445
    722 msgid "Port"
    723 msgstr ""
    724 
    725 #: source/work/inc/kp-cache-purge-admin.php:340, source/work/inc/kp-cache-purge-admin.php:408, source/work/inc/kp-cache-purge-admin.php:448
    726 msgid "Enter the Port number of the server."
    727 msgstr ""
    728 
    729 #: source/work/inc/kp-cache-purge-admin.php:346
    730 msgid "Username"
    731 msgstr ""
    732 
    733 #: source/work/inc/kp-cache-purge-admin.php:349
    734 msgid "Enter your redis username"
    735 msgstr ""
    736 
    737 #: source/work/inc/kp-cache-purge-admin.php:354
    738 msgid "Password"
    739 msgstr ""
    740 
    741 #: source/work/inc/kp-cache-purge-admin.php:358
    742 msgid "Enter your redis password"
    743 msgstr ""
    744 
    745 #: source/work/inc/kp-cache-purge-admin.php:364
    746 msgid "Database ID"
    747 msgstr ""
    748 
    749 #: source/work/inc/kp-cache-purge-admin.php:367
    750 msgid "Enter your database ID"
    751 msgstr ""
    752 
    753 #: source/work/inc/kp-cache-purge-admin.php:377
    754 msgid "Remote Memcache server?"
    755 msgstr ""
    756 
    757 #: source/work/inc/kp-cache-purge-admin.php:378
    758 msgid "Please only switch this on if you utilize remote Memcache Servers."
    759 msgstr ""
    760 
    761 #: source/work/inc/kp-cache-purge-admin.php:386
    762 msgid "Memcache Servers"
    763 msgstr ""
    764 
    765 #: source/work/inc/kp-cache-purge-admin.php:417
    766 msgid "Remote Memcached server?"
    767 msgstr ""
    768 
    769 #: source/work/inc/kp-cache-purge-admin.php:418
    770 msgid "Please only switch this on if you utilize remote Memcached Servers."
    771 msgstr ""
    772 
    773 #: source/work/inc/kp-cache-purge-admin.php:426
    774 msgid "Memcached Servers"
    775 msgstr ""
    776 
    777 #: source/work/inc/kp-cache-purge-admin.php:458
    778 msgid "These are all optional, and only necessary if you do not have the service's plugin installed on your site, but their caches are still used.<br /><br />Please consult with your hosting provider or IT Team if you do not know if they are in use."
    779 msgstr ""
    780 
    781 #: source/work/inc/kp-cache-purge-admin.php:505
    782 msgid "Fastly Token"
    783 msgstr ""
    784 
    785 #: source/work/inc/kp-cache-purge-admin.php:506
    786 msgid "Enter your Fastly CDN Token. If you do not have one, you can find it in your account here: <a href=\"https://manage.fastly.com/account/personal/tokens\" target=\"_blank\">https://manage.fastly.com/account/personal/tokens</a>. You will need to make sure to select a service when you create your token.<br /><strong>NOTE: </strong>This is stored in plain-text."
    787 msgstr ""
    788 
    789 #: source/work/inc/kp-cache-purge-admin.php:515
    790 msgid "Fastly Service ID"
    791 msgstr ""
    792 
    793 #: source/work/inc/kp-cache-purge-admin.php:516
    794 msgid "Enter your Fastly Service ID. If you do not have one, you can find it in your account here: <a href=\"https://manage.fastly.com/account/tokens\" target=\"_blank\">https://manage.fastly.com/account/tokens</a>. You will need to make sure to select a service when you create your token.<br /><strong>NOTE: </strong>This is stored in plain-text."
    795 msgstr ""
    796 
    797 #: source/work/inc/kp-cache-purge-admin.php:558
    798 msgid "Caches To Purge"
    799 msgstr ""
    800 
    801 #: source/work/inc/kp-cache-purge-admin.php:559
    802 msgid "Select which caches should be purged?"
    803 msgstr ""
    804 
    805 #: source/work/inc/kp-cache-purge-admin.php:562
    806 msgid "Plugin Caches"
    807 msgstr ""
    808 
    809 #: source/work/inc/kp-cache-purge-admin.php:563
    810 msgid "Wordpress Caches"
    811 msgstr ""
    812 
    813 #: source/work/inc/kp-cache-purge-admin.php:564
    814 msgid "Server Caches"
    815 msgstr ""
    816 
    817 #: source/work/inc/kp-cache-purge-admin.php:565
    818 msgid "Memory Caches"
    819 msgstr ""
    820 
    821 #: source/work/inc/kp-cache-purge-admin.php:566
    822 msgid "API Caches"
    823 msgstr ""
    824 
    825 #: source/work/inc/kp-cache-purge-admin.php:586
    826 msgid "Purge on settings save?"
    827 msgstr ""
    828 
    829 #: source/work/inc/kp-cache-purge-admin.php:587
    830 msgid "This will attempt to purge all configured caches for settings save actions.<br /><strong>NOTE:</strong>You need to hard refresh this page after saving this setting in order for this to take effect."
    831 msgstr ""
    832 
    833 #: source/work/inc/kp-cache-purge-admin.php:595
    834 msgid "Purge on Menu Save/Delete?"
    835 msgstr ""
    836 
    837 #: source/work/inc/kp-cache-purge-admin.php:596
    838 msgid "This will attempt to purge all configured caches for every menu update, save, or delete."
    839 msgstr ""
    840 
    841 #: source/work/inc/kp-cache-purge-admin.php:604
    842 msgid "Purge on Post Save/Delete?"
    843 msgstr ""
    844 
    845 #: source/work/inc/kp-cache-purge-admin.php:605
    846 msgid "This will attempt to purge all configured caches for every post update, save, or delete."
    847 msgstr ""
    848 
    849 #: source/work/inc/kp-cache-purge-admin.php:616
    850 msgid "Please select the posts to ignore..."
    851 msgstr ""
    852 
    853 #: source/work/inc/kp-cache-purge-admin.php:617
    854 msgid "Posts to ignore from the purger. This will simply ignore the purge action when the selected posts get updated."
    855 msgstr ""
    856 
    857 #: source/work/inc/kp-cache-purge-admin.php:627
    858 msgid "Purge on Page Save/Delete?"
    859 msgstr ""
    860 
    861 #: source/work/inc/kp-cache-purge-admin.php:628
    862 msgid "This will attempt to purge all configured caches for every page update, save, or delete."
    863 msgstr ""
    864 
    865 #: source/work/inc/kp-cache-purge-admin.php:639
    866 msgid "Please select the pages to ignore..."
    867 msgstr ""
    868 
    869 #: source/work/inc/kp-cache-purge-admin.php:640
    870 msgid "Pages to ignore from the purger. This will simply ignore the purge action when the selected pages get updated."
    871 msgstr ""
    872 
    873 #: source/work/inc/kp-cache-purge-admin.php:650
    874 msgid "Purge on Custom Post Type Save/Delete?"
    875 msgstr ""
    876 
    877 #: source/work/inc/kp-cache-purge-admin.php:651
    878 msgid "This will attempt to purge all configured caches for every custom post type update, save, or delete."
    879 msgstr ""
    880 
    881 #: source/work/inc/kp-cache-purge-admin.php:661
    882 msgid "Ignored CPTs"
    883 msgstr ""
    884 
    885 #: source/work/inc/kp-cache-purge-admin.php:662
    886 msgid "Please select the cpts to ignore..."
    887 msgstr ""
    888 
    889 #: source/work/inc/kp-cache-purge-admin.php:663
    890 msgid "CPTs to ignore from the purger. This will simply ignore the purge action when the selected CPT get updated."
    891 msgstr ""
    892 
    893 #: source/work/inc/kp-cache-purge-admin.php:673
    894 msgid "Purge on Taxonomy/Term Save/Delete?"
    895 msgstr ""
    896 
    897 #: source/work/inc/kp-cache-purge-admin.php:674
    898 msgid "This will attempt to purge all configured caches for every taxonomy/term update, save, or delete."
    899 msgstr ""
    900 
    901 #: source/work/inc/kp-cache-purge-admin.php:682
    902 msgid "Purge on Category Save/Delete?"
    903 msgstr ""
    904 
    905 #: source/work/inc/kp-cache-purge-admin.php:683
    906 msgid "This will attempt to purge all configured caches for every category update, save, or delete."
    907 msgstr ""
    908 
    909 #: source/work/inc/kp-cache-purge-admin.php:691
    910 msgid "Purge on Widget Save/Delete?"
    911 msgstr ""
    912 
    913 #: source/work/inc/kp-cache-purge-admin.php:692
    914 msgid "This will attempt to purge all configured caches for every widget update, save, or delete."
    915 msgstr ""
    916 
    917 #: source/work/inc/kp-cache-purge-admin.php:700
    918 msgid "Purge on Customizer Save?"
    919 msgstr ""
    920 
    921 #: source/work/inc/kp-cache-purge-admin.php:701
    922 msgid "This will attempt to purge all configured caches for every customizer update or save."
    923 msgstr ""
    924 
    925 #: source/work/inc/kp-cache-purge-admin.php:714
    926 msgid "Purge on Form Save/Delete?"
    927 msgstr ""
    928 
    929 #: source/work/inc/kp-cache-purge-admin.php:715
    930 msgid "This will attempt to purge all configured caches for every form update, save, or delete."
    931 msgstr ""
    932 
    933 #: source/work/inc/kp-cache-purge-admin.php:725
    934 msgid "Ignored Forms"
    935 msgstr ""
    936 
    937 #: source/work/inc/kp-cache-purge-admin.php:726
    938 msgid "Please select the forms to ignore..."
    939 msgstr ""
    940 
    941 #: source/work/inc/kp-cache-purge-admin.php:727
    942 msgid "Forms to ignore from the purger. This will simply ignore the purge action when the selected forms get updated."
    943 msgstr ""
    944 
    945 #: source/work/inc/kp-cache-purge-admin.php:742
    946 msgid "Purge on ACF Save/Delete?"
    947 msgstr ""
    948 
    949 #: source/work/inc/kp-cache-purge-admin.php:743
    950 msgid "This will attempt to purge all configured caches for every \"advanced custom field\" group update, save, or delete."
    951 msgstr ""
    952 
    953 #: source/work/inc/kp-cache-purge-admin.php:753
    954 msgid "Ignored Field Groups"
    955 msgstr ""
    956 
    957 #: source/work/inc/kp-cache-purge-admin.php:754
    958 msgid "Please select the field groupd to ignore..."
    959 msgstr ""
    960 
    961 #: source/work/inc/kp-cache-purge-admin.php:755
    962 msgid "Field Groups to ignore from the purger. This will simply ignore the purge action when the selected field groups get updated."
    963 msgstr ""
    964 
    965 #: source/work/inc/kp-cache-purge-admin.php:873, source/work/inc/kp-cache-purge-admin.php:918
    966 msgid " -- None -- "
    967 msgstr ""
  • the-cache-purger/trunk/readme.txt

    r3296444 r3309228  
    55Requires at least: 5.6
    66Tested up to: 6.9
    7 Requires PHP: 7.4
    8 Stable tag: 2.1.01
     7Requires PHP: 8.1
     8Stable tag: 2.1.36
    99License: GPLv3
    1010License URI: https://www.gnu.org/licenses/gpl-3.0.html
     
    6868
    6969== Changelog ==
     70
     71= 2.1.36 =
     72* Update: vendor libraries
     73* Update: PHP 8.1 requirement
     74* Remove: CLI clearing
     75* Restructure: Common functionality
     76  * Better structured for me, slightly better purging performance
     77* Add: Redis prefix/key
     78* Fix: Redis Database flush
     79* Fix: load_textdomain notice
    7080
    7181= 2.1.01 =
  • the-cache-purger/trunk/the-cache-purger.php

    r3296444 r3309228  
    88Plugin URI:     https://kevinpirnie.com
    99Description:    Plugin attemps to clear all plugin based and server based caches.
    10 Version:        2.1.01
    11 Requires PHP:   7.4
     10Version:        2.1.36
     11Requires PHP:   8.1
    1212Network:        false
    1313Author:         Kevin C Pirnie
  • the-cache-purger/trunk/uninstall.php

    r3117223 r3309228  
    55 * Process the uninstalling of this plugin
    66 *
    7  * @since 7.4
     7 * @since 8.1
    88 * @author Kevin Pirnie <[email protected]>
    99 * @package The Cache Purger
  • the-cache-purger/trunk/vendor/composer/autoload_classmap.php

    r3296444 r3309228  
    10291029    'KP_Cache_Purge' => $baseDir . '/work/inc/kp-cache-purge.php',
    10301030    'KP_Cache_Purge_Admin' => $baseDir . '/work/inc/kp-cache-purge-admin.php',
    1031     'KP_Cache_Purge_CLI' => $baseDir . '/cli/kp-cache-purge-cli.php',
    10321031    'KP_Cache_Purge_Common' => $baseDir . '/work/inc/kp-cache-purge-common.php',
    10331032    'KP_Cache_Purge_Processor' => $baseDir . '/work/inc/kp-cache-purge-processor.php',
  • the-cache-purger/trunk/vendor/composer/autoload_static.php

    r3296444 r3309228  
    10821082        'KP_Cache_Purge' => __DIR__ . '/../..' . '/work/inc/kp-cache-purge.php',
    10831083        'KP_Cache_Purge_Admin' => __DIR__ . '/../..' . '/work/inc/kp-cache-purge-admin.php',
    1084         'KP_Cache_Purge_CLI' => __DIR__ . '/../..' . '/cli/kp-cache-purge-cli.php',
    10851084        'KP_Cache_Purge_Common' => __DIR__ . '/../..' . '/work/inc/kp-cache-purge-common.php',
    10861085        'KP_Cache_Purge_Processor' => __DIR__ . '/../..' . '/work/inc/kp-cache-purge-processor.php',
  • the-cache-purger/trunk/vendor/composer/installed.json

    r3296444 r3309228  
    614614        {
    615615            "name": "symfony/deprecation-contracts",
    616             "version": "v3.5.1",
    617             "version_normalized": "3.5.1.0",
     616            "version": "v3.6.0",
     617            "version_normalized": "3.6.0.0",
    618618            "source": {
    619619                "type": "git",
    620620                "url": "https://github.com/symfony/deprecation-contracts.git",
    621                 "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6"
    622             },
    623             "dist": {
    624                 "type": "zip",
    625                 "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6",
    626                 "reference": "74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6",
     621                "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62"
     622            },
     623            "dist": {
     624                "type": "zip",
     625                "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62",
     626                "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62",
    627627                "shasum": ""
    628628            },
     
    630630                "php": ">=8.1"
    631631            },
    632             "time": "2024-09-25T14:20:29+00:00",
     632            "time": "2024-09-25T14:21:43+00:00",
    633633            "type": "library",
    634634            "extra": {
     
    638638                },
    639639                "branch-alias": {
    640                     "dev-main": "3.5-dev"
     640                    "dev-main": "3.6-dev"
    641641                }
    642642            },
     
    664664            "homepage": "https://symfony.com",
    665665            "support": {
    666                 "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.1"
     666                "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0"
    667667            },
    668668            "funding": [
  • the-cache-purger/trunk/vendor/composer/installed.php

    r3296444 r3309228  
    22    'root' => array(
    33        'name' => 'kevinpirnie/the-cache-purger',
    4         'pretty_version' => '1.7.11',
    5         'version' => '1.7.11.0',
     4        'pretty_version' => '1.0.0+no-version-set',
     5        'version' => '1.0.0.0',
    66        'reference' => null,
    77        'type' => 'project',
     
    4848        ),
    4949        'kevinpirnie/the-cache-purger' => array(
    50             'pretty_version' => '1.7.11',
    51             'version' => '1.7.11.0',
     50            'pretty_version' => '1.0.0+no-version-set',
     51            'version' => '1.0.0.0',
    5252            'reference' => null,
    5353            'type' => 'project',
     
    111111        ),
    112112        'symfony/deprecation-contracts' => array(
    113             'pretty_version' => 'v3.5.1',
    114             'version' => '3.5.1.0',
    115             'reference' => '74c71c939a79f7d5bf3c1ce9f5ea37ba0114c6f6',
     113            'pretty_version' => 'v3.6.0',
     114            'version' => '3.6.0.0',
     115            'reference' => '63afe740e99a13ba87ec199bb07bbdee937a5b62',
    116116            'type' => 'library',
    117117            'install_path' => __DIR__ . '/../symfony/deprecation-contracts',
  • the-cache-purger/trunk/vendor/symfony/deprecation-contracts/composer.json

    r3128169 r3309228  
    2626    "extra": {
    2727        "branch-alias": {
    28             "dev-main": "3.5-dev"
     28            "dev-main": "3.6-dev"
    2929        },
    3030        "thanks": {
  • the-cache-purger/trunk/work/common.php

    r3296444 r3309228  
    55 * Setup the common functionality for the plugin
    66 *
    7  * @since 7.4
     7 * @since 8.1
    88 * @author Kevin Pirnie <[email protected]>
    99 * @package The Cache Purger
     
    2020register_activation_hook( $_pi_path, function( $_network ) : void {
    2121       
    22     // check the PHP version, and deny if lower than 7.4
    23     if ( version_compare( PHP_VERSION, '7.4', '<=' ) ) {
     22    // check the PHP version, and deny if lower than 8.1
     23    if ( version_compare( PHP_VERSION, '8.1', '<=' ) ) {
    2424
    2525        // it is, so throw and error message and exit
    26         wp_die( __( '<h1>PHP To Low</h1><p>Due to the nature of this plugin, it cannot be run on lower versions of PHP.</p><p>Please contact your hosting provider to upgrade your site to at least version 7.4.</p>', 'the-cache-purger' ),
    27             __( 'Cannot Activate: PHP To Low', 'the-cache-purger' ),
     26        wp_die( __( '<h1>PHP To Low</h1><p>Due to the nature of this plugin, it cannot be run on lower versions of PHP.</p><p>Please contact your hosting provider to upgrade your site to at least version 8.1.</p>' ),
     27            __( 'Cannot Activate: PHP To Low' ),
    2828            array(
    2929                'back_link' => true,
     
    3737        // we did, so... throw an error message and exit
    3838        wp_die(
    39             __( '<h1>Cannot Network Activate</h1><p>Due to the nature of this plugin, it cannot be network activated.</p><p>Please go back, and activate inside your subsites.</p>', 'the-cache-purger' ),
    40             __( 'Cannot Network Activate', 'the-cache-purger' ),
     39            __( '<h1>Cannot Network Activate</h1><p>Due to the nature of this plugin, it cannot be network activated.</p><p>Please go back, and activate inside your subsites.</p>' ),
     40            __( 'Cannot Network Activate' ),
    4141            array(
    4242                'back_link' => true,
     
    6060    include TCP_PATH . '/vendor/autoload.php';
    6161
    62     // let's see if we're in CLI or not
    63     if( ! defined( 'WP_CLI' ) ) {
     62    // action scheduler not loading workaround
     63    if ( ! class_exists( 'ActionScheduler', false ) || ! ActionScheduler::is_initialized( ) ) {
    6464
    65         // action scheduler not loading workaround
    66         if ( ! class_exists( 'ActionScheduler', false ) || ! ActionScheduler::is_initialized( ) ) {
     65        // require the class
     66        require_once( TCP_PATH . '/vendor/woocommerce/action-scheduler/classes/abstracts/ActionScheduler.php' );
    6767
    68             // require the class
    69             require_once( TCP_PATH . '/vendor/woocommerce/action-scheduler/classes/abstracts/ActionScheduler.php' );
    70 
    71             // no initialize the library
    72             ActionScheduler::init( TCP_PATH . '/vendor/woocommerce/action-scheduler/action-scheduler.php' );
    73 
    74         }
    75 
    76         // set us up a class alias for the common class
    77         class_alias( 'KP_Cache_Purge_Common', 'KPCPC' );
    78 
    79         // hook into the plugins loaded action
    80         add_action( 'plugins_loaded', function( ) : void {
    81 
    82             // initialize the field framework
    83             KPTCP::init( );
    84 
    85         }, PHP_INT_MAX );
    86        
    87         // hook into the custom fields loaded
    88         add_action( 'kptcp_loaded', function( ) : void {
    89 
    90             // fire up the admin class
    91             $_cp_admin = new KP_Cache_Purge_Admin( );
    92 
    93             // do it!
    94             $_cp_admin -> kpcp_admin( );
    95 
    96             // clean it up
    97             unset( $_cp_admin );
    98 
    99         }, PHP_INT_MAX );
    100 
    101         // hack in some styling
    102         add_action( 'admin_enqueue_scripts', function( ) : void {
    103 
    104             // we are, so queue up our unminified assets
    105             wp_register_style( 'kpcp_css', plugins_url( '/assets/css/style.css?_=' . time( ), TCP_PATH . '/' . TCP_FILENAME ), null, null );
    106 
    107             // enqueue it
    108             wp_enqueue_style( 'kpcp_css' );
    109            
    110         }, PHP_INT_MAX );
    111 
    112         // hook into the admin_init
    113         add_action( 'admin_init', function( ) : void {
    114 
    115             // get the querystring for the purge
    116             $_do_purge = filter_var( ( isset( $_GET['the_purge'] ) ) ? sanitize_text_field( $_GET['the_purge'] ) : false, FILTER_VALIDATE_BOOLEAN );
    117        
    118             // if it's true
    119             if( $_do_purge ) {
    120 
    121                 // setup the cache purger
    122                 $_cp = new KP_Cache_Purge( );
    123 
    124                 // purge
    125                 $_cp -> kp_do_purge( );
    126 
    127                 // log the purge
    128                 KPCPC::write_log( "Manual Cache Cleared" );
    129 
    130                 // clean it up
    131                 unset( $_cp );
    132 
    133                 // show an admin message
    134                 add_action( 'admin_notices', function( ) :void {
    135 
    136                     ?>
    137                     <div class="notice notice-success is-dismissible">
    138                         <p><?php _e( "<p>The cache purge has initialized.</p><p>The majority is run in the background, so please wait around 2 minutes for it to complete.</p>", 'the-cache-purger' ); ?></p>
    139                     </div>
    140                     <?php
    141 
    142                 }, PHP_INT_MAX );
    143 
    144             }
    145 
    146             // get the querystring for purging the log
    147             $_do_log_purge = filter_var( ( isset( $_GET['the_log_purge'] ) ) ? sanitize_text_field( $_GET['the_log_purge'] ) : false, FILTER_VALIDATE_BOOLEAN );
    148 
    149             /// make sure we are actually purging the log
    150             if( $_do_log_purge ) {
    151 
    152                 // get the logs path
    153                 $_l_path = ABSPATH . 'wp-content/purge.log';
    154 
    155                 // unfortunately we cannot utilize wordpress's built-in file methods, but let's clear the log
    156                 file_put_contents( $_l_path, '', LOCK_EX );
    157 
    158             }
    159 
    160         }, PHP_INT_MAX );
    161 
    162         // hook into the wordpress initialization
    163         add_action( 'init', function( ) : void {
    164 
    165             // get our options
    166             $_opts = KPCPC::get_options( );
    167 
    168             // get our wp cron info
    169             $_cron_info = wp_get_schedules( );
    170 
    171             // set if it's allowed
    172             $_allowed = filter_var( ( $_opts -> cron_schedule_allowed ) ?? false, FILTER_VALIDATE_BOOLEAN );
    173             $_l_allowed = filter_var( ( $_opts -> should_log ) ?? false, FILTER_VALIDATE_BOOLEAN );
    174             $_lp_allowed = filter_var( ( $_opts -> cron_log_purge_allowed ) ?? false, FILTER_VALIDATE_BOOLEAN );
    175 
    176             // if it is
    177             if( $_allowed ) {
    178 
    179                 // setup our action and create the job for it
    180                 add_action( 'kpcpc_the_purge', 'do_the_actual_purge' );
    181 
    182                 // make sure we're only scheduling this once
    183                 if( ! as_has_scheduled_action( 'kpcpc_the_purge' ) ) {
    184 
    185                     // throw a hook here
    186                     do_action( 'tcp_cron_cache_purge' );
    187 
    188                     // get our schedule options
    189                     $_bi_schedule = ( $_opts -> cron_schedule_builtin ) ?? 'hourly';
    190 
    191                     // schedule the event
    192                     as_schedule_recurring_action( time( ), $_cron_info[ $_bi_schedule ]['interval'], 'kpcpc_the_purge' );
    193 
    194                 }
    195 
    196             }
    197 
    198             // if the log is enabled and if the log purging is allowed, and allowed to be on a schedule
    199             if( $_l_allowed && $_lp_allowed ) {
    200 
    201                 // setup the action to be performed
    202                 add_action( 'kpcpc_the_log_purge', 'do_log_purge' );
    203 
    204                 // make sure we're only scheduling this once
    205                 if( ! as_has_scheduled_action( 'kpcpc_the_log_purge' ) ) {
    206 
    207                     // throw a hook here
    208                     do_action( 'tcp_cron_log_purge' );
    209 
    210                     // get our schedule options
    211                     $_bi_schedule = ( $_opts -> cron_log_purge_schedule ) ?? 'weekly';
    212 
    213                     // schedule the event
    214                     as_schedule_recurring_action( time( ), $_cron_info[ $_bi_schedule ]['interval'], 'kpcpc_the_log_purge' );
    215 
    216                 }
    217 
    218             }
    219 
    220             // see if we're purging
    221             $_is_purging = filter_var( ( get_transient( 'is_doing_cache_purge' ) ) ?? false, FILTER_VALIDATE_BOOLEAN );
    222 
    223             // if we are purging
    224             if( $_is_purging ) {
    225 
    226                 // create a hook for the clearing to occurr in
    227                 add_action( 'kptcp_long_purge', 'do_the_long_purge' );
    228 
    229                 // check if the long purge task already exists
    230                 if( ! as_next_scheduled_action( 'kptcp_long_purge' ) ) {
    231 
    232                     // throw a hook here
    233                     do_action( 'tcp_long_cache_purge' );
    234 
    235                     // schedule it to run once as soon as possible
    236                     as_schedule_single_action( time( ) + 5, 'kptcp_long_purge' );
    237 
    238                 }
    239 
    240             }
    241 
    242         }, PHP_INT_MAX );
    243        
    244         // fire up the processor class here.  Inside it are the proper hooks where the purging will take place
    245         $_processor = new KP_Cache_Purge_Processor( );
    246 
    247         // run the processing
    248         $_processor -> process( );
    249 
    250         // clean up
    251         unset( $_processor );
    252 
    253         // we'll need a message in wp-admin for PHP 8 compatibility
    254         add_action( 'admin_notices', function( ) : void {
    255 
    256             // if the site is under PHP 8.1
    257             if ( version_compare( PHP_VERSION, '8.1', '<=' ) ) {
    258 
    259                 // show this notice
    260                 ?>
    261                 <div class="notice notice-info is-dismissible">
    262                     <p><?php _e( "<h3>PHP Upgrade Notice</h3><p>To maintain optimal security standards, this will be the final version that supports PHP versions lower than 8.1. Your site must be upgraded in order to update the plugin to future versions.</p><p>Please see here for up to date PHP version information: <a href='https://www.php.net/supported-versions.php' target='_blank'>https://www.php.net/supported-versions.php</a></p>", 'the-cache-purger' ); ?></p>
    263                 </div>
    264             <?php
    265             }
    266         }, PHP_INT_MAX );
    267 
    268     // we've hit the CLI, let's make sure we're only processing based on that
    269     } else {
    270 
    271         // just fire up the main CLI class
    272         new KP_Cache_Purge_CLI( );
     68        // no initialize the library
     69        ActionScheduler::init( TCP_PATH . '/vendor/woocommerce/action-scheduler/action-scheduler.php' );
    27370
    27471    }
    27572
    276     function do_the_long_purge( ) : void {
     73    // set us up a class alias for the common class
     74    class_alias( 'KP_Cache_Purge_Common', 'KPCPC' );
    27775
    278         // fire up the cache purge
    279         $_cp = new KP_Cache_Purge( );
    280 
    281         // run the long runner
    282         $_cp -> kp_do_long_purge( );
    283 
    284         // clean up
    285         unset( $_cp );
    286 
    287     }
    288 
    289    
    290     function do_log_purge( ) : void {
    291 
    292         // get the logs path
    293         $_l_path = ABSPATH . 'wp-content/purge.log';
    294 
    295         // unfortunately we cannot utilize wordpress's built-in file methods, but let's clear the log
    296         file_put_contents( $_l_path, '', LOCK_EX );
    297 
    298     }
    299 
    300 
    301     function do_the_actual_purge( ) : void {
    302 
    303         // run the purge!
    304         $_cp = new KP_Cache_Purge( );
    305 
    306         // purge
    307         $_cp -> kp_do_purge( );
    308 
    309         // log the purge
    310         KPCPC::write_log( "CRONJOB Cache Cleared" );
    311 
    312         // clean it up
    313         unset( $_cp );
    314 
    315     }
     76    // initialize the plugin, controls all hooks necessary for both settings and cache clearing
     77    KPCPC::initialize_plugin( );
    31678
    31779}
  • the-cache-purger/trunk/work/doc.php

    r3154520 r3309228  
    55 * The plugin documentation
    66 *
    7  * @since 7.4
     7 * @since 8.1
    88 * @author Kevin Pirnie <[email protected]>
    99 * @package The Cache Purger
     
    1818<article class="kptcp-doc-content" id="kpcp_top">
    1919    <header>
    20         <h1><?php _e( 'The Cache Purger Documentation', 'the-cache-purger' ); ?></h1>
     20        <h1><?php _e( 'The Cache Purger Documentation' ); ?></h1>
    2121    </header>
    2222    <main>
    23         <h2 id="kpcp_desc"><?php _e( 'Description', 'the-cache-purger' ); ?></h2>
    24         <p class="kpcp_nav"><a href="#kpcp_top"><?php _e( 'TOP', 'the-cache-purger' ); ?></a> | <a href="#kpcp_desc"><?php _e( 'DESCRIPTION', 'the-cache-purger' ); ?></a> | <a href="#kpcp_features"><?php _e( 'FEATURES', 'the-cache-purger' ); ?></a> | <a href="#kpcp_settings"><?php _e( 'SETTINGS', 'the-cache-purger' ); ?></a> | <a href="#kpcp_api_settings"><?php _e( 'API/SERVER SETTINGS', 'the-cache-purger' ); ?></a> | <a href="#kpcp_cron_settings"><?php _e( 'CRON Action SETTINGS', 'the-cache-purger' ); ?></a> | <a href="#kpcp_cron_settings"><?php _e( 'CRON Action SETTINGS', 'the-cache-purger' ); ?></a> | <a href="#kpcp_in_the_works"><?php _e( 'IN THE WORKS', 'the-cache-purger' ); ?></a></p>
    25         <p><?php _e( 'This plugin attempts to purge all server-side caching methods', 'the-cache-purger' ); ?>.</p>
    26         <p><?php _e( 'This includes the most common caching plugins, some hosting based caches, most server based caches, built-in Wordpress object caches, and even simple file based caches', 'the-cache-purger' ); ?></p>
    27         <p><?php _e( 'Just configure what you want to purge on, and the plugin will take care of the rest', 'the-cache-purger' ); ?>.</p>
    28         <p><?php _e( 'We have also included a CLI cache purger.  Shell into your install and run the following command:', 'the-cache-purger' ); ?> <code>wp the_cache purge</code>. <?php _e( 'The normal CLI flags apply, and if you are in a multisite, you must include the --url flag.', 'the-cache-purger' ); ?></p>
    29         <h2 id="kpcp_features"><?php _e( 'Features', 'the-cache-purger' ); ?></h2>
    30         <p class="kpcp_nav"><a href="#kpcp_top"><?php _e( 'TOP', 'the-cache-purger' ); ?></a> | <a href="#kpcp_desc"><?php _e( 'DESCRIPTION', 'the-cache-purger' ); ?></a> | <a href="#kpcp_features"><?php _e( 'FEATURES', 'the-cache-purger' ); ?></a> | <a href="#kpcp_settings"><?php _e( 'SETTINGS', 'the-cache-purger' ); ?></a> | <a href="#kpcp_api_settings"><?php _e( 'API/SERVER SETTINGS', 'the-cache-purger' ); ?></a> | <a href="#kpcp_cron_settings"><?php _e( 'CRON Action SETTINGS', 'the-cache-purger' ); ?></a> | <a href="#kpcp_in_the_works"><?php _e( 'IN THE WORKS', 'the-cache-purger' ); ?></a></p>
    31         <h3><?php _e( 'Built in automatic cache purging for the following caches', 'the-cache-purger' ); ?></h3>
    32         <ul>
    33             <li><strong><?php _e( 'Plugins/Themes', 'the-cache-purger' ); ?></strong>
    34                 <ul>
    35                     <li><?php _e( 'Flying Press', 'the-cache-purger' ); ?>, <?php _e( 'SiteGround Optimizer', 'the-cache-purger' ); ?>, <?php _e( 'Nginx Helper', 'the-cache-purger' ); ?>, <?php _e( 'LiteSpeed Cache', 'the-cache-purger' ); ?>, <?php _e( 'Cachify', 'the-cache-purger' ); ?>, <?php _e( 'Autoptimize', 'the-cache-purger' ); ?>, <?php _e( 'Fast Velocity Minify', 'the-cache-purger' ); ?>, <?php _e( 'WP Rocket', 'the-cache-purger' ); ?>, <?php _e( 'Swift Performance', 'the-cache-purger' ); ?>, <?php _e( 'Comet Cache', 'the-cache-purger' ); ?>, <?php _e( 'Hummingbird', 'the-cache-purger' ); ?>, <?php _e( 'WP Fastest Cache', 'the-cache-purger' ); ?>, <?php _e( 'WP Super Cache', 'the-cache-purger' ); ?>, <?php _e( 'W3 Total Cache', 'the-cache-purger' ); ?>, <?php _e( 'Hyper Cache', 'the-cache-purger' ); ?>, <?php _e( 'WP Optimize', 'the-cache-purger' ); ?>, <?php _e( 'Cache Enabler', 'the-cache-purger' ); ?>, <?php _e( 'Divi', 'the-cache-purger' ); ?>, <?php _e( 'Elementor', 'the-cache-purger' ); ?></li>
    36                 </ul>
    37             </li>
    38             <li><strong><?php _e( 'Hosting / CDN', 'the-cache-purger' ); ?></strong>
    39                 <ul>
    40                     <li><?php _e( 'WPEngine', 'the-cache-purger' ); ?>, <?php _e( 'SpinupWP', 'the-cache-purger' ); ?>, <?php _e( 'Kinsta', 'the-cache-purger' ); ?>, <?php _e( 'GoDaddy', 'the-cache-purger' ); ?>, <?php _e( 'Pantheon', 'the-cache-purger' ); ?>, <?php _e( 'CloudFlare', 'the-cache-purger' ); ?>, <?php _e( 'Sucuri', 'the-cache-purger' ); ?>, <?php _e( 'RunCloud', 'the-cache-purger' ); ?>, <?php _e( 'Siteground', 'the-cache-purger' ); ?>, <?php _e( 'Bluehost', 'the-cache-purger' ); ?>, <?php _e( 'Breezeway', 'the-cache-purger' ); ?></li>
    41                     <li><em><?php _e( 'Some of these are dependant on separate plugins.  Please see your provider if it is necessary, or already included', 'the-cache-purger' ); ?></em></li>
    42                 </ul>
    43             </li>
    44             <li><strong><?php _e( 'Server Based', 'the-cache-purger' ); ?></strong>
    45                 <ul>
    46                     <li><?php _e( 'Fastly CDN', 'the-cache-purger' ); ?>, <?php _e( 'PHP FPM', 'the-cache-purger' ); ?>, <?php _e( 'Zend Opcache', 'the-cache-purger' ); ?>, <?php _e( 'APC and APCU', 'the-cache-purger' ); ?>, <?php _e( 'WinCache', 'the-cache-purger' ); ?>, <?php _e( 'Pagespeed Module', 'the-cache-purger' ); ?>, <?php _e( 'Memcache', 'the-cache-purger' ); ?>, <?php _e( 'Memcached', 'the-cache-purger' ); ?>, <?php _e( 'Redis', 'the-cache-purger' ); ?>, <?php _e( 'nGinx', 'the-cache-purger' ); ?>, <?php _e( 'Static File Caches', 'the-cache-purger' ); ?></li>
    47                 </ul>
    48             </li>
    49             <li><strong><?php _e( 'Wordpress Built-In', 'the-cache-purger' ); ?></strong> <?php _e( 'object caching and persistent object caching', 'the-cache-purger' ); ?></li>
     23        <h2 id="kpcp_desc"><?php _e( 'Description' ); ?></h2>
     24        <p class="kpcp_nav"><a href="#kpcp_top"><?php _e( 'TOP' ); ?></a> | <a href="#kpcp_desc"><?php _e( 'DESCRIPTION' ); ?></a> | <a href="#kpcp_features"><?php _e( 'FEATURES' ); ?></a> | <a href="#kpcp_settings"><?php _e( 'SETTINGS' ); ?></a> | <a href="#kpcp_api_settings"><?php _e( 'API/SERVER SETTINGS' ); ?></a> | <a href="#kpcp_cron_settings"><?php _e( 'CRON Action SETTINGS' ); ?></a> | <a href="#kpcp_cron_settings"><?php _e( 'CRON Action SETTINGS' ); ?></a> | <a href="#kpcp_in_the_works"><?php _e( 'IN THE WORKS' ); ?></a></p>
     25        <p><?php _e( 'This plugin attempts to purge all server-side caching methods' ); ?>.</p>
     26        <p><?php _e( 'This includes the most common caching plugins, some hosting based caches, most server based caches, built-in Wordpress object caches, and even simple file based caches' ); ?></p>
     27        <p><?php _e( 'Just configure what you want to purge on, and the plugin will take care of the rest' ); ?>.</p>
     28        <p><?php _e( 'We have also included a CLI cache purger.  Shell into your install and run the following command:' ); ?> <code>wp the_cache purge</code>. <?php _e( 'The normal CLI flags apply, and if you are in a multisite, you must include the --url flag.' ); ?></p>
     29        <h2 id="kpcp_features"><?php _e( 'Features' ); ?></h2>
     30        <p class="kpcp_nav"><a href="#kpcp_top"><?php _e( 'TOP' ); ?></a> | <a href="#kpcp_desc"><?php _e( 'DESCRIPTION' ); ?></a> | <a href="#kpcp_features"><?php _e( 'FEATURES' ); ?></a> | <a href="#kpcp_settings"><?php _e( 'SETTINGS' ); ?></a> | <a href="#kpcp_api_settings"><?php _e( 'API/SERVER SETTINGS' ); ?></a> | <a href="#kpcp_cron_settings"><?php _e( 'CRON Action SETTINGS' ); ?></a> | <a href="#kpcp_in_the_works"><?php _e( 'IN THE WORKS' ); ?></a></p>
     31        <h3><?php _e( 'Built in automatic cache purging for the following caches' ); ?></h3>
     32        <ul>
     33            <li><strong><?php _e( 'Plugins/Themes' ); ?></strong>
     34                <ul>
     35                    <li><?php _e( 'Flying Press' ); ?>, <?php _e( 'SiteGround Optimizer' ); ?>, <?php _e( 'Nginx Helper' ); ?>, <?php _e( 'LiteSpeed Cache' ); ?>, <?php _e( 'Cachify' ); ?>, <?php _e( 'Autoptimize' ); ?>, <?php _e( 'Fast Velocity Minify' ); ?>, <?php _e( 'WP Rocket' ); ?>, <?php _e( 'Swift Performance' ); ?>, <?php _e( 'Comet Cache' ); ?>, <?php _e( 'Hummingbird' ); ?>, <?php _e( 'WP Fastest Cache' ); ?>, <?php _e( 'WP Super Cache' ); ?>, <?php _e( 'W3 Total Cache' ); ?>, <?php _e( 'Hyper Cache' ); ?>, <?php _e( 'WP Optimize' ); ?>, <?php _e( 'Cache Enabler' ); ?>, <?php _e( 'Divi' ); ?>, <?php _e( 'Elementor' ); ?></li>
     36                </ul>
     37            </li>
     38            <li><strong><?php _e( 'Hosting / CDN' ); ?></strong>
     39                <ul>
     40                    <li><?php _e( 'WPEngine' ); ?>, <?php _e( 'SpinupWP' ); ?>, <?php _e( 'Kinsta' ); ?>, <?php _e( 'GoDaddy' ); ?>, <?php _e( 'Pantheon' ); ?>, <?php _e( 'CloudFlare' ); ?>, <?php _e( 'Sucuri' ); ?>, <?php _e( 'RunCloud' ); ?>, <?php _e( 'Siteground' ); ?>, <?php _e( 'Bluehost' ); ?>, <?php _e( 'Breezeway' ); ?></li>
     41                    <li><em><?php _e( 'Some of these are dependant on separate plugins.  Please see your provider if it is necessary, or already included' ); ?></em></li>
     42                </ul>
     43            </li>
     44            <li><strong><?php _e( 'Server Based' ); ?></strong>
     45                <ul>
     46                    <li><?php _e( 'Fastly CDN' ); ?>, <?php _e( 'PHP FPM' ); ?>, <?php _e( 'Zend Opcache' ); ?>, <?php _e( 'APC and APCU' ); ?>, <?php _e( 'WinCache' ); ?>, <?php _e( 'Pagespeed Module' ); ?>, <?php _e( 'Memcache' ); ?>, <?php _e( 'Memcached' ); ?>, <?php _e( 'Redis' ); ?>, <?php _e( 'nGinx' ); ?>, <?php _e( 'Static File Caches' ); ?></li>
     47                </ul>
     48            </li>
     49            <li><strong><?php _e( 'Wordpress Built-In' ); ?></strong> <?php _e( 'object caching and persistent object caching' ); ?></li>
    5050        </ul>
    5151       
    52         <h3><?php _e( 'Purges are configurable in the settings, and include the following saves/updates/trashes:', 'the-cache-purger' ); ?></h3>
    53         <ul>
    54             <li><?php _e( 'Posts', 'the-cache-purger' ); ?>, <?php _e( 'Pages', 'the-cache-purger' ); ?>, <?php _e( 'Custom Post Types', 'the-cache-purger' ); ?>, <?php _e( 'Categories', 'the-cache-purger' ); ?>, <?php _e( 'Taxonomies', 'the-cache-purger' ); ?>, <?php _e( 'Widgets', 'the-cache-purger' ); ?>, <?php _e( 'Menus', 'the-cache-purger' ); ?>, <?php _e( 'Plugins', 'the-cache-purger' ); ?>, <?php _e( 'Updates', 'the-cache-purger' ); ?>, <?php _e( 'Settings & Options', 'the-cache-purger' ); ?>, <?php _e( 'GravityForms', 'the-cache-purger' ); ?> (<em><?php _e( 'if installed and activated', 'the-cache-purger' ); ?></em>), <?php _e( 'Advanced Custom Fields', 'the-cache-purger' ); ?> (<em><?php _e( 'if installed and activated', 'the-cache-purger' ); ?></em>), <?php _e( 'WooCommerce Settings', 'the-cache-purger' ); ?> (<em><?php _e( 'if installed and activated', 'the-cache-purger' ); ?></em>)</li>
    55         </ul>
    56         <h2 id="kpcp_settings"><?php _e( 'Settings', 'the-cache-purger' ); ?></h2>
    57         <p class="kpcp_nav"><a href="#kpcp_top"><?php _e( 'TOP', 'the-cache-purger' ); ?></a> | <a href="#kpcp_desc"><?php _e( 'DESCRIPTION', 'the-cache-purger' ); ?></a> | <a href="#kpcp_features"><?php _e( 'FEATURES', 'the-cache-purger' ); ?></a> | <a href="#kpcp_settings"><?php _e( 'SETTINGS', 'the-cache-purger' ); ?></a> | <a href="#kpcp_api_settings"><?php _e( 'API/SERVER SETTINGS', 'the-cache-purger' ); ?></a> | <a href="#kpcp_cron_settings"><?php _e( 'CRON Action SETTINGS', 'the-cache-purger' ); ?></a> | <a href="#kpcp_in_the_works"><?php _e( 'IN THE WORKS', 'the-cache-purger' ); ?></a></p>
    58         <ul>
    59             <li>
    60                 <strong><?php _e( 'Log Purge Actions?', 'the-cache-purger' ); ?></strong>
    61                 <ul>
    62                     <li><?php _e( 'Option(s) Name:', 'the-cache-purger' ); ?> <code>should_log</code></li>
    63                     <li><?php _e( 'Do you want to log purge actions?  The log file will be located here:', 'the-cache-purger' ); ?> <code><?php _e( ABSPATH . 'wp-content/purge.log' ); ?></code></li>
    64                 </ul>
    65             </li>
    66             <li>
    67                 <strong><?php _e( 'Purge on Menu?', 'the-cache-purger' ); ?></strong>
    68                 <ul>
    69                     <li><?php _e( 'Option(s) Name:', 'the-cache-purger' ); ?> <code>on_menu</code></li>
    70                     <li><?php _e( 'This will attempt to purge all caches for every menu update, save, or delete.', 'the-cache-purger' ); ?></li>
    71                 </ul>
    72             </li>
    73             <li>
    74                 <strong><?php _e( 'Purge on Post?', 'the-cache-purger' ); ?></strong>
    75                 <ul>
    76                     <li><?php _e( 'Option(s) Name:', 'the-cache-purger' ); ?> <code>on_post</code></li>
    77                     <li><?php _e( 'This will attempt to purge all caches for every post update, save, or delete.', 'the-cache-purger' ); ?></li>
    78                 </ul>
    79             </li>
    80             <li>
    81                 <strong><?php _e( 'Ignored Posts', 'the-cache-purger' ); ?></strong>
    82                 <ul>
    83                     <li><?php _e( 'Option(s) Name:', 'the-cache-purger' ); ?> <code>on_post_exclude</code></li>
    84                     <li><?php _e( 'Select the posts you wish to ignore from the cache purge actions.', 'the-cache-purger' ); ?></li>
    85                 </ul>
    86             </li>
    87             <li>
    88                 <strong><?php _e( 'Purge on Page?', 'the-cache-purger' ); ?></strong>
    89                 <ul>
    90                     <li><?php _e( 'Option(s) Name:', 'the-cache-purger' ); ?> <code>on_page</code></li>
    91                     <li><?php _e( 'This will attempt to purge all caches for every page update, save, or delete.', 'the-cache-purger' ); ?></li>
    92                 </ul>
    93             </li>
    94             <li>
    95                 <strong><?php _e( 'Ignored Pages', 'the-cache-purger' ); ?></strong>
    96                 <ul>
    97                     <li><?php _e( 'Option(s) Name:', 'the-cache-purger' ); ?> <code>on_page_exclude</code></li>
    98                     <li><?php _e( 'Select the pages you wish to ignore from the cache purge actions.', 'the-cache-purger' ); ?></li>
    99                 </ul>
    100             </li>
    101             <li>
    102                 <strong><?php _e( 'Purge on CPT?', 'the-cache-purger' ); ?></strong>
    103                 <ul>
    104                     <li><?php _e( 'Option(s) Name:', 'the-cache-purger' ); ?> <code>on_cpt</code></li>
    105                     <li><?php _e( 'This will attempt to purge all caches for every custom post type update, save, or delete.', 'the-cache-purger' ); ?></li>
    106                 </ul>
    107             </li>
    108             <li>
    109                 <strong><?php _e( 'Ignore CPT', 'the-cache-purger' ); ?></strong>
    110                 <ul>
    111                     <li><?php _e( 'Option(s) Name:', 'the-cache-purger' ); ?> <code>on_cpt_exclude</code></li>
    112                     <li><?php _e( 'Select the custom post types you wish to ignore from the cache purge actions.', 'the-cache-purger' ); ?></li>
    113                 </ul>
    114             </li>
    115             <li>
    116                 <strong><?php _e( 'Purge on Term/Taxonomy?', 'the-cache-purger' ); ?></strong>
    117                 <ul>
    118                     <li><?php _e( 'Option(s) Name:', 'the-cache-purger' ); ?> <code>on_taxonomy</code></li>
    119                     <li><?php _e( 'This will attempt to purge all caches for every taxonomy/term update, save, or delete.', 'the-cache-purger' ); ?></li>
    120                 </ul>
    121             </li>
    122             <li>
    123                 <strong><?php _e( 'Purge on Category?', 'the-cache-purger' ); ?></strong>
    124                 <ul>
    125                     <li><?php _e( 'Option(s) Name:', 'the-cache-purger' ); ?> <code>on_category</code></li>
    126                     <li><?php _e( 'This will attempt to purge all caches for every category update, save, or delete.', 'the-cache-purger' ); ?></li>
    127                 </ul>
    128             </li>
    129             <li>
    130                 <strong><?php _e( 'Purge on Widget?', 'the-cache-purger' ); ?></strong>
    131                 <ul>
    132                     <li><?php _e( 'Option(s) Name:', 'the-cache-purger' ); ?> <code>on_widget</code></li>
    133                     <li><?php _e( 'This will attempt to purge all caches for every widget update, save, or removal.', 'the-cache-purger' ); ?></li>
    134                 </ul>
    135             </li>
    136             <li>
    137                 <strong><?php _e( 'Purge on Customizer?', 'the-cache-purger' ); ?></strong>
    138                 <ul>
    139                     <li><?php _e( 'Option(s) Name:', 'the-cache-purger' ); ?> <code>on_customizer</code></li>
    140                     <li><?php _e( 'This will attempt to purge all caches for every customizer update or save.', 'the-cache-purger' ); ?></li>
    141                 </ul>
    142             </li>
    143             <li>
    144                 <strong><?php _e( 'Purge on GravityForms?', 'the-cache-purger' ); ?></strong>
    145                 <ul>
    146                     <li><?php _e( 'Option(s) Name:', 'the-cache-purger' ); ?> <code>on_form</code></li>
    147                     <li><?php _e( 'This will attempt to purge all caches for every form update, save, or delete.', 'the-cache-purger' ); ?></li>
    148                     <li><em><?php _e( 'This option is only available if you have GravityForms installed and active on your site.', 'the-cache-purger' ); ?></em></li>
    149                 </ul>
    150             </li>
    151             <li>
    152                 <strong><?php _e( 'Ignore Forms', 'the-cache-purger' ); ?></strong>
    153                 <ul>
    154                     <li><?php _e( 'Option(s) Name:', 'the-cache-purger' ); ?> <code>on_form_exclude</code></li>
    155                     <li><?php _e( 'Select the forms you wish to ignore from the cache purge actions.', 'the-cache-purger' ); ?></li>
    156                     <li><em><?php _e( 'This option is only available if you have GravityForms installed and active on your site.', 'the-cache-purger' ); ?></em></li>
    157                 </ul>
    158             </li>
    159             <li>
    160                 <strong><?php _e( 'Purge on ACF?', 'the-cache-purger' ); ?></strong>
    161                 <ul>
    162                     <li><?php _e( 'Option(s) Name:', 'the-cache-purger' ); ?> <code>on_acf</code></li>
    163                     <li><?php _e( 'This will attempt to purge all caches for every "advanced custom field" group update, save, or delete.', 'the-cache-purger' ); ?></li>
    164                     <li><em><?php _e( 'This option is only available if you have Advanced Custom Fields installed and active on your site.', 'the-cache-purger' ); ?></em></li>
    165                 </ul>
    166             </li>
    167             <li>
    168                 <strong><?php _e( 'Ignore Field Group', 'the-cache-purger' ); ?></strong>
    169                 <ul>
    170                     <li><?php _e( 'Option(s) Name:', 'the-cache-purger' ); ?> <code>on_acf_exclude</code></li>
    171                     <li><?php _e( 'Select the field groups you wish to ignore from the cache purge actions.', 'the-cache-purger' ); ?></li>
    172                     <li><em><?php _e( 'This option is only available if you have Advanced Custom Fields installed and active on your site.', 'the-cache-purger' ); ?></em></li>
    173                 </ul>
    174             </li>
    175         </ul>
    176         <h2 id="kpcp_api_settings"><?php _e( 'API/SERVER Settings', 'the-cache-purger' ); ?></h2>
    177         <p class="kpcp_nav"><a href="#kpcp_top"><?php _e( 'TOP', 'the-cache-purger' ); ?></a> | <a href="#kpcp_desc"><?php _e( 'DESCRIPTION', 'the-cache-purger' ); ?></a> | <a href="#kpcp_features"><?php _e( 'FEATURES', 'the-cache-purger' ); ?></a> | <a href="#kpcp_settings"><?php _e( 'SETTINGS', 'the-cache-purger' ); ?></a> | <a href="#kpcp_api_settings"><?php _e( 'API/SERVER SETTINGS', 'the-cache-purger' ); ?></a> | <a href="#kpcp_cron_settings"><?php _e( 'CRON Action SETTINGS', 'the-cache-purger' ); ?></a> | <a href="#kpcp_in_the_works"><?php _e( 'IN THE WORKS', 'the-cache-purger' ); ?></a></p>
    178         <ul>
    179             <li>
    180                 <strong><?php _e( 'Remote Redis Server', 'the-cache-purger' ); ?></strong>
    181                 <ul>
    182                     <li><?php _e( 'Option(s) Name:', 'the-cache-purger' ); ?> <code>remote_redis</code></li>
    183                     <li><?php _e( 'Do you want to configure Redis servers to be purged?', 'the-cache-purger' ); ?></li>
    184                 </ul>
    185             </li>
    186             <li>
    187                 <strong><?php _e( 'Redis Servers - Server', 'the-cache-purger' ); ?></strong>
    188                 <ul>
    189                     <li><?php _e( 'Option(s) Name:', 'the-cache-purger' ); ?> <code>remote_redis_servers['remote_redis_server']</code></li>
    190                     <li><?php _e( 'Insert the servers IP address.', 'the-cache-purger' ); ?></li>
    191                 </ul>
    192             </li>
    193             <li>
    194                 <strong><?php _e( 'Redis Servers - Port', 'the-cache-purger' ); ?></strong>
    195                 <ul>
    196                     <li><?php _e( 'Option(s) Name:', 'the-cache-purger' ); ?> <code>remote_redis_servers['remote_redis_port']</code></li>
    197                     <li><?php _e( 'Insert the servers port.', 'the-cache-purger' ); ?></li>
    198                 </ul>
    199             </li>
    200             <li>
    201                 <strong><?php _e( 'Remote Memcache Server', 'the-cache-purger' ); ?></strong>
    202                 <ul>
    203                     <li><?php _e( 'Option(s) Name:', 'the-cache-purger' ); ?> <code>remote_memcache</code></li>
    204                     <li><?php _e( 'Do you want to configure Memcache servers to be purged?', 'the-cache-purger' ); ?></li>
    205                 </ul>
    206             </li>
    207             <li>
    208                 <strong><?php _e( 'Memcache Servers - Server', 'the-cache-purger' ); ?></strong>
    209                 <ul>
    210                     <li><?php _e( 'Option(s) Name:', 'the-cache-purger' ); ?> <code>remote_memcache_servers['remote_memcache_server']</code></li>
    211                     <li><?php _e( 'Insert the servers IP address.', 'the-cache-purger' ); ?></li>
    212                 </ul>
    213             </li>
    214             <li>
    215                 <strong><?php _e( 'Memcache Servers - Port', 'the-cache-purger' ); ?></strong>
    216                 <ul>
    217                     <li><?php _e( 'Option(s) Name:', 'the-cache-purger' ); ?> <code>remote_memcache_servers['remote_memcache_port']</code></li>
    218                     <li><?php _e( 'Insert the servers port.', 'the-cache-purger' ); ?></li>
    219                 </ul>
    220             </li>
    221             <li>
    222                 <strong><?php _e( 'Remote Memcached Server', 'the-cache-purger' ); ?></strong>
    223                 <ul>
    224                     <li><?php _e( 'Option(s) Name:', 'the-cache-purger' ); ?> <code>remote_memcached</code></li>
    225                     <li><?php _e( 'Do you want to configure Memcached servers to be purged?', 'the-cache-purger' ); ?></li>
    226                 </ul>
    227             </li>
    228             <li>
    229                 <strong><?php _e( 'Memcached Servers - Server', 'the-cache-purger' ); ?></strong>
    230                 <ul>
    231                     <li><?php _e( 'Option(s) Name:', 'the-cache-purger' ); ?> <code>remote_memcached_servers['remote_memcached_server']</code></li>
    232                     <li><?php _e( 'Insert the servers IP address.', 'the-cache-purger' ); ?></li>
    233                 </ul>
    234             </li>
    235             <li>
    236                 <strong><?php _e( 'Memcached Servers - Port', 'the-cache-purger' ); ?></strong>
    237                 <ul>
    238                     <li><?php _e( 'Option(s) Name:', 'the-cache-purger' ); ?> <code>remote_memcached_servers['remote_memcached_port']</code></li>
    239                     <li><?php _e( 'Insert the servers port.', 'the-cache-purger' ); ?></li>
    240                 </ul>
    241             </li>
    242             <li>
    243                 <strong><?php _e( 'Service API Keys', 'the-cache-purger' ); ?></strong>
     52        <h3><?php _e( 'Purges are configurable in the settings, and include the following saves/updates/trashes:' ); ?></h3>
     53        <ul>
     54            <li><?php _e( 'Posts' ); ?>, <?php _e( 'Pages' ); ?>, <?php _e( 'Custom Post Types' ); ?>, <?php _e( 'Categories' ); ?>, <?php _e( 'Taxonomies' ); ?>, <?php _e( 'Widgets' ); ?>, <?php _e( 'Menus' ); ?>, <?php _e( 'Plugins' ); ?>, <?php _e( 'Updates' ); ?>, <?php _e( 'Settings & Options' ); ?>, <?php _e( 'GravityForms' ); ?> (<em><?php _e( 'if installed and activated' ); ?></em>), <?php _e( 'Advanced Custom Fields' ); ?> (<em><?php _e( 'if installed and activated' ); ?></em>), <?php _e( 'WooCommerce Settings' ); ?> (<em><?php _e( 'if installed and activated' ); ?></em>)</li>
     55        </ul>
     56        <h2 id="kpcp_settings"><?php _e( 'Settings' ); ?></h2>
     57        <p class="kpcp_nav"><a href="#kpcp_top"><?php _e( 'TOP' ); ?></a> | <a href="#kpcp_desc"><?php _e( 'DESCRIPTION' ); ?></a> | <a href="#kpcp_features"><?php _e( 'FEATURES' ); ?></a> | <a href="#kpcp_settings"><?php _e( 'SETTINGS' ); ?></a> | <a href="#kpcp_api_settings"><?php _e( 'API/SERVER SETTINGS' ); ?></a> | <a href="#kpcp_cron_settings"><?php _e( 'CRON Action SETTINGS' ); ?></a> | <a href="#kpcp_in_the_works"><?php _e( 'IN THE WORKS' ); ?></a></p>
     58        <ul>
     59            <li>
     60                <strong><?php _e( 'Log Purge Actions?' ); ?></strong>
     61                <ul>
     62                    <li><?php _e( 'Option(s) Name:' ); ?> <code>should_log</code></li>
     63                    <li><?php _e( 'Do you want to log purge actions?  The log file will be located here:' ); ?> <code><?php _e( ABSPATH . 'wp-content/purge.log' ); ?></code></li>
     64                </ul>
     65            </li>
     66            <li>
     67                <strong><?php _e( 'Purge on Menu?' ); ?></strong>
     68                <ul>
     69                    <li><?php _e( 'Option(s) Name:' ); ?> <code>on_menu</code></li>
     70                    <li><?php _e( 'This will attempt to purge all caches for every menu update, save, or delete.' ); ?></li>
     71                </ul>
     72            </li>
     73            <li>
     74                <strong><?php _e( 'Purge on Post?' ); ?></strong>
     75                <ul>
     76                    <li><?php _e( 'Option(s) Name:' ); ?> <code>on_post</code></li>
     77                    <li><?php _e( 'This will attempt to purge all caches for every post update, save, or delete.' ); ?></li>
     78                </ul>
     79            </li>
     80            <li>
     81                <strong><?php _e( 'Ignored Posts' ); ?></strong>
     82                <ul>
     83                    <li><?php _e( 'Option(s) Name:' ); ?> <code>on_post_exclude</code></li>
     84                    <li><?php _e( 'Select the posts you wish to ignore from the cache purge actions.' ); ?></li>
     85                </ul>
     86            </li>
     87            <li>
     88                <strong><?php _e( 'Purge on Page?' ); ?></strong>
     89                <ul>
     90                    <li><?php _e( 'Option(s) Name:' ); ?> <code>on_page</code></li>
     91                    <li><?php _e( 'This will attempt to purge all caches for every page update, save, or delete.' ); ?></li>
     92                </ul>
     93            </li>
     94            <li>
     95                <strong><?php _e( 'Ignored Pages' ); ?></strong>
     96                <ul>
     97                    <li><?php _e( 'Option(s) Name:' ); ?> <code>on_page_exclude</code></li>
     98                    <li><?php _e( 'Select the pages you wish to ignore from the cache purge actions.' ); ?></li>
     99                </ul>
     100            </li>
     101            <li>
     102                <strong><?php _e( 'Purge on CPT?' ); ?></strong>
     103                <ul>
     104                    <li><?php _e( 'Option(s) Name:' ); ?> <code>on_cpt</code></li>
     105                    <li><?php _e( 'This will attempt to purge all caches for every custom post type update, save, or delete.' ); ?></li>
     106                </ul>
     107            </li>
     108            <li>
     109                <strong><?php _e( 'Ignore CPT' ); ?></strong>
     110                <ul>
     111                    <li><?php _e( 'Option(s) Name:' ); ?> <code>on_cpt_exclude</code></li>
     112                    <li><?php _e( 'Select the custom post types you wish to ignore from the cache purge actions.' ); ?></li>
     113                </ul>
     114            </li>
     115            <li>
     116                <strong><?php _e( 'Purge on Term/Taxonomy?' ); ?></strong>
     117                <ul>
     118                    <li><?php _e( 'Option(s) Name:' ); ?> <code>on_taxonomy</code></li>
     119                    <li><?php _e( 'This will attempt to purge all caches for every taxonomy/term update, save, or delete.' ); ?></li>
     120                </ul>
     121            </li>
     122            <li>
     123                <strong><?php _e( 'Purge on Category?' ); ?></strong>
     124                <ul>
     125                    <li><?php _e( 'Option(s) Name:' ); ?> <code>on_category</code></li>
     126                    <li><?php _e( 'This will attempt to purge all caches for every category update, save, or delete.' ); ?></li>
     127                </ul>
     128            </li>
     129            <li>
     130                <strong><?php _e( 'Purge on Widget?' ); ?></strong>
     131                <ul>
     132                    <li><?php _e( 'Option(s) Name:' ); ?> <code>on_widget</code></li>
     133                    <li><?php _e( 'This will attempt to purge all caches for every widget update, save, or removal.' ); ?></li>
     134                </ul>
     135            </li>
     136            <li>
     137                <strong><?php _e( 'Purge on Customizer?' ); ?></strong>
     138                <ul>
     139                    <li><?php _e( 'Option(s) Name:' ); ?> <code>on_customizer</code></li>
     140                    <li><?php _e( 'This will attempt to purge all caches for every customizer update or save.' ); ?></li>
     141                </ul>
     142            </li>
     143            <li>
     144                <strong><?php _e( 'Purge on GravityForms?' ); ?></strong>
     145                <ul>
     146                    <li><?php _e( 'Option(s) Name:' ); ?> <code>on_form</code></li>
     147                    <li><?php _e( 'This will attempt to purge all caches for every form update, save, or delete.' ); ?></li>
     148                    <li><em><?php _e( 'This option is only available if you have GravityForms installed and active on your site.' ); ?></em></li>
     149                </ul>
     150            </li>
     151            <li>
     152                <strong><?php _e( 'Ignore Forms' ); ?></strong>
     153                <ul>
     154                    <li><?php _e( 'Option(s) Name:' ); ?> <code>on_form_exclude</code></li>
     155                    <li><?php _e( 'Select the forms you wish to ignore from the cache purge actions.' ); ?></li>
     156                    <li><em><?php _e( 'This option is only available if you have GravityForms installed and active on your site.' ); ?></em></li>
     157                </ul>
     158            </li>
     159            <li>
     160                <strong><?php _e( 'Purge on ACF?' ); ?></strong>
     161                <ul>
     162                    <li><?php _e( 'Option(s) Name:' ); ?> <code>on_acf</code></li>
     163                    <li><?php _e( 'This will attempt to purge all caches for every "advanced custom field" group update, save, or delete.' ); ?></li>
     164                    <li><em><?php _e( 'This option is only available if you have Advanced Custom Fields installed and active on your site.' ); ?></em></li>
     165                </ul>
     166            </li>
     167            <li>
     168                <strong><?php _e( 'Ignore Field Group' ); ?></strong>
     169                <ul>
     170                    <li><?php _e( 'Option(s) Name:' ); ?> <code>on_acf_exclude</code></li>
     171                    <li><?php _e( 'Select the field groups you wish to ignore from the cache purge actions.' ); ?></li>
     172                    <li><em><?php _e( 'This option is only available if you have Advanced Custom Fields installed and active on your site.' ); ?></em></li>
     173                </ul>
     174            </li>
     175        </ul>
     176        <h2 id="kpcp_api_settings"><?php _e( 'API/SERVER Settings' ); ?></h2>
     177        <p class="kpcp_nav"><a href="#kpcp_top"><?php _e( 'TOP' ); ?></a> | <a href="#kpcp_desc"><?php _e( 'DESCRIPTION' ); ?></a> | <a href="#kpcp_features"><?php _e( 'FEATURES' ); ?></a> | <a href="#kpcp_settings"><?php _e( 'SETTINGS' ); ?></a> | <a href="#kpcp_api_settings"><?php _e( 'API/SERVER SETTINGS' ); ?></a> | <a href="#kpcp_cron_settings"><?php _e( 'CRON Action SETTINGS' ); ?></a> | <a href="#kpcp_in_the_works"><?php _e( 'IN THE WORKS' ); ?></a></p>
     178        <ul>
     179            <li>
     180                <strong><?php _e( 'Remote Redis Server' ); ?></strong>
     181                <ul>
     182                    <li><?php _e( 'Option(s) Name:' ); ?> <code>remote_redis</code></li>
     183                    <li><?php _e( 'Do you want to configure Redis servers to be purged?' ); ?></li>
     184                </ul>
     185            </li>
     186            <li>
     187                <strong><?php _e( 'Redis Servers - Server' ); ?></strong>
     188                <ul>
     189                    <li><?php _e( 'Option(s) Name:' ); ?> <code>remote_redis_servers['remote_redis_server']</code></li>
     190                    <li><?php _e( 'Insert the servers IP address.' ); ?></li>
     191                </ul>
     192            </li>
     193            <li>
     194                <strong><?php _e( 'Redis Servers - Port' ); ?></strong>
     195                <ul>
     196                    <li><?php _e( 'Option(s) Name:' ); ?> <code>remote_redis_servers['remote_redis_port']</code></li>
     197                    <li><?php _e( 'Insert the servers port.' ); ?></li>
     198                </ul>
     199            </li>
     200            <li>
     201                <strong><?php _e( 'Remote Memcache Server' ); ?></strong>
     202                <ul>
     203                    <li><?php _e( 'Option(s) Name:' ); ?> <code>remote_memcache</code></li>
     204                    <li><?php _e( 'Do you want to configure Memcache servers to be purged?' ); ?></li>
     205                </ul>
     206            </li>
     207            <li>
     208                <strong><?php _e( 'Memcache Servers - Server' ); ?></strong>
     209                <ul>
     210                    <li><?php _e( 'Option(s) Name:' ); ?> <code>remote_memcache_servers['remote_memcache_server']</code></li>
     211                    <li><?php _e( 'Insert the servers IP address.' ); ?></li>
     212                </ul>
     213            </li>
     214            <li>
     215                <strong><?php _e( 'Memcache Servers - Port' ); ?></strong>
     216                <ul>
     217                    <li><?php _e( 'Option(s) Name:' ); ?> <code>remote_memcache_servers['remote_memcache_port']</code></li>
     218                    <li><?php _e( 'Insert the servers port.' ); ?></li>
     219                </ul>
     220            </li>
     221            <li>
     222                <strong><?php _e( 'Remote Memcached Server' ); ?></strong>
     223                <ul>
     224                    <li><?php _e( 'Option(s) Name:' ); ?> <code>remote_memcached</code></li>
     225                    <li><?php _e( 'Do you want to configure Memcached servers to be purged?' ); ?></li>
     226                </ul>
     227            </li>
     228            <li>
     229                <strong><?php _e( 'Memcached Servers - Server' ); ?></strong>
     230                <ul>
     231                    <li><?php _e( 'Option(s) Name:' ); ?> <code>remote_memcached_servers['remote_memcached_server']</code></li>
     232                    <li><?php _e( 'Insert the servers IP address.' ); ?></li>
     233                </ul>
     234            </li>
     235            <li>
     236                <strong><?php _e( 'Memcached Servers - Port' ); ?></strong>
     237                <ul>
     238                    <li><?php _e( 'Option(s) Name:' ); ?> <code>remote_memcached_servers['remote_memcached_port']</code></li>
     239                    <li><?php _e( 'Insert the servers port.' ); ?></li>
     240                </ul>
     241            </li>
     242            <li>
     243                <strong><?php _e( 'Service API Keys' ); ?></strong>
    244244                <ul>
    245245                    <li>
    246                         <strong><?php _e( 'Cloudflare Token', 'the-cache-purger' ); ?></strong>
     246                        <strong><?php _e( 'Cloudflare Token' ); ?></strong>
    247247                        <ul>
    248                             <li><?php _e( 'Option(s) Name:', 'the-cache-purger' ); ?> <code>service_api_keys['cloudflare_token']</code></li>
    249                             <li><?php _e( 'Enter your Cloudflare API Token. If you do not have one, you can create one here: <a href="https://dash.cloudflare.com/profile/api-tokens" target="_blank">https://dash.cloudflare.com/profile/api-tokens</a><br /><strong>NOTE: </strong>This is stored in plain-text.', 'the-cache-purger' ); ?></li>
     248                            <li><?php _e( 'Option(s) Name:' ); ?> <code>service_api_keys['cloudflare_token']</code></li>
     249                            <li><?php _e( 'Enter your Cloudflare API Token. If you do not have one, you can create one here: <a href="https://dash.cloudflare.com/profile/api-tokens" target="_blank">https://dash.cloudflare.com/profile/api-tokens</a><br /><strong>NOTE: </strong>This is stored in plain-text.' ); ?></li>
    250250                        </ul>
    251251                    </li>
    252252                    <li>
    253                         <strong><?php _e( 'Cloudflare Zone', 'the-cache-purger' ); ?></strong>
     253                        <strong><?php _e( 'Cloudflare Zone' ); ?></strong>
    254254                        <ul>
    255                             <li><?php _e( 'Option(s) Name:', 'the-cache-purger' ); ?> <code>service_api_keys['cloudflare_zone']</code></li>
    256                             <li><?php _e( 'Enter your Cloudflare Zone ID. You can find this by clicking into your websites overview in your account: <a href="https://dash.cloudflare.com/" target="_blank">https://dash.cloudflare.com/</a><br /><strong>NOTE: </strong>This is stored in plain-text.', 'the-cache-purger' ); ?></li>
     255                            <li><?php _e( 'Option(s) Name:' ); ?> <code>service_api_keys['cloudflare_zone']</code></li>
     256                            <li><?php _e( 'Enter your Cloudflare Zone ID. You can find this by clicking into your websites overview in your account: <a href="https://dash.cloudflare.com/" target="_blank">https://dash.cloudflare.com/</a><br /><strong>NOTE: </strong>This is stored in plain-text.' ); ?></li>
    257257                        </ul>
    258258                    </li>
    259259                    <li>
    260                         <strong><?php _e( 'Sucuri Key', 'the-cache-purger' ); ?></strong>
     260                        <strong><?php _e( 'Sucuri Key' ); ?></strong>
    261261                        <ul>
    262                             <li><?php _e( 'Option(s) Name:', 'the-cache-purger' ); ?> <code>service_api_keys['sucuri_key']</code></li>
    263                             <li><?php _e( 'Enter your Sucuri API Key. If you do not have one, you can find it in your site\'s Firewall here: <a href="https://waf.sucuri.net/" target="_blank">https://waf.sucuri.net/</a>. Click into your site, then Settings, then API.<br /><strong>NOTE: </strong>This is stored in plain-text.', 'the-cache-purger' ); ?></li>
     262                            <li><?php _e( 'Option(s) Name:' ); ?> <code>service_api_keys['sucuri_key']</code></li>
     263                            <li><?php _e( 'Enter your Sucuri API Key. If you do not have one, you can find it in your site\'s Firewall here: <a href="https://waf.sucuri.net/" target="_blank">https://waf.sucuri.net/</a>. Click into your site, then Settings, then API.<br /><strong>NOTE: </strong>This is stored in plain-text.' ); ?></li>
    264264                        </ul>
    265265                    </li>
    266266                    <li>
    267                         <strong><?php _e( 'Sucuri Secret', 'the-cache-purger' ); ?></strong>
     267                        <strong><?php _e( 'Sucuri Secret' ); ?></strong>
    268268                        <ul>
    269                             <li><?php _e( 'Option(s) Name:', 'the-cache-purger' ); ?> <code>service_api_keys['sucuri_secret']</code></li>
    270                             <li><?php _e( 'Enter your Sucuri API Secret. If you do not have one, you can find it in your site\'s Firewall here: <a href="https://waf.sucuri.net/" target="_blank">https://waf.sucuri.net/</a>. Click into your site, then Settings, then API.<br /><strong>NOTE: </strong>This is stored in plain-text.', 'the-cache-purger' ); ?></li>
     269                            <li><?php _e( 'Option(s) Name:' ); ?> <code>service_api_keys['sucuri_secret']</code></li>
     270                            <li><?php _e( 'Enter your Sucuri API Secret. If you do not have one, you can find it in your site\'s Firewall here: <a href="https://waf.sucuri.net/" target="_blank">https://waf.sucuri.net/</a>. Click into your site, then Settings, then API.<br /><strong>NOTE: </strong>This is stored in plain-text.' ); ?></li>
    271271                        </ul>
    272272                    </li>
     
    275275
    276276        </ul>
    277         <h2 id="kpcp_cron_settings"><?php _e( 'CRON Action Settings', 'the-cache-purger' ); ?></h2>
    278         <p class="kpcp_nav"><a href="#kpcp_top"><?php _e( 'TOP', 'the-cache-purger' ); ?></a> | <a href="#kpcp_desc"><?php _e( 'DESCRIPTION', 'the-cache-purger' ); ?></a> | <a href="#kpcp_features"><?php _e( 'FEATURES', 'the-cache-purger' ); ?></a> | <a href="#kpcp_settings"><?php _e( 'SETTINGS', 'the-cache-purger' ); ?></a> | <a href="#kpcp_api_settings"><?php _e( 'API/SERVER SETTINGS', 'the-cache-purger' ); ?></a> | <a href="#kpcp_cron_settings"><?php _e( 'CRON Action SETTINGS', 'the-cache-purger' ); ?></a> | <a href="#kpcp_in_the_works"><?php _e( 'IN THE WORKS', 'the-cache-purger' ); ?></a></p>
    279         <ul>
    280             <li>
    281                 <strong><?php _e( 'Allow Scheduled Purges?', 'the-cache-purger' ); ?></strong>
    282                 <ul>
    283                     <li><?php _e( 'Option(s) Name:', 'the-cache-purger' ); ?> <code>cron_schedule_allowed</code></li>
    284                     <li><?php _e( 'Should the cached be purged based on a Wordpress Cron schedule?', 'the-cache-purger' ); ?></li>
    285                 </ul>
    286             </li>
    287             <li>
    288                 <strong><?php _e( 'Built-In Schedule', 'the-cache-purger' ); ?></strong>
    289                 <ul>
    290                     <li><?php _e( 'Option(s) Name:', 'the-cache-purger' ); ?> <code>cron_schedule_builtin</code></li>
    291                     <li><?php _e( 'Select a built-in schedule to purge the caches on.', 'the-cache-purger' ); ?></li>
    292                 </ul>
    293             </li>
    294         </ul>
    295         <h2 id="kpcp_in_the_works"><?php _e( 'In The Works', 'the-cache-purger' ); ?></h2>
    296         <p class="kpcp_nav"><a href="#kpcp_top"><?php _e( 'TOP', 'the-cache-purger' ); ?></a> | <a href="#kpcp_desc"><?php _e( 'DESCRIPTION', 'the-cache-purger' ); ?></a> | <a href="#kpcp_features"><?php _e( 'FEATURES', 'the-cache-purger' ); ?></a> | <a href="#kpcp_settings"><?php _e( 'SETTINGS', 'the-cache-purger' ); ?></a> | <a href="#kpcp_api_settings"><?php _e( 'API/SERVER SETTINGS', 'the-cache-purger' ); ?></a> | <a href="#kpcp_cron_settings"><?php _e( 'CRON Action SETTINGS', 'the-cache-purger' ); ?></a> | <a href="#kpcp_in_the_works"><?php _e( 'IN THE WORKS', 'the-cache-purger' ); ?></a></p>
    297         <ul>
    298             <li><?php _e( 'WooCommerce Product Updates (<em>and exclusions</em>)', 'the-cache-purger' ); ?></li>
    299             <li><?php _e( 'WooCommerce Order Updates', 'the-cache-purger' ); ?></li>
    300             <li><?php _e( 'More Plugin References', 'the-cache-purger' ); ?></li>
    301             <li><?php _e( 'More Hosting References', 'the-cache-purger' ); ?></li>
     277        <h2 id="kpcp_cron_settings"><?php _e( 'CRON Action Settings' ); ?></h2>
     278        <p class="kpcp_nav"><a href="#kpcp_top"><?php _e( 'TOP' ); ?></a> | <a href="#kpcp_desc"><?php _e( 'DESCRIPTION' ); ?></a> | <a href="#kpcp_features"><?php _e( 'FEATURES' ); ?></a> | <a href="#kpcp_settings"><?php _e( 'SETTINGS' ); ?></a> | <a href="#kpcp_api_settings"><?php _e( 'API/SERVER SETTINGS' ); ?></a> | <a href="#kpcp_cron_settings"><?php _e( 'CRON Action SETTINGS' ); ?></a> | <a href="#kpcp_in_the_works"><?php _e( 'IN THE WORKS' ); ?></a></p>
     279        <ul>
     280            <li>
     281                <strong><?php _e( 'Allow Scheduled Purges?' ); ?></strong>
     282                <ul>
     283                    <li><?php _e( 'Option(s) Name:' ); ?> <code>cron_schedule_allowed</code></li>
     284                    <li><?php _e( 'Should the cached be purged based on a Wordpress Cron schedule?' ); ?></li>
     285                </ul>
     286            </li>
     287            <li>
     288                <strong><?php _e( 'Built-In Schedule' ); ?></strong>
     289                <ul>
     290                    <li><?php _e( 'Option(s) Name:' ); ?> <code>cron_schedule_builtin</code></li>
     291                    <li><?php _e( 'Select a built-in schedule to purge the caches on.' ); ?></li>
     292                </ul>
     293            </li>
     294        </ul>
     295        <h2 id="kpcp_in_the_works"><?php _e( 'In The Works' ); ?></h2>
     296        <p class="kpcp_nav"><a href="#kpcp_top"><?php _e( 'TOP' ); ?></a> | <a href="#kpcp_desc"><?php _e( 'DESCRIPTION' ); ?></a> | <a href="#kpcp_features"><?php _e( 'FEATURES' ); ?></a> | <a href="#kpcp_settings"><?php _e( 'SETTINGS' ); ?></a> | <a href="#kpcp_api_settings"><?php _e( 'API/SERVER SETTINGS' ); ?></a> | <a href="#kpcp_cron_settings"><?php _e( 'CRON Action SETTINGS' ); ?></a> | <a href="#kpcp_in_the_works"><?php _e( 'IN THE WORKS' ); ?></a></p>
     297        <ul>
     298            <li><?php _e( 'WooCommerce Product Updates (<em>and exclusions</em>)' ); ?></li>
     299            <li><?php _e( 'WooCommerce Order Updates' ); ?></li>
     300            <li><?php _e( 'More Plugin References' ); ?></li>
     301            <li><?php _e( 'More Hosting References' ); ?></li>
    302302        </ul>
    303303    </main>
  • the-cache-purger/trunk/work/inc/kp-cache-purge-admin.php

    r3296444 r3309228  
    55 * This file contains cache purging settings and admin pages
    66 *
    7  * @since 7.4
     7 * @since 8.1
    88 * @author Kevin Pirnie <[email protected]>
    99 * @package The Cache Purger
     
    2222     * Class for building out our settings and admin pages
    2323     *
    24      * @since 7.4
     24     * @since 8.1
    2525     * @access public
    2626     * @author Kevin Pirnie <[email protected]>
     
    3535         * Public method pull together the settings and admin pages
    3636         *
    37          * @since 7.4
     37         * @since 8.1
    3838         * @access public
    3939         * @author Kevin Pirnie <[email protected]>
     
    5656                // create the main options page
    5757                KPTCP::createOptions( $_cp_settings_id, array(
    58                     'menu_title' => __( 'The Cache Purge', 'the-cache-purger' ),
     58                    'menu_title' => __( 'The Cache Purge' ),
    5959                    'menu_slug'  => 'kpcp_settings',
    6060                    'menu_capability' => 'list_users',
     
    6666                    'sticky_header' => false, 
    6767                    'ajax_save' => false,           
    68                     'framework_title' => __( 'The Cache Purger <small>by Kevin C. Pirnie</small>', 'the-cache-purger' ),
    69                     'footer_text' => '<a href="https://kevinpirnie.com" target="_blank"><img src="https://cdn.kevp.cc/kp/kevinpirnie-logo-color.svg" alt="Kevin Pirnie: https://kevinpirnie.com" style="width:250px !important;" /></a>',
    70                     ) );
     68                    'framework_title' => __( 'The Cache Purger <small>by Kevin C. Pirnie</small>' ),
     69                    'footer_text' => '<a href="https://kevinpirnie.com" target="_blank"><img src="https://cdn.kevp.us/kp/kevinpirnie-logo-color.svg" alt="Kevin Pirnie: https://kevinpirnie.com" style="width:250px !important;" /></a>',
     70                ) );
    7171
    7272                // Settings
    7373                KPTCP::createSection( $_cp_settings_id,
    7474                    array(
    75                         'title'  => __( 'Settings', 'the-cache-purger' ),
     75                        'title'  => __( 'Settings' ),
    7676                        'fields' => $this -> kpcp_settings( ),
    7777                    )
     
    8181                KPTCP::createSection( $_cp_settings_id,
    8282                    array(
    83                         'title'  => __( 'API/Server Settings', 'the-cache-purger' ),
     83                        'title'  => __( 'API/Server Settings' ),
    8484                        'fields' => $this -> kpcp_apiserver_settings( ),
    8585                    )
     
    8989                KPTCP::createSection( $_cp_settings_id,
    9090                    array(
    91                         'title'  => __( 'CRON Action Settings', 'the-cache-purger' ),
     91                        'title'  => __( 'CRON Action Settings' ),
    9292                        'fields' => $this -> kpcp_cron_settings( ),
    9393                    )
     
    106106                    KPTCP::createSection( $_cp_settings_id,
    107107                        array(
    108                             'title'  => __( 'The Purge Log', 'the-cache-purger' ),
     108                            'title'  => __( 'The Purge Log' ),
    109109                            'fields' => array(
    110110                                array(
     
    121121                KPTCP::createSection( $_cp_settings_id,
    122122                    array(
    123                         'title'  => __( 'Documentation', 'the-cache-purger' ),
     123                        'title'  => __( 'Documentation' ),
    124124                        'fields' => array(
    125125                            array(
     
    134134                KPTCP::createSection( $_cp_settings_id,
    135135                    array(
    136                         'title'  => __( 'Export/Import Settings', 'the-cache-purger' ),
     136                        'title'  => __( 'Export/Import Settings' ),
    137137                        'fields' => array(
    138138                            array(
     
    192192                        $_args = array (
    193193                            'id' => 'tcpmp',
    194                             'title' => '<span class="ab-icon dashicons-layout"></span> ' . __( 'Master Cache Purge', 'the-cache-purger' ),
     194                            'title' => '<span class="ab-icon dashicons-layout"></span> ' . __( 'Master Cache Purge' ),
    195195                            'href' => $_uri,
    196                             'meta' => array( 'title' => __( 'Click here to purge all of your caches.', 'the-cache-purger' ) ),
     196                            'meta' => array( 'title' => __( 'Click here to purge all of your caches.' ) ),
    197197                        );
    198198                   
     
    213213         * Private method pull together the cronex settings fields
    214214         *
    215          * @since 7.4
     215         * @since 8.1
    216216         * @access private
    217217         * @author Kevin Pirnie <[email protected]>
     
    236236                    'id' => 'cron_log_purge_allowed',
    237237                    'type' => 'switcher',
    238                     'title' => __( 'Purge the log?', 'the-cache-purger' ),
    239                     'desc' => __( 'Do you want to allow scheduled log purges?', 'the-cache-purger' ),
     238                    'title' => __( 'Purge the log?' ),
     239                    'desc' => __( 'Do you want to allow scheduled log purges?' ),
    240240                    'default' => false,
    241241                );
     
    245245                    'id' => 'cron_log_purge_schedule',
    246246                    'type' => 'select',
    247                     'title' => __( 'Purge Schedule', 'the-cache-purger' ),
    248                     'desc' => __( 'Select a purge schedule to use.', 'the-cache-purger' ),
     247                    'title' => __( 'Purge Schedule' ),
     248                    'desc' => __( 'Select a purge schedule to use.' ),
    249249                    'options' => $this -> get_current_schedules( ),
    250250                    'dependency' => array( 'cron_log_purge_allowed', '==', 'true' ),
     
    260260                    'id' => 'cron_schedule_allowed',
    261261                    'type' => 'switcher',
    262                     'title' => __( 'Scheduled your Purges?', 'the-cache-purger' ),
    263                     'desc' => __( 'Do you want schedule cache purges?', 'the-cache-purger' ),
     262                    'title' => __( 'Scheduled your Purges?' ),
     263                    'desc' => __( 'Do you want schedule cache purges?' ),
    264264                    'default' => false,
    265265                ),
     
    269269                    'id' => 'cron_schedule_builtin',
    270270                    'type' => 'select',
    271                     'title' => __( 'Purge Schedule', 'the-cache-purger' ),
    272                     'desc' => __( 'Select a purge schedule to use.', 'the-cache-purger' ),
     271                    'title' => __( 'Purge Schedule' ),
     272                    'desc' => __( 'Select a purge schedule to use.' ),
    273273                    'options' => $this -> get_current_schedules( ),
    274274                    'dependency' => array( 'cron_schedule_allowed', '==', 'true' ),
     
    290290         * Private method pull together the api/server settings fields
    291291         *
    292          * @since 7.4
     292         * @since 8.1
    293293         * @access private
    294294         * @author Kevin Pirnie <[email protected]>
     
    307307                    'id' => 'remote_redis',
    308308                    'type' => 'switcher',
    309                     'title' => __( 'Remote Redis server?', 'the-cache-purger' ),
    310                     'desc' => __( 'Please only switch this on if you utilize remote Redis Servers.', 'the-cache-purger' ),
     309                    'title' => __( 'Remote Redis server?' ),
     310                    'desc' => __( 'Please only switch this on if you utilize remote Redis Servers.' ),
    311311                    'default' => false,
    312312                ),
     
    316316                    'id' => 'remote_redis_servers',
    317317                    'type' => 'repeater',
    318                     'title' => __( 'Redis Servers', 'the-cache-purger' ),
     318                    'title' => __( 'Redis Servers' ),
    319319                    'max' => 10,
    320320                    #'class' => 'inlinable-container',
    321                     'button_title' => __( 'Add New Server', 'the-cache-purger' ),
     321                    'button_title' => __( 'Add New Server' ),
    322322                    'dependency' => array( 'remote_redis', '==', true ),
    323323                    'fields' => array(
     
    326326                        array(
    327327                            'id' => 'remote_redis_server',
    328                             'title' => __( 'Server', 'the-cache-purger' ),
    329                             'type' => 'text',
    330                             'class' => 'kptcp-half-field',
    331                             'desc' => __( 'Enter the IP address of the server.', 'the-cache-purger' ),
     328                            'title' => __( 'Server' ),
     329                            'type' => 'text',
     330                            'class' => 'kptcp-half-field',
     331                            'desc' => __( 'Enter the IP address of the server.' ),
    332332                        ),
    333333
     
    335335                        array(
    336336                            'id' => 'remote_redis_port',
    337                             'title' => __( 'Port', 'the-cache-purger' ),
    338                             'type' => 'text',
    339                             'class' => 'kptcp-half-field',
    340                             'desc' => __( 'Enter the Port number of the server.', 'the-cache-purger' ),
     337                            'title' => __( 'Port' ),
     338                            'type' => 'text',
     339                            'class' => 'kptcp-half-field',
     340                            'desc' => __( 'Enter the Port number of the server.' ),
    341341                        ),
    342342
     
    344344                        array(
    345345                            'id' => 'remote_redis_auth_user',
    346                             'title' => __( 'Username', 'the-cache-purger' ),
    347                             'type' => 'text',
    348                             'class' => 'kptcp-half-field',
    349                             'desc' => __( 'Enter your redis username', 'the-cache-purger' ),
     346                            'title' => __( 'Username' ),
     347                            'type' => 'text',
     348                            'class' => 'kptcp-half-field',
     349                            'desc' => __( 'Enter your redis username' ),
    350350                        ),
    351351                        // auth password
    352352                        array(
    353353                            'id' => 'remote_redis_auth_pass',
    354                             'title' => __( 'Password', 'the-cache-purger' ),
     354                            'title' => __( 'Password' ),
    355355                            'type' => 'text',
    356356                            'attributes'  => array( 'type' => 'password', ),
    357357                            'class' => 'kptcp-half-field',
    358                             'desc' => __( 'Enter your redis password', 'the-cache-purger' ),
     358                            'desc' => __( 'Enter your redis password' ),
    359359                        ),
    360360
     
    362362                        array(
    363363                            'id' => 'remote_redis_db_id',
    364                             'title' => __( 'Database ID', 'the-cache-purger' ),
    365                             'type' => 'text',
    366                             'class' => 'kptcp-half-field',
    367                             'desc' => __( 'Enter your database ID', 'the-cache-purger' ),
     364                            'title' => __( 'Database ID' ),
     365                            'type' => 'text',
     366                            'class' => 'kptcp-half-field',
     367                            'desc' => __( 'Enter your database ID' ),
     368                        ),
     369
     370                        // prefix or key
     371                        array(
     372                            'id' => 'remote_redis_prefixkey',
     373                            'title' => __( 'Prefix/Key' ),
     374                            'type' => 'text',
     375                            'class' => 'kptcp-half-field',
     376                            'desc' => __( 'Enter your prefix/key' ),
    368377                        ),
    369378
     
    375384                    'id' => 'remote_memcache',
    376385                    'type' => 'switcher',
    377                     'title' => __( 'Remote Memcache server?', 'the-cache-purger' ),
    378                     'desc' => __( 'Please only switch this on if you utilize remote Memcache Servers.', 'the-cache-purger' ),
     386                    'title' => __( 'Remote Memcache server?' ),
     387                    'desc' => __( 'Please only switch this on if you utilize remote Memcache Servers.' ),
    379388                    'default' => false,
    380389                ),
     
    384393                    'id' => 'remote_memcache_servers',
    385394                    'type' => 'repeater',
    386                     'title' => __( 'Memcache Servers', 'the-cache-purger' ),
     395                    'title' => __( 'Memcache Servers' ),
    387396                    'max' => 10,
    388397                    'class' => 'inlinable-container',
    389                     'button_title' => __( 'Add New Server', 'the-cache-purger' ),
     398                    'button_title' => __( 'Add New Server' ),
    390399                    'dependency' => array( 'remote_memcache', '==', true ),
    391400                    'fields' => array(
     
    394403                        array(
    395404                            'id' => 'remote_memcache_server',
    396                             'title' => __( 'Server', 'the-cache-purger' ),
    397                             'type' => 'text',
    398                             'class' => 'kptcp-half-field',
    399                             'desc' => __( 'Enter the IP address of the server.', 'the-cache-purger' ),
     405                            'title' => __( 'Server' ),
     406                            'type' => 'text',
     407                            'class' => 'kptcp-half-field',
     408                            'desc' => __( 'Enter the IP address of the server.' ),
    400409                        ),
    401410
     
    403412                        array(
    404413                            'id' => 'remote_memcache_port',
    405                             'title' => __( 'Port', 'the-cache-purger' ),
    406                             'type' => 'text',
    407                             'class' => 'kptcp-half-field',
    408                             'desc' => __( 'Enter the Port number of the server.', 'the-cache-purger' ),
     414                            'title' => __( 'Port' ),
     415                            'type' => 'text',
     416                            'class' => 'kptcp-half-field',
     417                            'desc' => __( 'Enter the Port number of the server.' ),
    409418                        ),
    410419                    ),
     
    415424                    'id' => 'remote_memcached',
    416425                    'type' => 'switcher',
    417                     'title' => __( 'Remote Memcached server?', 'the-cache-purger' ),
    418                     'desc' => __( 'Please only switch this on if you utilize remote Memcached Servers.', 'the-cache-purger' ),
     426                    'title' => __( 'Remote Memcached server?' ),
     427                    'desc' => __( 'Please only switch this on if you utilize remote Memcached Servers.' ),
    419428                    'default' => false,
    420429                ),
     
    424433                    'id' => 'remote_memcached_servers',
    425434                    'type' => 'repeater',
    426                     'title' => __( 'Memcached Servers', 'the-cache-purger' ),
     435                    'title' => __( 'Memcached Servers' ),
    427436                    'max' => 10,
    428437                    'class' => 'inlinable-container',
    429                     'button_title' => __( 'Add New Server', 'the-cache-purger' ),
     438                    'button_title' => __( 'Add New Server' ),
    430439                    'dependency' => array( 'remote_memcached', '==', true ),
    431440                    'fields' => array(
     
    434443                        array(
    435444                            'id' => 'remote_memcached_server',
    436                             'title' => __( 'Server', 'the-cache-purger' ),
    437                             'type' => 'text',
    438                             'class' => 'kptcp-half-field',
    439                             'desc' => __( 'Enter the IP address of the server.', 'the-cache-purger' ),
     445                            'title' => __( 'Server' ),
     446                            'type' => 'text',
     447                            'class' => 'kptcp-half-field',
     448                            'desc' => __( 'Enter the IP address of the server.' ),
    440449                        ),
    441450
     
    443452                        array(
    444453                            'id' => 'remote_memcached_port',
    445                             'title' => __( 'Port', 'the-cache-purger' ),
    446                             'type' => 'text',
    447                             'class' => 'kptcp-half-field',
    448                             'desc' => __( 'Enter the Port number of the server.', 'the-cache-purger' ),
     454                            'title' => __( 'Port' ),
     455                            'type' => 'text',
     456                            'class' => 'kptcp-half-field',
     457                            'desc' => __( 'Enter the Port number of the server.' ),
    449458                        ),
    450459                    ),
     
    455464                    'id' => 'service_api_keys',
    456465                    'type' => 'fieldset',
    457                     'title' => __( 'Service API Keys', 'the-cache-purger' ),
    458                     'subtitle' => __( 'These are all optional, and only necessary if you do not have the service\'s plugin installed on your site, but their caches are still used.<br /><br />Please consult with your hosting provider or IT Team if you do not know if they are in use.', 'the-cache-purger' ),
     466                    'title' => __( 'Service API Keys' ),
     467                    'subtitle' => __( 'These are all optional, and only necessary if you do not have the service\'s plugin installed on your site, but their caches are still used.<br /><br />Please consult with your hosting provider or IT Team if you do not know if they are in use.' ),
    459468                    'fields' => array(
    460469                       
     
    463472                            'id' => 'cloudflare_token',
    464473                            'type' => 'text',
    465                             'title' => __( 'Cloudflare Token', 'the-cache-purger' ),
    466                             'desc' => __( 'Enter your Cloudflare API Token. If you do not have one, you can create one here: <a href="https://dash.cloudflare.com/profile/api-tokens" target="_blank">https://dash.cloudflare.com/profile/api-tokens</a><br /><strong>NOTE: </strong>This is stored in plain-text.', 'the-cache-purger' ),
     474                            'title' => __( 'Cloudflare Token' ),
     475                            'desc' => __( 'Enter your Cloudflare API Token. If you do not have one, you can create one here: <a href="https://dash.cloudflare.com/profile/api-tokens" target="_blank">https://dash.cloudflare.com/profile/api-tokens</a><br /><strong>NOTE: </strong>This is stored in plain-text.' ),
    467476                            'attributes'  => array( 'type' => 'password', ),
    468477                            'class' => 'kptcp-half-field',
     
    473482                            'id' => 'cloudflare_zone',
    474483                            'type' => 'text',
    475                             'title' => __( 'Cloudflare Zone', 'the-cache-purger' ),
    476                             'desc' => __( 'Enter your Cloudflare Zone ID. You can find this by clicking into your websites overview in your account: <a href="https://dash.cloudflare.com/" target="_blank">https://dash.cloudflare.com/</a><br /><strong>NOTE: </strong>This is stored in plain-text.', 'the-cache-purger' ),
     484                            'title' => __( 'Cloudflare Zone' ),
     485                            'desc' => __( 'Enter your Cloudflare Zone ID. You can find this by clicking into your websites overview in your account: <a href="https://dash.cloudflare.com/" target="_blank">https://dash.cloudflare.com/</a><br /><strong>NOTE: </strong>This is stored in plain-text.' ),
    477486                            'attributes'  => array( 'type' => 'password', ),
    478487                            'class' => 'kptcp-half-field',
     
    483492                            'id' => 'sucuri_key',
    484493                            'type' => 'text',
    485                             'title' => __( 'Sucuri Key', 'the-cache-purger' ),
    486                             'desc' => __( 'Enter your Sucuri API Key. If you do not have one, you can find it in your site\'s Firewall here: <a href="https://waf.sucuri.net/" target="_blank">https://waf.sucuri.net/</a>. Click into your site, then Settings, then API.<br /><strong>NOTE: </strong>This is stored in plain-text.', 'the-cache-purger' ),
     494                            'title' => __( 'Sucuri Key' ),
     495                            'desc' => __( 'Enter your Sucuri API Key. If you do not have one, you can find it in your site\'s Firewall here: <a href="https://waf.sucuri.net/" target="_blank">https://waf.sucuri.net/</a>. Click into your site, then Settings, then API.<br /><strong>NOTE: </strong>This is stored in plain-text.' ),
    487496                            'attributes'  => array( 'type' => 'password', ),
    488497                            'class' => 'kptcp-half-field',
     
    493502                            'id' => 'sucuri_secret',
    494503                            'type' => 'text',
    495                             'title' => __( 'Sucuri Secret', 'the-cache-purger' ),
    496                             'desc' => __( 'Enter your Sucuri API Secret. If you do not have one, you can find it in your site\'s Firewall here: <a href="https://waf.sucuri.net/" target="_blank">https://waf.sucuri.net/</a>. Click into your site, then Settings, then API.<br /><strong>NOTE: </strong>This is stored in plain-text.', 'the-cache-purger' ),
     504                            'title' => __( 'Sucuri Secret' ),
     505                            'desc' => __( 'Enter your Sucuri API Secret. If you do not have one, you can find it in your site\'s Firewall here: <a href="https://waf.sucuri.net/" target="_blank">https://waf.sucuri.net/</a>. Click into your site, then Settings, then API.<br /><strong>NOTE: </strong>This is stored in plain-text.' ),
    497506                            'attributes'  => array( 'type' => 'password', ),
    498507                            'class' => 'kptcp-half-field',
     
    503512                            'id' => 'fastly_token',
    504513                            'type' => 'text',
    505                             'title' => __( 'Fastly Token', 'the-cache-purger' ),
    506                             'desc' => __( 'Enter your Fastly CDN Token. If you do not have one, you can find it in your account here: <a href="https://manage.fastly.com/account/personal/tokens" target="_blank">https://manage.fastly.com/account/personal/tokens</a>. You will need to make sure to select a service when you create your token.<br /><strong>NOTE: </strong>This is stored in plain-text.', 'the-cache-purger' ),
     514                            'title' => __( 'Fastly Token' ),
     515                            'desc' => __( 'Enter your Fastly CDN Token. If you do not have one, you can find it in your account here: <a href="https://manage.fastly.com/account/personal/tokens" target="_blank">https://manage.fastly.com/account/personal/tokens</a>. You will need to make sure to select a service when you create your token.<br /><strong>NOTE: </strong>This is stored in plain-text.' ),
    507516                            'attributes'  => array( 'type' => 'password', ),
    508517                            'class' => 'kptcp-half-field',
     
    513522                            'id' => 'fastly_service_id',
    514523                            'type' => 'text',
    515                             'title' => __( 'Fastly Service ID', 'the-cache-purger' ),
    516                             'desc' => __( 'Enter your Fastly Service ID. If you do not have one, you can find it in your account here: <a href="https://manage.fastly.com/account/tokens" target="_blank">https://manage.fastly.com/account/tokens</a>. You will need to make sure to select a service when you create your token.<br /><strong>NOTE: </strong>This is stored in plain-text.', 'the-cache-purger' ),
     524                            'title' => __( 'Fastly Service ID' ),
     525                            'desc' => __( 'Enter your Fastly Service ID. If you do not have one, you can find it in your account here: <a href="https://manage.fastly.com/account/tokens" target="_blank">https://manage.fastly.com/account/tokens</a>. You will need to make sure to select a service when you create your token.<br /><strong>NOTE: </strong>This is stored in plain-text.' ),
    517526                            'attributes'  => array( 'type' => 'password', ),
    518527                            'class' => 'kptcp-half-field',
     
    534543         * Private method pull together the settings fields
    535544         *
    536          * @since 7.4
     545         * @since 8.1
    537546         * @access private
    538547         * @author Kevin Pirnie <[email protected]>
     
    556565                array(
    557566                    'id' => 'caches_to_purge',
    558                     'title' => __( 'Caches To Purge', 'the-cache-purger' ),
    559                     'desc' => __( 'Select which caches should be purged?', 'the-cache-purger' ),
     567                    'title' => __( 'Caches To Purge' ),
     568                    'desc' => __( 'Select which caches should be purged?' ),
    560569                    'type' => 'button_set',
    561570                    'options' => array(
    562                         1 => __( 'Plugin Caches', 'the-cache-purger' ),
    563                         2 => __( 'Wordpress Caches', 'the-cache-purger' ),
    564                         3 => __( 'Server Caches', 'the-cache-purger' ),
    565                         4 => __( 'Memory Caches', 'the-cache-purger' ),
    566                         5 => __( 'API Caches', 'the-cache-purger' ),
     571                        1 => __( 'Plugin Caches' ),
     572                        2 => __( 'Wordpress Caches' ),
     573                        3 => __( 'Server Caches' ),
     574                        4 => __( 'Memory Caches' ),
     575                        5 => __( 'API Caches' ),
    567576                    ),
    568577                    'inline' => true,
     
    575584                    'id' => 'should_log',
    576585                    'type' => 'switcher',
    577                     'title' => __( 'Log Purge Actions?', 'the-cache-purger' ),
    578                     'desc' => __( 'This will attempt to write a log of all purge actions performed.<br />The file location is: <code>' . ABSPATH . 'wp-content/purge.log</code><br /><strong>NOTE: </strong>Make sure you hard refresh this page once you save the settings.', 'the-cache-purger' ),
     586                    'title' => __( 'Log Purge Actions?' ),
     587                    'desc' => __( 'This will attempt to write a log of all purge actions performed.<br />The file location is: <code>' . ABSPATH . 'wp-content/purge.log</code><br /><strong>NOTE: </strong>Make sure you hard refresh this page once you save the settings.' ),
    579588                    'default' => false,
    580589                ),
     
    584593                    'id' => 'on_plugin_settings',
    585594                    'type' => 'switcher',
    586                     'title' => __( 'Purge on settings save?', 'the-cache-purger' ),
    587                     'desc' => __( 'This will attempt to purge all configured caches for settings save actions.<br /><strong>NOTE:</strong>You need to hard refresh this page after saving this setting in order for this to take effect.', 'the-cache-purger' ),
     595                    'title' => __( 'Purge on settings save?' ),
     596                    'desc' => __( 'This will attempt to purge all configured caches for settings save actions.<br /><strong>NOTE:</strong>You need to hard refresh this page after saving this setting in order for this to take effect.' ),
    588597                    'default' => false,
    589598                ),
     
    593602                    'id' => 'on_menu',
    594603                    'type' => 'switcher',
    595                     'title' => __( 'Purge on Menu Save/Delete?', 'the-cache-purger' ),
    596                     'desc' => __( 'This will attempt to purge all configured caches for every menu update, save, or delete.', 'the-cache-purger' ),
     604                    'title' => __( 'Purge on Menu Save/Delete?' ),
     605                    'desc' => __( 'This will attempt to purge all configured caches for every menu update, save, or delete.' ),
    597606                    'default' => false,
    598607                ),
     
    602611                    'id' => 'on_post',
    603612                    'type' => 'switcher',
    604                     'title' => __( 'Purge on Post Save/Delete?', 'the-cache-purger' ),
    605                     'desc' => __( 'This will attempt to purge all configured caches for every post update, save, or delete.', 'the-cache-purger' ),
     613                    'title' => __( 'Purge on Post Save/Delete?' ),
     614                    'desc' => __( 'This will attempt to purge all configured caches for every post update, save, or delete.' ),
    606615                    'default' => false,
    607616                ),
     
    613622                    'chosen' => true,
    614623                    'multiple' => true,
    615                     'title' => __( 'Ignored Posts', 'the-cache-purger' ),
    616                     'placeholder' => __( 'Please select the posts to ignore...', 'the-cache-purger' ),
    617                     'desc' => __( 'Posts to ignore from the purger. This will simply ignore the purge action when the selected posts get updated.', 'the-cache-purger' ),
     624                    'title' => __( 'Ignored Posts' ),
     625                    'placeholder' => __( 'Please select the posts to ignore...' ),
     626                    'desc' => __( 'Posts to ignore from the purger. This will simply ignore the purge action when the selected posts get updated.' ),
    618627                    'options' => KPCPC::get_posts_for_select( 'posts' ),
    619628                    'default' => array( 0 ),
     
    625634                    'id' => 'on_page',
    626635                    'type' => 'switcher',
    627                     'title' => __( 'Purge on Page Save/Delete?', 'the-cache-purger' ),
    628                     'desc' => __( 'This will attempt to purge all configured caches for every page update, save, or delete.', 'the-cache-purger' ),
     636                    'title' => __( 'Purge on Page Save/Delete?' ),
     637                    'desc' => __( 'This will attempt to purge all configured caches for every page update, save, or delete.' ),
    629638                    'default' => false,
    630639                ),
     
    636645                    'chosen' => true,
    637646                    'multiple' => true,
    638                     'title' => __( 'Ignored Pages', 'the-cache-purger' ),
    639                     'placeholder' => __( 'Please select the pages to ignore...', 'the-cache-purger' ),
    640                     'desc' => __( 'Pages to ignore from the purger. This will simply ignore the purge action when the selected pages get updated.', 'the-cache-purger' ),
     647                    'title' => __( 'Ignored Pages' ),
     648                    'placeholder' => __( 'Please select the pages to ignore...' ),
     649                    'desc' => __( 'Pages to ignore from the purger. This will simply ignore the purge action when the selected pages get updated.' ),
    641650                    'options' => KPCPC::get_posts_for_select( 'pages' ),
    642651                    'default' => array( 0 ),
     
    648657                    'id' => 'on_cpt',
    649658                    'type' => 'switcher',
    650                     'title' => __( 'Purge on Custom Post Type Save/Delete?', 'the-cache-purger' ),
    651                     'desc' => __( 'This will attempt to purge all configured caches for every custom post type update, save, or delete.', 'the-cache-purger' ),
     659                    'title' => __( 'Purge on Custom Post Type Save/Delete?' ),
     660                    'desc' => __( 'This will attempt to purge all configured caches for every custom post type update, save, or delete.' ),
    652661                    'default' => false,
    653662                ),
     
    659668                    'chosen' => true,
    660669                    'multiple' => true,
    661                     'title' => __( 'Ignored CPTs', 'the-cache-purger' ),
    662                     'placeholder' => __( 'Please select the cpts to ignore...', 'the-cache-purger' ),
    663                     'desc' => __( 'CPTs to ignore from the purger. This will simply ignore the purge action when the selected CPT get updated.', 'the-cache-purger' ),
     670                    'title' => __( 'Ignored CPTs' ),
     671                    'placeholder' => __( 'Please select the cpts to ignore...' ),
     672                    'desc' => __( 'CPTs to ignore from the purger. This will simply ignore the purge action when the selected CPT get updated.' ),
    664673                    'options' => KPCPC::get_post_types_for_select( ),
    665674                    'default' => array( 0 ),
     
    671680                    'id' => 'on_taxonomy',
    672681                    'type' => 'switcher',
    673                     'title' => __( 'Purge on Taxonomy/Term Save/Delete?', 'the-cache-purger' ),
    674                     'desc' => __( 'This will attempt to purge all configured caches for every taxonomy/term update, save, or delete.', 'the-cache-purger' ),
     682                    'title' => __( 'Purge on Taxonomy/Term Save/Delete?' ),
     683                    'desc' => __( 'This will attempt to purge all configured caches for every taxonomy/term update, save, or delete.' ),
    675684                    'default' => false,
    676685                ),
     
    680689                    'id' => 'on_category',
    681690                    'type' => 'switcher',
    682                     'title' => __( 'Purge on Category Save/Delete?', 'the-cache-purger' ),
    683                     'desc' => __( 'This will attempt to purge all configured caches for every category update, save, or delete.', 'the-cache-purger' ),
     691                    'title' => __( 'Purge on Category Save/Delete?' ),
     692                    'desc' => __( 'This will attempt to purge all configured caches for every category update, save, or delete.' ),
    684693                    'default' => false,
    685694                ),
     
    689698                    'id' => 'on_widget',
    690699                    'type' => 'switcher',
    691                     'title' => __( 'Purge on Widget Save/Delete?', 'the-cache-purger' ),
    692                     'desc' => __( 'This will attempt to purge all configured caches for every widget update, save, or delete.', 'the-cache-purger' ),
     700                    'title' => __( 'Purge on Widget Save/Delete?' ),
     701                    'desc' => __( 'This will attempt to purge all configured caches for every widget update, save, or delete.' ),
    693702                    'default' => false,
    694703                ),
     
    698707                    'id' => 'on_customizer',
    699708                    'type' => 'switcher',
    700                     'title' => __( 'Purge on Customizer Save?', 'the-cache-purger' ),
    701                     'desc' => __( 'This will attempt to purge all configured caches for every customizer update or save.', 'the-cache-purger' ),
     709                    'title' => __( 'Purge on Customizer Save?' ),
     710                    'desc' => __( 'This will attempt to purge all configured caches for every customizer update or save.' ),
    702711                    'default' => false,
    703712                ),
     
    712721                        'id' => 'on_form',
    713722                        'type' => 'switcher',
    714                         'title' => __( 'Purge on Form Save/Delete?', 'the-cache-purger' ),
    715                         'desc' => __( 'This will attempt to purge all configured caches for every form update, save, or delete.', 'the-cache-purger' ),
     723                        'title' => __( 'Purge on Form Save/Delete?' ),
     724                        'desc' => __( 'This will attempt to purge all configured caches for every form update, save, or delete.' ),
    716725                        'default' => false,
    717726                    );
     
    723732                    'chosen' => true,
    724733                    'multiple' => true,
    725                     'title' => __( 'Ignored Forms', 'the-cache-purger' ),
    726                     'placeholder' => __( 'Please select the forms to ignore...', 'the-cache-purger' ),
    727                     'desc' => __( 'Forms to ignore from the purger. This will simply ignore the purge action when the selected forms get updated.', 'the-cache-purger' ),
     734                    'title' => __( 'Ignored Forms' ),
     735                    'placeholder' => __( 'Please select the forms to ignore...' ),
     736                    'desc' => __( 'Forms to ignore from the purger. This will simply ignore the purge action when the selected forms get updated.' ),
    728737                    'options' => $this -> get_our_forms( ),
    729738                    'default' => array( 0 ),
     
    740749                    'id' => 'on_acf',
    741750                    'type' => 'switcher',
    742                     'title' => __( 'Purge on ACF Save/Delete?', 'the-cache-purger' ),
    743                     'desc' => __( 'This will attempt to purge all configured caches for every "advanced custom field" group update, save, or delete.', 'the-cache-purger' ),
     751                    'title' => __( 'Purge on ACF Save/Delete?' ),
     752                    'desc' => __( 'This will attempt to purge all configured caches for every "advanced custom field" group update, save, or delete.' ),
    744753                    'default' => false,
    745754                );
     
    751760                    'chosen' => true,
    752761                    'multiple' => true,
    753                     'title' => __( 'Ignored Field Groups', 'the-cache-purger' ),
    754                     'placeholder' => __( 'Please select the field groupd to ignore...', 'the-cache-purger' ),
    755                     'desc' => __( 'Field Groups to ignore from the purger. This will simply ignore the purge action when the selected field groups get updated.', 'the-cache-purger' ),
     762                    'title' => __( 'Ignored Field Groups' ),
     763                    'placeholder' => __( 'Please select the field groupd to ignore...' ),
     764                    'desc' => __( 'Field Groups to ignore from the purger. This will simply ignore the purge action when the selected field groups get updated.' ),
    756765                    'options' => $this -> get_our_field_groups( ),
    757766                    'default' => array( 0 ),
     
    771780         * Private method pull together the documentation
    772781         *
    773          * @since 7.4
     782         * @since 8.1
    774783         * @access private
    775784         * @author Kevin Pirnie <[email protected]>
     
    814823         * Private method pull in the purge log for display in the backend
    815824         *
    816          * @since 7.4
     825         * @since 8.1
    817826         * @access private
    818827         * @author Kevin Pirnie <[email protected]>
     
    857866         * Private method pull all forms
    858867         *
    859          * @since 7.4
     868         * @since 8.1
    860869         * @access private
    861870         * @author Kevin Pirnie <[email protected]>
     
    871880
    872881            // populate the NONE
    873             $_ret[0] = __( ' -- None -- ', 'the-cache-purger' );
     882            $_ret[0] = __( ' -- None -- ' );
    874883
    875884            // get all forms
     
    886895
    887896                    // setup the return array
    888                     $_ret[$_forms[$_i]['id']] = __( $_forms[$_i]['title'], 'the-cache-purger' );
     897                    $_ret[$_forms[$_i]['id']] = __( $_forms[$_i]['title'] );
    889898
    890899                }
     
    902911         * Private method pull all ACF field groups
    903912         *
    904          * @since 7.4
     913         * @since 8.1
    905914         * @access private
    906915         * @author Kevin Pirnie <[email protected]>
     
    916925
    917926            // populate the NONE
    918             $_ret[0] = __( ' -- None -- ', 'the-cache-purger' );
     927            $_ret[0] = __( ' -- None -- ' );
    919928
    920929            // get all field groups
     
    931940
    932941                    // add to the array
    933                     $_ret[$_fgs[$_i]['ID']] = __( $_fgs[$_i]['title'], 'the-cache-purger' );
     942                    $_ret[$_fgs[$_i]['ID']] = __( $_fgs[$_i]['title'] );
    934943
    935944                }
     
    947956         * The method pulls the current WP Cron schedules
    948957         *
    949          * @since 7.4
     958         * @since 8.1
    950959         * @access private
    951960         * @author Kevin Pirnie <[email protected]>
     
    967976
    968977                // populate the returnable array
    969                 $_ret[ $_k ] = __( $_v[ 'display' ], 'the-cache-purger' );
     978                $_ret[ $_k ] = __( $_v[ 'display' ] );
    970979            }
    971980
  • the-cache-purger/trunk/work/inc/kp-cache-purge-common.php

    r3117223 r3309228  
    55 * This file contains the plugins common functionality
    66 *
    7  * @since 7.4
     7 * @since 8.1
    88 * @author Kevin Pirnie <[email protected]>
    99 * @package The Cache Purger
     
    2222     * Class for building out the common functionality for the plugin
    2323     *
    24      * @since 7.4
     24     * @since 8.1
    2525     * @access public
    2626     * @author Kevin Pirnie <[email protected]>
     
    3131
    3232        /**
     33         * initialize_plugin
     34         *
     35         * Initialize the plugin
     36         *
     37         * @since 8.1
     38         * @access public
     39         * @static
     40         * @author Kevin Pirnie <[email protected]>
     41         * @package The Cache Purger
     42         *
     43         * @return void Returns nothing
     44         *
     45        */
     46        public static function initialize_plugin( ) : void {
     47
     48            // once the plugins are loaded
     49            add_action( 'plugins_loaded', function( ) {
     50
     51                // initialize the field framework
     52                KPTCP::init( );
     53
     54            }, PHP_INT_MAX );
     55
     56            // hack in some styling
     57            add_action( 'admin_enqueue_scripts', function( ) : void {
     58
     59                // we are, so queue up our unminified assets
     60                wp_register_style( 'kpcp_css', plugins_url( '/assets/css/style.css?_=' . time( ), TCP_PATH . '/' . TCP_FILENAME ), null, null );
     61
     62                // enqueue it
     63                wp_enqueue_style( 'kpcp_css' );
     64               
     65            }, PHP_INT_MAX );
     66
     67            // hook into the admin_init
     68            add_action( 'admin_init', function( ) : void {
     69
     70                // get the querystring for the purge
     71                $_do_purge = filter_var( ( isset( $_GET['the_purge'] ) ) ? sanitize_text_field( $_GET['the_purge'] ) : false, FILTER_VALIDATE_BOOLEAN );
     72           
     73                // if it's true
     74                if( $_do_purge ) {
     75
     76                    // setup the cache purger
     77                    $_cp = new KP_Cache_Purge( );
     78
     79                    // purge
     80                    $_cp -> kp_do_purge( );
     81
     82                    // log the purge
     83                    KPCPC::write_log( "Manual Cache Cleared" );
     84
     85                    // clean it up
     86                    unset( $_cp );
     87
     88                    // show an admin message
     89                    add_action( 'admin_notices', function( ) :void {
     90
     91                        ?>
     92                        <div class="notice notice-success is-dismissible">
     93                            <p><?php _e( "<p>The cache purge has initialized.</p><p>The majority is run in the background, so please wait around 2 minutes for it to complete.</p>" ); ?></p>
     94                        </div>
     95                        <?php
     96
     97                    }, PHP_INT_MAX );
     98
     99                }
     100
     101                // get the querystring for purging the log
     102                $_do_log_purge = filter_var( ( isset( $_GET['the_log_purge'] ) ) ? sanitize_text_field( $_GET['the_log_purge'] ) : false, FILTER_VALIDATE_BOOLEAN );
     103
     104                /// make sure we are actually purging the log
     105                if( $_do_log_purge ) {
     106
     107                    // get the logs path
     108                    $_l_path = ABSPATH . 'wp-content/purge.log';
     109
     110                    // unfortunately we cannot utilize wordpress's built-in file methods, but let's clear the log
     111                    file_put_contents( $_l_path, '', LOCK_EX );
     112
     113                }
     114
     115            }, PHP_INT_MAX );
     116
     117            // hook into the wordpress initialization
     118            add_action( 'init', function( ) : void {
     119
     120                // initialize the field framework
     121                KPTCP::init( );
     122
     123                // get our options
     124                $_opts = KPCPC::get_options( );
     125
     126                // get our wp cron info
     127                $_cron_info = wp_get_schedules( );
     128
     129                // set if it's allowed
     130                $_allowed = filter_var( ( $_opts -> cron_schedule_allowed ) ?? false, FILTER_VALIDATE_BOOLEAN );
     131                $_l_allowed = filter_var( ( $_opts -> should_log ) ?? false, FILTER_VALIDATE_BOOLEAN );
     132                $_lp_allowed = filter_var( ( $_opts -> cron_log_purge_allowed ) ?? false, FILTER_VALIDATE_BOOLEAN );
     133
     134                // if it is
     135                if( $_allowed ) {
     136
     137                    // setup our action and create the job for it
     138                    add_action( 'kpcpc_the_purge', [__CLASS__, 'do_the_actual_purge'] );
     139
     140                    // make sure we're only scheduling this once
     141                    if( ! as_has_scheduled_action( 'kpcpc_the_purge' ) ) {
     142
     143                        // throw a hook here
     144                        do_action( 'tcp_cron_cache_purge' );
     145
     146                        // get our schedule options
     147                        $_bi_schedule = ( $_opts -> cron_schedule_builtin ) ?? 'hourly';
     148
     149                        // schedule the event
     150                        as_schedule_recurring_action( time( ), $_cron_info[ $_bi_schedule ]['interval'], 'kpcpc_the_purge' );
     151
     152                    }
     153
     154                }
     155
     156                // if the log is enabled and if the log purging is allowed, and allowed to be on a schedule
     157                if( $_l_allowed && $_lp_allowed ) {
     158
     159                    // setup the action to be performed
     160                    add_action( 'kpcpc_the_log_purge', [__CLASS__, 'do_log_purge'] );
     161
     162                    // make sure we're only scheduling this once
     163                    if( ! as_has_scheduled_action( 'kpcpc_the_log_purge' ) ) {
     164
     165                        // throw a hook here
     166                        do_action( 'tcp_cron_log_purge' );
     167
     168                        // get our schedule options
     169                        $_bi_schedule = ( $_opts -> cron_log_purge_schedule ) ?? 'weekly';
     170
     171                        // schedule the event
     172                        as_schedule_recurring_action( time( ), $_cron_info[ $_bi_schedule ]['interval'], 'kpcpc_the_log_purge' );
     173
     174                    }
     175
     176                }
     177
     178                // see if we're purging
     179                $_is_purging = filter_var( ( get_transient( 'is_doing_cache_purge' ) ) ?? false, FILTER_VALIDATE_BOOLEAN );
     180
     181                // if we are purging
     182                if( $_is_purging ) {
     183
     184                    // create a hook for the clearing to occurr in
     185                    add_action( 'kptcp_long_purge', [__CLASS__, 'do_the_long_purge'] );
     186
     187                    // check if the long purge task already exists
     188                    if( ! as_next_scheduled_action( 'kptcp_long_purge' ) ) {
     189
     190                        // throw a hook here
     191                        do_action( 'tcp_long_cache_purge' );
     192
     193                        // schedule it to run once as soon as possible
     194                        as_schedule_single_action( time( ) + 5, 'kptcp_long_purge' );
     195
     196                    }
     197
     198                }
     199
     200            }, PHP_INT_MAX );
     201
     202            // hook into the custom fields loaded
     203            add_action( 'kptcp_loaded', function( ) : void {
     204
     205                // fire up the admin class
     206                $_cp_admin = new KP_Cache_Purge_Admin( );
     207
     208                // do it!
     209                $_cp_admin -> kpcp_admin( );
     210
     211                // clean it up
     212                unset( $_cp_admin );
     213
     214            }, PHP_INT_MAX );
     215           
     216            // we'll need a message in wp-admin for PHP 8 compatibility
     217            add_action( 'admin_notices', function( ) : void {
     218
     219                // if the site is under PHP 8.1
     220                if ( version_compare( PHP_VERSION, '8.1', '<=' ) ) {
     221
     222                    // show this notice
     223                    ?>
     224                    <div class="notice notice-info is-dismissible">
     225                        <p><?php _e( "<h3>PHP Upgrade Notice</h3><p>To maintain optimal security standards, this will be the final version that supports PHP versions lower than 8.1. Your site must be upgraded in order to update the plugin to future versions.</p><p>Please see here for up to date PHP version information: <a href='https://www.php.net/supported-versions.php' target='_blank'>https://www.php.net/supported-versions.php</a></p>" ); ?></p>
     226                    </div>
     227                <?php
     228                }
     229            }, PHP_INT_MAX );
     230
     231            // fire up the processor class here.  Inside it are the proper hooks where the actual purging will take place
     232            $_processor = new KP_Cache_Purge_Processor( );
     233
     234            // run the processing
     235            $_processor -> process( );
     236
     237            // clean up
     238            unset( $_processor );
     239
     240        }
     241
     242        /**
     243         * do_the_long_purge
     244         *
     245         * Perform the long purging
     246         *
     247         * @since 8.1
     248         * @access public
     249         * @static
     250         * @author Kevin Pirnie <[email protected]>
     251         * @package The Cache Purger
     252         *
     253         * @return void Returns nothing
     254         *
     255        */
     256        public static function do_the_long_purge( ) : void {
     257
     258            // fire up the cache purge
     259            $_cp = new KP_Cache_Purge( );
     260
     261            // run the long runner
     262            $_cp -> kp_do_long_purge( );
     263
     264            // clean up
     265            unset( $_cp );
     266
     267        }
     268
     269        /**
     270         * do_log_purge
     271         *
     272         * Clean the log
     273         *
     274         * @since 8.1
     275         * @access public
     276         * @static
     277         * @author Kevin Pirnie <[email protected]>
     278         * @package The Cache Purger
     279         *
     280         * @return void Returns nothing
     281         *
     282        */
     283        public static function do_log_purge( ) : void {
     284
     285            // get the logs path
     286            $_l_path = ABSPATH . 'wp-content/purge.log';
     287
     288            // unfortunately we cannot utilize wordpress's built-in file methods, but let's clear the log
     289            file_put_contents( $_l_path, '', LOCK_EX );
     290
     291        }
     292
     293        /**
     294         * do_the_actual_purge
     295         *
     296         * Perform the actual purging
     297         *
     298         * @since 8.1
     299         * @access public
     300         * @static
     301         * @author Kevin Pirnie <[email protected]>
     302         * @package The Cache Purger
     303         *
     304         * @return void Returns nothing
     305         *
     306        */
     307        public static function do_the_actual_purge( ) : void {
     308
     309            // run the purge!
     310            $_cp = new KP_Cache_Purge( );
     311
     312            // purge
     313            $_cp -> kp_do_purge( );
     314
     315            // log the purge
     316            KPCPC::write_log( "CRONJOB Cache Cleared" );
     317
     318            // clean it up
     319            unset( $_cp );
     320
     321        }
     322
     323
     324        /**
    33325         * get_options
    34326         *
    35327         * Public method pull to the options
    36328         *
    37          * @since 7.4
     329         * @since 8.1
    38330         * @access public
    39331         * @static
     
    61353         * Public method pull to gather all public post types for a select box
    62354         *
    63          * @since 7.4
     355         * @since 8.1
    64356         * @access public
    65357         * @static
     
    111403
    112404                            // add the post type to the returnable array
    113                             $_ret[ $_pt['post_type'] ] = ucwords( __( str_replace( '_', ' ', $_pt['post_type'] ), 'the-cache-purger' ) );
     405                            $_ret[ $_pt['post_type'] ] = ucwords( __( str_replace( '_', ' ', $_pt['post_type'] ) ) );
    114406
    115407                        }
     
    123415
    124416                            // add the post type to the returnable array
    125                             $_ret[ $_pt ] = ucwords( __( str_replace( '_', ' ', $_pt ), 'the-cache-purger' ) );
     417                            $_ret[ $_pt ] = ucwords( __( str_replace( '_', ' ', $_pt ) ) );
    126418
    127419                    }
     
    144436         * Public method pull to gather all posts for a select box
    145437         *
    146          * @since 7.4
     438         * @since 8.1
    147439         * @access public
    148440         * @static
     
    232524
    233525                        // add the id as an array index, and the title to the return array
    234                         $_ret[$_post -> ID] = __( $_post -> post_title, 'the-cache-purger' );
     526                        $_ret[$_post -> ID] = __( $_post -> post_title );
    235527
    236528                    }
     
    253545         * Public method pull to gather all public URLs
    254546         *
    255          * @since 7.4
     547         * @since 8.1
    256548         * @access public
    257549         * @static
     
    328620         * for each section the cache is configured to be purged for
    329621         *
    330          * @since 7.4
     622         * @since 8.1
    331623         * @access public
    332624         * @static
     
    363655         * Public method to write to a cache purge log
    364656         *
    365          * @since 7.4
     657         * @since 8.1
    366658         * @access public
    367659         * @static
     
    384676
    385677                // I want to append a timestamp to the message
    386                 $_message = '[' . current_time( 'mysql' ) . ']: ' . __( $_msg, 'the-cache-purger' ) . PHP_EOL;
     678                $_message = '[' . current_time( 'mysql' ) . ']: ' . __( $_msg ) . PHP_EOL;
    387679
    388680                // unfortunately we cannot use wp's builtin filesystem hanlders for this
     
    402694         * Public method to write to a exception log
    403695         *
    404          * @since 7.4
     696         * @since 8.1
    405697         * @access public
    406698         * @static
     
    417709
    418710            // I want to append a timestamp to the message
    419             $_message = '[' . current_time( 'mysql' ) . ']: ' . __( $_msg, 'the-cache-purger' ) . PHP_EOL;
     711            $_message = '[' . current_time( 'mysql' ) . ']: ' . __( $_msg ) . PHP_EOL;
    420712
    421713            // unfortunately we cannot use wp's builtin filesystem hanlders for this
     
    433725         * Public method to return either an array or an empty array
    434726         *
    435          * @since 7.4
     727         * @since 8.1
    436728         * @access public
    437729         * @static
  • the-cache-purger/trunk/work/inc/kp-cache-purge-processor.php

    r3117223 r3309228  
    55 * This file does all the processing for the purges
    66 *
    7  * @since 7.4
     7 * @since 8.1
    88 * @author Kevin Pirnie <[email protected]>
    99 * @package The Cache Purger
     
    2222     * Class for processing the purges
    2323     *
    24      * @since 7.4
     24     * @since 8.1
    2525     * @access public
    2626     * @author Kevin Pirnie <[email protected]>
     
    6969         * Public method attempting to process the purging
    7070         *
    71          * @since 7.4
     71         * @since 8.1
    7272         * @access public
    7373         * @author Kevin Pirnie <[email protected]>
     
    253253         * and check for the exclusions
    254254         *
    255          * @since 7.4
     255         * @since 8.1
    256256         * @access private
    257257         * @author Kevin Pirnie <[email protected]>
     
    446446         * Private method for processing the post
    447447         *
    448          * @since 7.4
     448         * @since 8.1
    449449         * @access public
    450450         * @static
     
    583583         * Private method for processing other cache flushing necessities
    584584         *
    585          * @since 7.4
     585         * @since 8.1
    586586         * @access public
    587587         * @static
  • the-cache-purger/trunk/work/inc/kp-cache-purge.php

    r3128169 r3309228  
    55 * This file contains cache purging methods
    66 *
    7  * @since 7.4
     7 * @since 8.1
    88 * @author Kevin Pirnie <[email protected]>
    99 * @package The Cache Purger
     
    3636     * Class for attempting to purge all caches
    3737     *
    38      * @since 7.4
     38     * @since 8.1
    3939     * @access public
    4040     * @author Kevin Pirnie <[email protected]>
     
    8585         * Public method attempting to purge the sites caches
    8686         *
    87          * @since 7.4
     87         * @since 8.1
    8888         * @access public
    8989         * @author Kevin Pirnie <[email protected]>
     
    160160         * Public method attempting to run the long running purges
    161161         *
    162          * @since 7.4
     162         * @since 8.1
    163163         * @access public
    164164         * @author Kevin Pirnie <[email protected]>
  • the-cache-purger/trunk/work/inc/modules/api.php

    r3128169 r3309228  
    55 * This file contains the api purge methods
    66 *
    7  * @since 7.4
     7 * @since 8.1
    88 * @author Kevin Pirnie <[email protected]>
    99 * @package The Cache Purger
     
    2222     * This trait contains the api purge methods
    2323     *
    24      * @since 7.4
     24     * @since 8.1
    2525     * @author Kevin Pirnie <[email protected]>
    2626     * @package The Cache Purger
     
    3535         * of the configured remote caches
    3636         *
    37          * @since 7.4
     37         * @since 8.1
    3838         * @access private
    3939         * @author Kevin Pirnie <[email protected]>
     
    100100         * This method attempts to purge the fastly cdn caches
    101101         *
    102          * @since 7.4
     102         * @since 8.1
    103103         * @access protected
    104104         * @author Kevin Pirnie <[email protected]>
     
    155155         * This method attempts to purge the sucuri cache configured
    156156         *
    157          * @since 7.4
     157         * @since 8.1
    158158         * @access protected
    159159         * @author Kevin Pirnie <[email protected]>
     
    209209         * This method attempts to purge the cloudflare cache configured
    210210         *
    211          * @since 7.4
     211         * @since 8.1
    212212         * @access protected
    213213         * @author Kevin Pirnie <[email protected]>
  • the-cache-purger/trunk/work/inc/modules/file.php

    r3117223 r3309228  
    55 * This file contains the file purge methods
    66 *
    7  * @since 7.4
     7 * @since 8.1
    88 * @author Kevin Pirnie <[email protected]>
    99 * @package The Cache Purger
     
    2222     * This trait contains the file purge methods
    2323     *
    24      * @since 7.4
     24     * @since 8.1
    2525     * @author Kevin Pirnie <[email protected]>
    2626     * @package The Cache Purger
     
    3434         * This method attempts to delete the file based caches
    3535         *
    36          * @since 7.4
     36         * @since 8.1
    3737         * @access private
    3838         * @author Kevin Pirnie <[email protected]>
     
    8484         * also works recursively
    8585         *
    86          * @since 7.4
     86         * @since 8.1
    8787         * @access private
    8888         * @author Kevin Pirnie <[email protected]>
  • the-cache-purger/trunk/work/inc/modules/hosting.php

    r3117223 r3309228  
    55 * This file contains the hosting purge methods
    66 *
    7  * @since 7.4
     7 * @since 8.1
    88 * @author Kevin Pirnie <[email protected]>
    99 * @package The Cache Purger
     
    2222     * This trait contains the hosting purge methods
    2323     *
    24      * @since 7.4
     24     * @since 8.1
    2525     * @author Kevin Pirnie <[email protected]>
    2626     * @package The Cache Purger
     
    4646         * of the most common hosting environments
    4747         *
    48          * @since 7.4
     48         * @since 8.1
    4949         * @access private
    5050         * @author Kevin Pirnie <[email protected]>
     
    8484         * wpengine caches
    8585         *
    86          * @since 7.4
     86         * @since 8.1
    8787         * @access protected
    8888         * @author Kevin Pirnie <[email protected]>
     
    130130         * kinsta caches
    131131         *
    132          * @since 7.4
     132         * @since 8.1
    133133         * @access protected
    134134         * @author Kevin Pirnie <[email protected]>
     
    165165         * godaddy caches
    166166         *
    167          * @since 7.4
     167         * @since 8.1
    168168         * @access protected
    169169         * @author Kevin Pirnie <[email protected]>
     
    199199         * bluehost caches
    200200         *
    201          * @since 7.4
     201         * @since 8.1
    202202         * @access protected
    203203         * @author Kevin Pirnie <[email protected]>
     
    228228         * cloudways caches
    229229         *
    230          * @since 7.4
     230         * @since 8.1
    231231         * @access protected
    232232         * @author Kevin Pirnie <[email protected]>
     
    259259         * pantheon caches
    260260         *
    261          * @since 7.4
     261         * @since 8.1
    262262         * @access protected
    263263         * @author Kevin Pirnie <[email protected]>
     
    288288         * siteground caches
    289289         *
    290          * @since 7.4
     290         * @since 8.1
    291291         * @access protected
    292292         * @author Kevin Pirnie <[email protected]>
     
    332332         * runcloud caches
    333333         *
    334          * @since 7.4
     334         * @since 8.1
    335335         * @access protected
    336336         * @author Kevin Pirnie <[email protected]>
  • the-cache-purger/trunk/work/inc/modules/memory.php

    r3296444 r3309228  
    55 * This file contains the memory purge methods
    66 *
    7  * @since 7.4
     7 * @since 8.1
    88 * @author Kevin Pirnie <[email protected]>
    99 * @package The Cache Purger
     
    2222     * This trait contains the memory purge methods
    2323     *
    24      * @since 7.4
     24     * @since 8.1
    2525     * @author Kevin Pirnie <[email protected]>
    2626     * @package The Cache Purger
     
    3434         * This method attempts to delete the memory based caches
    3535         *
    36          * @since 7.4
     36         * @since 8.1
    3737         * @access private
    3838         * @author Kevin Pirnie <[email protected]>
     
    6666         * This method attempts to purge the redis servers configured
    6767         *
    68          * @since 7.4
     68         * @since 8.1
    6969         * @access protected
    7070         * @author Kevin Pirnie <[email protected]>
     
    110110                                if( ! empty( $_server['remote_redis_db_id'] ) ) {
    111111                                    $_cfg['database'] = $_server['remote_redis_db_id'];
     112                                }
     113
     114                                // if there's a prefix/key
     115                                $_prefix = null;
     116                                if( ! empty( $_server['remote_redis_prefixkey'] ) ) {
     117                                    $_prefix = $_server['remote_redis_prefixkey'];
    112118                                }
    113119
     
    120126                                }
    121127                               
    122                                 // older than PHP 8.0 support
    123                                 if ( version_compare( PHP_VERSION, '8.0', '<=' ) ) {
    124 
    125                                     // connect
    126                                     call_user_func_array( [$_redis, 'connect'], $_cfg );
    127 
    128                                 // otherwise
     128                                // connect to the database
     129                                $_redis -> connect( ...$_cfg );
     130
     131                                // if we have a prefix/key
     132                                if( $_prefix ) {
     133
     134                                    // setup the index
     135                                    $_idx = 0;
     136
     137                                    // we have to iterate over all items with this prefix/key
     138                                    do {
     139
     140                                        // Scan for keys matching the prefix
     141                                        $_keys = $_redis -> scan( $_idx, $_prefix . '*' );
     142
     143                                        // make sure we aren't throwing ourselves into an endless loop here
     144                                        if ( $_keys === false ) {
     145
     146                                            // No more keys to scan, so break out of the loop
     147                                            break;
     148                                        }
     149                                       
     150                                        // as long as it's not empty
     151                                        if ( ! empty( $_keys ) ) {
     152                                           
     153                                            // delete the item
     154                                            $_redis -> unlink( $_keys );
     155                                        }
     156
     157                                    // while we're greater than 0
     158                                    } while ( $_idx !== 0 );
     159
     160                                // let's only flush the database
     161                                } elseif( ! empty( $_server['remote_redis_db_id'] ) ) {
     162
     163                                    // only flush the database
     164                                    $_redis -> flushDB( );
     165
     166                                // we can flush all
    129167                                } else {
    130168
    131                                     // connect
    132                                     $_redis -> connect( ...$_cfg );
     169                                    // now flush
     170                                    $_redis -> flushAll( );
    133171
    134172                                }
    135 
    136                                 // now flush
    137                                 $_redis -> flushAll( );
    138173
    139174                                // now close the connection
     
    142177                            } catch ( Exception $e ) {
    143178                                // do nothing... php will ignore and continue
     179
    144180                            }
    145181
     
    165201         * This method attempts to purge the memcache servers configured
    166202         *
    167          * @since 7.4
     203         * @since 8.1
    168204         * @access protected
    169205         * @author Kevin Pirnie <[email protected]>
     
    225261         * This method attempts to purge the memcached servers configured
    226262         *
    227          * @since 7.4
     263         * @since 8.1
    228264         * @access protected
    229265         * @author Kevin Pirnie <[email protected]>
  • the-cache-purger/trunk/work/inc/modules/nginx.php

    r3117223 r3309228  
    55 * This file contains the nginx purge methods
    66 *
    7  * @since 7.4
     7 * @since 8.1
    88 * @author Kevin Pirnie <[email protected]>
    99 * @package The Cache Purger
     
    2222     * This trait contains the nginx purge methods
    2323     *
    24      * @since 7.4
     24     * @since 8.1
    2525     * @author Kevin Pirnie <[email protected]>
    2626     * @package The Cache Purger
     
    3535         * if they exist
    3636         *
    37          * @since 7.4
     37         * @since 8.1
    3838         * @access private
    3939         * @author Kevin Pirnie <[email protected]>
  • the-cache-purger/trunk/work/inc/modules/pagespeed.php

    r3117223 r3309228  
    55 * This file contains the pagespeed purge methods
    66 *
    7  * @since 7.4
     7 * @since 8.1
    88 * @author Kevin Pirnie <[email protected]>
    99 * @package The Cache Purger
     
    2222     * This trait contains the pagespeed purge methods
    2323     *
    24      * @since 7.4
     24     * @since 8.1
    2525     * @author Kevin Pirnie <[email protected]>
    2626     * @package The Cache Purger
     
    3434         * This method attempts to purge the PageSpeed Mod caches
    3535         *
    36          * @since 7.4
     36         * @since 8.1
    3737         * @access private
    3838         * @author Kevin Pirnie <[email protected]>
  • the-cache-purger/trunk/work/inc/modules/php.php

    r3117223 r3309228  
    55 * This file contains the php purge methods
    66 *
    7  * @since 7.4
     7 * @since 8.1
    88 * @author Kevin Pirnie <[email protected]>
    99 * @package The Cache Purger
     
    2222     * This trait contains the php purge methods
    2323     *
    24      * @since 7.4
     24     * @since 8.1
    2525     * @author Kevin Pirnie <[email protected]>
    2626     * @package The Cache Purger
     
    4343         * if they exist; wincache, opcache, apc and apcu
    4444         *
    45          * @since 7.4
     45         * @since 8.1
    4646         * @access private
    4747         * @author Kevin Pirnie <[email protected]>
     
    8181         * php wincaches
    8282         *
    83          * @since 7.4
     83         * @since 8.1
    8484         * @access protected
    8585         * @author Kevin Pirnie <[email protected]>
     
    110110         * php Zend opcaches
    111111         *
    112          * @since 7.4
     112         * @since 8.1
    113113         * @access protected
    114114         * @author Kevin Pirnie <[email protected]>
     
    163163         * php apc caches
    164164         *
    165          * @since 7.4
     165         * @since 8.1
    166166         * @access protected
    167167         * @author Kevin Pirnie <[email protected]>
     
    195195         * php xcache
    196196         *
    197          * @since 7.4
     197         * @since 8.1
    198198         * @access protected
    199199         * @author Kevin Pirnie <[email protected]>
  • the-cache-purger/trunk/work/inc/modules/plugin.php

    r3117223 r3309228  
    55 * This file contains the plugin purge methods
    66 *
    7  * @since 7.4
     7 * @since 8.1
    88 * @author Kevin Pirnie <[email protected]>
    99 * @package The Cache Purger
     
    2222     * This trait contains the plugin purge methods
    2323     *
    24      * @since 7.4
     24     * @since 8.1
    2525     * @author Kevin Pirnie <[email protected]>
    2626     * @package The Cache Purger
     
    6464         * of the most common caching plugins
    6565         *
    66          * @since 7.4
     66         * @since 8.1
    6767         * @access private
    6868         * @author Kevin Pirnie <[email protected]>
     
    102102         * of Cloudflare plugin to purge it's caches
    103103         *
    104          * @since 7.4
     104         * @since 8.1
    105105         * @access protected
    106106         * @author Kevin Pirnie <[email protected]>
     
    141141         * of Sucuri plugin to purge it's caches
    142142         *
    143          * @since 7.4
     143         * @since 8.1
    144144         * @access protected
    145145         * @author Kevin Pirnie <[email protected]>
     
    173173         * of Siteground plugin to purge it's caches
    174174         *
    175          * @since 7.4
     175         * @since 8.1
    176176         * @access protected
    177177         * @author Kevin Pirnie <[email protected]>
     
    202202         * of nGinx Helper plugin to purge it's caches
    203203         *
    204          * @since 7.4
     204         * @since 8.1
    205205         * @access protected
    206206         * @author Kevin Pirnie <[email protected]>
     
    230230         * of Lightspeed plugin to purge it's caches
    231231         *
    232          * @since 7.4
     232         * @since 8.1
    233233         * @access protected
    234234         * @author Kevin Pirnie <[email protected]>
     
    261261         * of Cachify plugin to purge it's caches
    262262         *
    263          * @since 7.4
     263         * @since 8.1
    264264         * @access protected
    265265         * @author Kevin Pirnie <[email protected]>
     
    289289         * of Autoptimize plugin to purge it's caches
    290290         *
    291          * @since 7.4
     291         * @since 8.1
    292292         * @access protected
    293293         * @author Kevin Pirnie <[email protected]>
     
    320320         * of Fast Velocity plugin to purge it's caches
    321321         *
    322          * @since 7.4
     322         * @since 8.1
    323323         * @access protected
    324324         * @author Kevin Pirnie <[email protected]>
     
    348348         * of WP Rocket plugin to purge it's caches
    349349         *
    350          * @since 7.4
     350         * @since 8.1
    351351         * @access protected
    352352         * @author Kevin Pirnie <[email protected]>
     
    377377         * of Swift plugin to purge it's caches
    378378         *
    379          * @since 7.4
     379         * @since 8.1
    380380         * @access protected
    381381         * @author Kevin Pirnie <[email protected]>
     
    406406         * of Comet Cache plugin to purge it's caches
    407407         *
    408          * @since 7.4
     408         * @since 8.1
    409409         * @access protected
    410410         * @author Kevin Pirnie <[email protected]>
     
    434434         * of Hummingbird Cache plugin to purge it's caches
    435435         *
    436          * @since 7.4
     436         * @since 8.1
    437437         * @access protected
    438438         * @author Kevin Pirnie <[email protected]>
     
    465465         * of WP Fastest Cache plugin to purge it's caches
    466466         *
    467          * @since 7.4
     467         * @since 8.1
    468468         * @access protected
    469469         * @author Kevin Pirnie <[email protected]>
     
    496496         * of WP Fastest Cache (newer) plugin to purge it's caches
    497497         *
    498          * @since 7.4
     498         * @since 8.1
    499499         * @access protected
    500500         * @author Kevin Pirnie <[email protected]>
     
    525525         * of WP Super Cache plugin to purge it's caches
    526526         *
    527          * @since 7.4
     527         * @since 8.1
    528528         * @access protected
    529529         * @author Kevin Pirnie <[email protected]>
     
    563563         * of W3 Total Cache plugin to purge it's caches
    564564         *
    565          * @since 7.4
     565         * @since 8.1
    566566         * @access protected
    567567         * @author Kevin Pirnie <[email protected]>
     
    594594         * of Hyper Cache plugin to purge it's caches
    595595         *
    596          * @since 7.4
     596         * @since 8.1
    597597         * @access protected
    598598         * @author Kevin Pirnie <[email protected]>
     
    625625         * of WP Optimize plugin to purge it's caches
    626626         *
    627          * @since 7.4
     627         * @since 8.1
    628628         * @access protected
    629629         * @author Kevin Pirnie <[email protected]>
     
    669669         * of WP Optimize (newer version) plugin to purge it's caches
    670670         *
    671          * @since 7.4
     671         * @since 8.1
    672672         * @access protected
    673673         * @author Kevin Pirnie <[email protected]>
     
    714714         * of Cache Enabler plugin to purge it's caches
    715715         *
    716          * @since 7.4
     716         * @since 8.1
    717717         * @access protected
    718718         * @author Kevin Pirnie <[email protected]>
     
    746746         * of Elementor plugin to purge it's caches
    747747         *
    748          * @since 7.4
     748         * @since 8.1
    749749         * @access protected
    750750         * @author Kevin Pirnie <[email protected]>
     
    775775         * of Divi plugin to purge it's caches
    776776         *
    777          * @since 7.4
     777         * @since 8.1
    778778         * @access protected
    779779         * @author Kevin Pirnie <[email protected]>
     
    856856         * of WP Rest Cache plugin to purge it's caches
    857857         *
    858          * @since 7.4
     858         * @since 8.1
    859859         * @access protected
    860860         * @author Kevin Pirnie <[email protected]>
     
    899899         * of nitropack plugin to purge it's caches
    900900         *
    901          * @since 7.4
     901         * @since 8.1
    902902         * @access protected
    903903         * @author Kevin Pirnie <[email protected]>
     
    945945         * of flyingpress plugin to purge it's caches
    946946         *
    947          * @since 7.4
     947         * @since 8.1
    948948         * @access protected
    949949         * @author Kevin Pirnie <[email protected]>
  • the-cache-purger/trunk/work/inc/modules/varnish.php

    r3117223 r3309228  
    55 * This file contains the varnish purge methods
    66 *
    7  * @since 7.4
     7 * @since 8.1
    88 * @author Kevin Pirnie <[email protected]>
    99 * @package The Cache Purger
     
    2222     * This trait contains the varnish purge methods
    2323     *
    24      * @since 7.4
     24     * @since 8.1
    2525     * @author Kevin Pirnie <[email protected]>
    2626     * @package The Cache Purger
     
    3434         * This method attempts to delete the varnish based caches
    3535         *
    36          * @since 7.4
     36         * @since 8.1
    3737         * @access private
    3838         * @author Kevin Pirnie <[email protected]>
  • the-cache-purger/trunk/work/inc/modules/wordpress.php

    r3117223 r3309228  
    55 * This file contains the wordpress purge methods
    66 *
    7  * @since 7.4
     7 * @since 8.1
    88 * @author Kevin Pirnie <[email protected]>
    99 * @package The Cache Purger
     
    2222     * This trait contains the wordpress purge methods
    2323     *
    24      * @since 7.4
     24     * @since 8.1
    2525     * @author Kevin Pirnie <[email protected]>
    2626     * @package The Cache Purger
     
    4343         * builtin to Wordpress
    4444         *
    45          * @since 7.4
     45         * @since 8.1
    4646         * @access private
    4747         * @author Kevin Pirnie <[email protected]>
     
    8181         * wordpress object caches
    8282         *
    83          * @since 7.4
     83         * @since 8.1
    8484         * @access protected
    8585         * @author Kevin Pirnie <[email protected]>
     
    105105         * wordpress option caches
    106106         *
    107          * @since 7.4
     107         * @since 8.1
    108108         * @access protected
    109109         * @author Kevin Pirnie <[email protected]>
     
    145145         * wordpress transient caches
    146146         *
    147          * @since 7.4
     147         * @since 8.1
    148148         * @access protected
    149149         * @author Kevin Pirnie <[email protected]>
Note: See TracChangeset for help on using the changeset viewer.