Plugin Directory

Changeset 3209253


Ignore:
Timestamp:
12/17/2024 02:39:38 PM (14 months ago)
Author:
servebolt
Message:

Update to version 3.5.47 from GitHub

Location:
servebolt-optimizer
Files:
4 added
58 edited
1 copied

Legend:

Unmodified
Added
Removed
  • servebolt-optimizer/tags/3.5.47/Readme.txt

    r3203042 r3209253  
    66Tested up to: 6.6.1
    77Requires PHP: 7.4
    8 Stable tag: 3.5.46
     8Stable tag: 3.5.47
    99License: GPLv3 or later
    1010License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    9898
    9999== Changelog ==
     100
     101= 3.5.47 =
     102* Added option to purge all caches, including the Server and CDN. This applies to those hosted on Servebolt Linux 8 only and using Accelerated Domains or Servebolt CDN.
     103* Fixed some deprecation errors on admin sub menus that have been converted to tabs.
     104* Improved the log file ready on Servebolt Linux 8 to now include PHP and HTTP.
     105* Update to the Servebolt PHP-SDK to support the new purge method.
    100106
    101107= 3.5.46 =
  • servebolt-optimizer/tags/3.5.47/assets/dist/js/acd-control.js

    r2694864 r3209253  
    11document.addEventListener('DOMContentLoaded', function() {
     2   let element, element2;
    23   if (element = document.querySelector('#sb-acd-purge-all-cache')) {
    34      element.addEventListener('click', window.acdPurgeAll);
     5   }
     6   if (element2 = document.querySelector('#sb-acd-purge-server-cache')) {
     7      element2.addEventListener('click', window.acdPurgeServer);
    48   }
    59   if (document.querySelector('form#sb-accelerated-domains-image-resize-options-page-form')) {
     
    7781window.acdPurgeAll = function () {
    7882   if (window.sb_use_native_js_fallback()) {
    79       if (window.confirm('Do you want to purge all cache?')) {
     83      if (window.confirm('Do you want to purge all CDN cache?')) {
    8084         window.acdPurgeAllConfirmed();
    8185      }
    8286   } else {
    8387      Swal.fire({
    84          title: 'Do you want to purge all cache?',
     88         title: 'Do you want to purge all CDN cache?',
    8589         icon: 'warning',
    8690         showCancelButton: true,
     
    136140   });
    137141}
     142
     143
     144/**
     145 * Execute AJAX request to purge all cache.
     146 */
     147window.acdPurgeServer = function () {
     148   console.log('acdPurgeServer');
     149   if (window.sb_use_native_js_fallback()) {
     150      if (window.confirm('Do you want to purge all possible caches?')) {
     151         window.acdPurgeServerConfirmed();
     152      }
     153   } else {
     154      Swal.fire({
     155         title: 'Do you want to purge all possible caches assiocated with this server?',
     156         icon: 'warning',
     157         showCancelButton: true,
     158         customClass: {
     159            confirmButton: 'servebolt-button yellow',
     160            cancelButton: 'servebolt-button light'
     161         },
     162         buttonsStyling: false
     163      }).then((result) => {
     164         if (result.value) {
     165            window.acdPurgeServerConfirmed();
     166         }
     167      });
     168   }
     169};
     170
     171/**
     172 * Execute AJAX request to purge all cache after confirmation.
     173 */
     174window.acdPurgeServerConfirmed = function () {
     175   window.sb_loading(true);
     176   const data = new FormData();
     177   data.append('action', 'servebolt_acd_purge_server_cache');
     178   data.append('security', servebolt_optimizer_ajax_object.ajax_nonce);
     179   fetch(servebolt_optimizer_ajax_object.ajaxurl,
     180       {
     181          method: 'POST',
     182          body: data
     183       }
     184   )
     185   .then(function(response) {
     186      return response.json();
     187   })
     188   .then(function(response) {
     189      window.sb_loading(false);
     190      if (response.success) {
     191         setTimeout(function () {
     192            var title = window.sb_get_from_response(response, 'title', window.sb_default_success_title())
     193            window.sb_success(title, response.data.message);
     194         }, 50);
     195      } else {
     196         var message = window.sb_get_message_from_response(response);
     197         if (message) {
     198            window.sbCachePurgeError(message);
     199         } else {
     200            window.sbCachePurgeError(null, false);
     201         }
     202      }
     203   })
     204   .catch(function(error) {
     205      window.sb_loading(false);
     206      window.sbCachePurgeError(null, false);
     207   });
     208}
  • servebolt-optimizer/tags/3.5.47/assets/dist/js/cache-purge-trigger.js

    r3168538 r3209253  
    1313    sb_close_admin_bar_menu();
    1414    window.sb_purge_all_cache();
     15  });
     16
     17  // Purge the Server cache at Servebolt and the CDN at Cloudflare.
     18  $('#sb-configuration .sb-purge-server-cache, #wpadminbar .sb-purge-server-cache').click(function (e) {
     19    e.preventDefault();
     20    sb_close_admin_bar_menu();
     21    window.sb_purge_server_cache();
    1522  });
    1623
     
    168175  window.sb_purge_all_cache = function() {
    169176    if (window.sb_use_native_js_fallback()) {
    170       if (window.confirm('Do you want to purge all cache?')) {
     177      if (window.confirm('Do you want to purge the CDN cache?')) {
    171178        sb_purge_all_cache_confirmed();
    172179      }
    173180    } else {
    174181      Swal.fire({
    175         title: 'Do you want to purge all cache?',
     182        title: 'Do you want to purge the CDN cache?',
    176183        icon: 'warning',
    177184        showCancelButton: true,
     
    224231    });
    225232  };
     233
     234
     235
     236  /**
     237   * Clear Server cache in Cloudflare and Servebolt.
     238   */
     239  window.sb_purge_server_cache = function() {
     240    if (window.sb_use_native_js_fallback()) {
     241      if (window.confirm('Do you want to purge the all possible caches?')) {
     242        sb_purge_server_cache_confirmed();
     243      }
     244    } else {
     245      Swal.fire({
     246        title: 'Do you want to purge all possible caches?',
     247        icon: 'warning',
     248        showCancelButton: true,
     249        customClass: {
     250          confirmButton: 'servebolt-button yellow',
     251          cancelButton: 'servebolt-button light'
     252        },
     253        buttonsStyling: false
     254      }).then((result) => {
     255        if (result.value) {
     256          sb_purge_server_cache_confirmed();
     257        }
     258      });
     259    }
     260  }
     261
     262  /**
     263   * Confirm callback for function "sb_purge_server_cache".
     264   */
     265  function sb_purge_server_cache_confirmed() {
     266    window.sb_loading(true);
     267    var data = {
     268      action: 'servebolt_purge_server_cache',
     269      security: servebolt_optimizer_ajax_object.ajax_nonce,
     270    };
     271    $.ajax({
     272      type: 'POST',
     273      url: servebolt_optimizer_ajax_object.ajaxurl,
     274      data: data,
     275      success: function(response) {
     276        window.sb_loading(false);
     277        if (response.success) {
     278          setTimeout(function () {
     279            sb_cache_purge_success(
     280              window.sb_get_message_from_response(response),
     281              window.sb_get_from_response(response, 'title')
     282            );
     283          }, 100);
     284          return;
     285        }
     286        window.sbCachePurgeError();
     287        // TODO: Display errors to the user
     288        //window.handle_unsuccessful_cache_purge(response);
     289      },
     290      error: function() {
     291        window.sb_loading(false);
     292        window.sbCachePurgeError(); // General error
     293      }
     294    });
     295  };
     296
    226297
    227298  window.handle_unsuccessful_cache_purge = function(response) {
     
    443514  window.sb_purge_url_cache = function() {
    444515    if ( window.sb_use_native_js_fallback() ) {
    445       var value = window.prompt('Which URL do you wish to purge?' + "\n" + 'Please use full URL including "http://"');
     516      var value = window.prompt('Which URL do you wish to purge?' + "\n" + 'Please use full URL including "https://"');
    446517      if ( ! value ) {
    447518        window.alert('Please enter a URL.');
     
    453524        text: 'Which URL do you wish to purge?',
    454525        input: 'text',
    455         inputPlaceholder: 'Please use full URL including "http://"',
     526        inputPlaceholder: 'Please use full URL including "https://"',
    456527        customClass: {
    457528          confirmButton: 'servebolt-button yellow',
  • servebolt-optimizer/tags/3.5.47/languages/servebolt-optimizer.pot

    r3023886 r3209253  
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: Servebolt Optimizer 3.5.27\n"
     5"Project-Id-Version: Servebolt Optimizer 3.5.46\n"
    66"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/servebolt-optimizer\n"
    77"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
     
    1010"Content-Type: text/plain; charset=UTF-8\n"
    1111"Content-Transfer-Encoding: 8bit\n"
    12 "POT-Creation-Date: 2024-01-19T08:29:27+01:00\n"
     12"POT-Creation-Date: 2024-12-12T16:43:22+01:00\n"
    1313"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    1414"X-Generator: WP-CLI 2.7.1\n"
     
    4545msgstr ""
    4646
    47 #: src/Servebolt/AcceleratedDomains/Prefetching/WpPrefetching.php:112
     47#: src/Servebolt/AcceleratedDomains/Prefetching/WpPrefetching.php:114
    4848msgid "The manifest files are now generated and should be updated in Accelerated Domains. You will now be sent back to WP Admin."
    4949msgstr ""
    5050
    51 #: src/Servebolt/Admin/AcceleratedDomainsControl/Ajax/PurgeActions.php:36
    52 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:56
     51#: src/Servebolt/Admin/AcceleratedDomainsControl/Ajax/PurgeActions.php:37
     52#: src/Servebolt/Admin/AcceleratedDomainsControl/Ajax/PurgeActions.php:62
     53#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:54
    5354msgid "The cache purge feature is not active or is not configured correctly, so we could not purge cache."
    5455msgstr ""
    5556
    56 #: src/Servebolt/Admin/AcceleratedDomainsControl/Ajax/PurgeActions.php:42
     57#: src/Servebolt/Admin/AcceleratedDomainsControl/Ajax/PurgeActions.php:43
     58#: src/Servebolt/Admin/AcceleratedDomainsControl/Ajax/PurgeActions.php:68
    5759msgid "All cache was purged!"
    5860msgstr ""
    5961
    60 #: src/Servebolt/Admin/AcceleratedDomainsControl/Ajax/PurgeActions.php:46
     62#: src/Servebolt/Admin/AcceleratedDomainsControl/Ajax/PurgeActions.php:47
     63#: src/Servebolt/Admin/AcceleratedDomainsControl/Ajax/PurgeActions.php:72
    6164msgid "Could not purge all cache."
    6265msgstr ""
     
    8588
    8689#: src/Servebolt/Admin/AdminBarGui/Nodes/2_CachePurgeNodes.php:71
    87 #: src/Servebolt/Views/cache-settings/cache-purge/configuration/cache-purge-triggers.php:6
    88 msgid "Purge All Cache"
     90msgid "Purge CDN Cache"
    8991msgstr ""
    9092
     
    148150
    149151#: src/Servebolt/Admin/AdminController.php:249
    150 #: src/Servebolt/Views/log-viewer/log-viewer.php:4
    151152msgid "Error Log"
    152153msgstr ""
     
    211212msgstr ""
    212213
    213 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:148
     214#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:146
    214215msgid "Please specify the URL you would like to purge cache for."
    215216msgstr ""
    216217
    217 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:156
    218 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:248
    219 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:395
     218#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:154
     219#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:246
     220#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:393
    220221msgid "All good!"
    221222msgstr ""
    222223
    223 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:167
    224 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:259
    225 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:361
    226 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:406
     224#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:165
     225#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:257
     226#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:359
     227#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:404
    227228msgid "Just a moment"
    228229msgstr ""
    229230
    230 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:168
     231#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:166
    231232msgid "A cache purge request for the URL \"%s\" was added to the queue and will be executed shortly."
    232233msgstr ""
    233234
    234 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:171
     235#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:169
    235236msgid "Cache was purged for URL \"%s\"."
    236237msgstr ""
    237238
    238 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:235
     239#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:233
    239240msgid "Please specify the post you would like to purge cache for."
    240241msgstr ""
    241242
    242 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:238
     243#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:236
    243244msgid "The specified post does not exist."
    244245msgstr ""
    245246
    246 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:241
     247#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:239
    247248msgid "You are not allowed to purge cache for this post."
    248249msgstr ""
    249250
    250 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:249
     251#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:247
    251252msgid "A cache purge request for the %s \"%s\" is already added to the queue and should be executed shortly."
    252253msgstr ""
    253254
    254 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:260
     255#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:258
    255256msgid "A cache purge request for the %s \"%s\" was added to the queue and will be executed shortly."
    256257msgstr ""
    257258
    258 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:263
     259#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:261
    259260msgid "Cache was purged for the %s \"%s\"."
    260261msgstr ""
    261262
    262 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:336
     263#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:334
    263264msgid "Please specify the term you would like to purge cache for."
    264265msgstr ""
    265266
    266 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:339
     267#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:337
    267268msgid "The specified term does not exist."
    268269msgstr ""
    269270
    270 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:342
     271#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:340
    271272msgid "You are not allowed to purge cache for this taxonomy."
    272273msgstr ""
    273274
    274 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:351
     275#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:349
    275276msgid "A cache purge request for the term \"%s\" is already added to the queue and should be executed shortly."
    276277msgstr ""
    277278
    278 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:362
     279#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:360
    279280msgid "A cache purge request for the term \"%s\" was added to the queue and will be executed shortly."
    280281msgstr ""
    281282
    282 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:365
     283#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:363
    283284msgid "Cache was purged for the term \"%s\"."
    284285msgstr ""
    285286
    286 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:396
     287#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:394
    287288msgid "A purge all-request is already queued and should be executed shortly."
    288289msgstr ""
    289290
    290 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:407
     291#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:405
    291292msgid "A purge all-request was added to the queue and will be executed shortly."
    292293msgstr ""
    293294
    294 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:410
     295#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:408
    295296msgid "All cache was purged."
    296297msgstr ""
    297298
    298 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:498
     299#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:496
    299300msgid "See result below:"
    300301msgstr ""
    301302
    302 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:501
     303#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:499
    303304msgid "We we're not successful..."
    304305msgstr ""
    305306
    306 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:502
     307#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:500
    307308msgid "We got some errors, please see below:"
    308309msgstr ""
    309310
    310 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:505
     311#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:503
    311312msgid "We we're not quite successful..."
    312313msgstr ""
    313314
    314 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:506
     315#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:504
    315316msgid "We got a partial success due to some errors, please see the messages below:"
    316317msgstr ""
    317318
    318 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:509
     319#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:507
    319320msgid "We we're almost successful..."
    320321msgstr ""
    321322
    322 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:510
     323#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:508
    323324msgid "Some actions could not be completed, please see below:"
    324325msgstr ""
    325326
    326 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:527
     327#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:525
    327328msgid "Could not purge all cache since cache purge feature is not active on site %s."
    328329msgstr ""
    329330
    330 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:533
     331#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:531
    331332msgid "Could not purge all cache since cache purge feature is not configured on site %s."
    332333msgstr ""
    333334
    334 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:544
     335#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:542
    335336msgid "A purge all-request is already queued on site %s and will be executed shortly."
    336337msgstr ""
    337338
    338 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:555
     339#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:553
    339340msgid "A purge all-request was added to the queue on site %s and will be executed shortly."
    340341msgstr ""
    341342
    342 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:560
     343#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:558
    343344msgid "All cache was purged on site %s."
    344345msgstr ""
    345346
    346 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:566
    347 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:571
     347#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:564
     348#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:569
    348349msgid "Could not purge cache on site %s."
    349350msgstr ""
     
    946947
    947948#: src/Servebolt/Cli/HtmlCache/HtmlCache.php:407
    948 #: src/Servebolt/FullPageCache/FullPageCacheHeaders.php:528
     949#: src/Servebolt/FullPageCache/FullPageCacheHeaders.php:557
    949950msgid "All"
    950951msgstr ""
     
    11551156msgstr ""
    11561157
    1157 #: src/Servebolt/Helpers/Helpers.php:1220
    1158 #: src/Servebolt/Helpers/Helpers.php:1232
     1158#: src/Servebolt/Helpers/Helpers.php:1254
     1159#: src/Servebolt/Helpers/Helpers.php:1266
    11591160#: src/Servebolt/Views/accelerated-domains/image-resize/image-size-index-list.php:12
    11601161msgid "Delete"
    11611162msgstr ""
    11621163
    1163 #: src/Servebolt/Helpers/Helpers.php:1221
     1164#: src/Servebolt/Helpers/Helpers.php:1255
    11641165msgid "View"
    11651166msgstr ""
    11661167
    1167 #: src/Servebolt/Helpers/Helpers.php:1223
     1168#: src/Servebolt/Helpers/Helpers.php:1257
    11681169msgid "Edit"
    11691170msgstr ""
    11701171
    1171 #: src/Servebolt/Helpers/Helpers.php:1230
     1172#: src/Servebolt/Helpers/Helpers.php:1264
    11721173msgid "Post does not exist."
    11731174msgstr ""
     
    11991200#: src/Servebolt/Views/cache-settings/cache-settings/network-list-view.php:10
    12001201#: src/Servebolt/Views/cache-settings/cache-settings/network-list-view.php:19
    1201 #: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:68
    1202 #: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:77
     1202#: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:69
     1203#: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:78
    12031204#: src/Servebolt/Views/cache-settings/cache-ttl/network-list-view.php:8
    12041205#: src/Servebolt/Views/cache-settings/cache-ttl/network-list-view.php:16
     
    12961297#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:21
    12971298#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:54
    1298 #: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:67
     1299#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:68
     1300#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:82
    12991301#: src/Servebolt/Views/accelerated-domains/prefetching/settings-form.php:20
    13001302#: src/Servebolt/Views/accelerated-domains/prefetching/settings-form.php:65
    13011303#: src/Servebolt/Views/cache-settings/cache-purge/configuration/configuration.php:45
    1302 #: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:21
     1304#: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:22
     1305#: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:102
     1306#: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:110
    13031307#: src/Servebolt/Views/cloudflare-image-resize/configration.php:59
    13041308#: src/Servebolt/Views/performance-optimizer/advanced/settings-form.php:20
     
    13151319
    13161320#: src/Servebolt/Views/accelerated-domains/control/settings-form.php:41
    1317 msgid "Purge all cache"
     1321msgid "Purge CDN cache"
     1322msgstr ""
     1323
     1324#: src/Servebolt/Views/accelerated-domains/control/settings-form.php:42
     1325msgid "Purge All cache"
    13181326msgstr ""
    13191327
     
    13341342#: src/Servebolt/Views/cache-settings/cache-purge/queue/list.php:16
    13351343#: src/Servebolt/Views/cache-settings/cache-purge/queue/list.php:36
    1336 #: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:49
    1337 #: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:92
     1344#: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:50
     1345#: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:93
    13381346msgid "Remove selected"
    13391347msgstr ""
     
    13451353#: src/Servebolt/Views/accelerated-domains/image-resize/image-size-index.php:18
    13461354#: src/Servebolt/Views/accelerated-domains/image-resize/image-size-index.php:25
    1347 #: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:65
    1348 #: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:74
     1355#: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:66
     1356#: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:75
    13491357msgid "Select All"
    13501358msgstr ""
     
    14311439msgstr ""
    14321440
    1433 #: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:61
     1441#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:62
     1442msgid "Force thumbnail width minimum size"
     1443msgstr ""
     1444
     1445#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:65
     1446msgid "Force thumbnail minimum size on corrupted?"
     1447msgstr ""
     1448
     1449#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:69
     1450msgid "If images dimensions cannot be read by WordPress, this will force the \"thumbnail\" width as the base image with."
     1451msgstr ""
     1452
     1453#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:76
    14341454msgid "Add half sizes to responsive images"
    14351455msgstr ""
    14361456
    1437 #: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:64
     1457#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:79
    14381458msgid "Add half sizes to srcset-attribute?"
    14391459msgstr ""
    14401460
    1441 #: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:68
     1461#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:83
    14421462msgid "When enabled this will automatically add half sizes of all registered image sizes and help deliver the best possible size to the browser."
    14431463msgstr ""
    14441464
    1445 #: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:74
     1465#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:89
    14461466msgid "Image quality"
    14471467msgstr ""
    14481468
    1449 #: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:78
     1469#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:93
    14501470msgid "You can adjust the quality the resized images should be delivered in. A lower quality means lower file size, and can both be downloaded and rendered in the browser faster."
    14511471msgstr ""
    14521472
    1453 #: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:84
     1473#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:99
    14541474msgid "Metadata optimization"
    14551475msgstr ""
    14561476
    1457 #: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:87
    1458 #: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:89
     1477#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:102
     1478#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:104
    14591479msgid "Keep all metadata"
    14601480msgstr ""
    14611481
    1462 #: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:92
    1463 #: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:94
     1482#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:107
     1483#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:109
    14641484msgid "Keep copyright metadata"
    14651485msgstr ""
    14661486
    1467 #: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:97
    1468 #: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:99
     1487#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:112
     1488#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:114
    14691489msgid "No metadata"
    14701490msgstr ""
    14711491
    1472 #: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:102
     1492#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:117
    14731493msgid "Metadata on images (EXIF) is usually not needed and removing it will optimize the size of the images"
    14741494msgstr ""
    14751495
    1476 #: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:106
     1496#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:121
    14771497msgid "Extra responsive image sizes"
    14781498msgstr ""
    14791499
    1480 #: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:108
     1500#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:123
    14811501msgid "When resizing on responsive images is enabled you can add custom image sizes to optimize the image size downloaded by the browser."
    14821502msgstr ""
     
    16191639msgstr ""
    16201640
     1641#: src/Servebolt/Views/cache-settings/cache-purge/configuration/cache-purge-triggers.php:6
     1642msgid "Purge All Cache"
     1643msgstr ""
     1644
    16211645#: src/Servebolt/Views/cache-settings/cache-purge/configuration/cache-purge-triggers.php:10
    16221646msgid "Purge Images"
     
    18751899msgstr ""
    18761900
    1877 #: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:19
     1901#: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:20
    18781902msgid "HTML Cache"
    18791903msgstr ""
    18801904
    1881 #: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:37
     1905#: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:38
    18821906msgid ""
    18831907"By default this plugin enables HTML caching of posts, pages and products.\n"
     
    18861910msgstr ""
    18871911
    1888 #: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:52
     1912#: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:53
    18891913msgid "Flush posts"
    18901914msgstr ""
    18911915
    1892 #: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:55
     1916#: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:56
    18931917msgid "Add post to exclude"
    1894 msgstr ""
    1895 
    1896 #: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:66
    1897 #: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:75
    1898 msgid "Post ID"
    18991918msgstr ""
    19001919
    19011920#: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:67
    19021921#: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:76
     1922msgid "Post ID"
     1923msgstr ""
     1924
     1925#: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:68
     1926#: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:77
    19031927msgid "Post title"
    19041928msgstr ""
    19051929
    1906 #: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:82
     1930#: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:83
    19071931msgid "No posts set to be excluded"
    19081932msgstr ""
     
    20552079msgstr ""
    20562080
    2057 #: src/Servebolt/Views/log-viewer/log-viewer.php:8
     2081#: src/Servebolt/Views/log-viewer/sl7-viewer.php:8
     2082#: src/Servebolt/Views/log-viewer/sl8-viewer.php:8
    20582083msgid "The log file does not exist."
    20592084msgstr ""
    20602085
    2061 #: src/Servebolt/Views/log-viewer/log-viewer.php:11
     2086#: src/Servebolt/Views/log-viewer/sl7-viewer.php:11
     2087#: src/Servebolt/Views/log-viewer/sl8-viewer.php:11
    20622088msgid "Log file is not readable."
    20632089msgstr ""
    20642090
    2065 #: src/Servebolt/Views/log-viewer/log-viewer.php:13
     2091#: src/Servebolt/Views/log-viewer/sl7-viewer.php:13
     2092#: src/Servebolt/Views/log-viewer/sl8-viewer.php:13
    20662093msgid "Your error log is empty."
    20672094msgstr ""
    20682095
    2069 #: src/Servebolt/Views/log-viewer/log-viewer.php:15
     2096#: src/Servebolt/Views/log-viewer/sl7-viewer.php:15
     2097#: src/Servebolt/Views/log-viewer/sl8-viewer.php:15
    20702098msgid "This table lists the %s last entries from today's error log"
    20712099msgstr ""
    20722100
    2073 #: src/Servebolt/Views/log-viewer/log-viewer.php:19
     2101#: src/Servebolt/Views/log-viewer/sl7-viewer.php:19
     2102#: src/Servebolt/Views/log-viewer/sl8-viewer.php:19
    20742103msgid "Timestamp"
    20752104msgstr ""
    20762105
    2077 #: src/Servebolt/Views/log-viewer/log-viewer.php:20
     2106#: src/Servebolt/Views/log-viewer/sl7-viewer.php:20
     2107#: src/Servebolt/Views/log-viewer/sl8-viewer.php:20
    20782108msgid "IP"
    20792109msgstr ""
    20802110
    2081 #: src/Servebolt/Views/log-viewer/log-viewer.php:21
     2111#: src/Servebolt/Views/log-viewer/sl7-viewer.php:21
     2112#: src/Servebolt/Views/log-viewer/sl8-viewer.php:21
    20822113msgid "Error"
    20832114msgstr ""
  • servebolt-optimizer/tags/3.5.47/servebolt-optimizer.php

    r3203042 r3209253  
    22/*
    33Plugin Name: Servebolt Optimizer
    4 Version: 3.5.46
     4Version: 3.5.47
    55Author: Servebolt
    66Author URI: https://servebolt.com
  • servebolt-optimizer/tags/3.5.47/src/Dependencies/Servebolt/Sdk/Endpoints/Environment.php

    r3160578 r3209253  
    3838        $httpResponse = $this->httpClient->patchJson('/' . $this->endpoint . '/' . $id, compact('data'));
    3939        return $this->response($httpResponse);
     40    }
     41
     42    /**
     43     * Purge the Server, CDN and any other caches that are involved with the
     44     * given environment.
     45     *
     46     * @param integer|null $environmentId
     47     * @param string $type
     48     * @return \Servebolt\Optimizer\Dependencies\GuzzleHttp\Psr7\Response|object|\Servebolt\Optimizer\Dependencies\Servebolt\Sdk\Response
     49     * @throws ServeboltInvalidUrlException
     50     */
     51    public function purgeServerCache(?int $environmentId = null, $type = 'acd') {
     52        if (is_null($environmentId)) {
     53            $environmentId = $this->environmentId;
     54
     55            if(is_null($environmentId)) {
     56                throw new ServeboltInvalidUrlException('Environment ID is required');
     57            }
     58        }
     59        $requestData = [
     60            'type' => $type,
     61            'all' => true,
     62        ];
     63        return $this->purgeCacheByArguments($environmentId, $requestData);
    4064    }
    4165
  • servebolt-optimizer/tags/3.5.47/src/Servebolt/Admin/AcceleratedDomainsControl/Ajax/PurgeActions.php

    r2735663 r3209253  
    2222    {
    2323        add_action('wp_ajax_servebolt_acd_purge_all_cache', [$this, 'acdPurgeAllCacheCallback']);
     24        add_action('wp_ajax_servebolt_acd_purge_server_cache', [$this, 'acdPurgeServerCacheCallback']);
    2425    }
    2526
     
    4849        }
    4950    }
     51
     52    /**
     53     * Purge all cache in ACD.
     54     */
     55    public function acdPurgeServerCacheCallback(): void
     56    {
     57        $this->checkAjaxReferer();
     58        ajaxUserAllowed(false, '\\Servebolt\\Optimizer\\Admin\\CachePurgeControl\\Ajax\\PurgeActions::canPurgeServerCache');
     59        $sbDriver = Servebolt::getInstance();
     60        if (!$sbDriver->configurationOk()) {
     61            wp_send_json_error([
     62                'message' => __('The cache purge feature is not active or is not configured correctly, so we could not purge cache.', 'servebolt-wp'),
     63            ]);
     64        }
     65        try {
     66            $sbDriver->purgeServer();
     67            wp_send_json_success([
     68                'message' => __('All cache was purged!', 'servebolt-wp'),
     69            ]);
     70        } catch (Throwable $e) {
     71            wp_send_json_error([
     72                'message' => __('Could not purge all cache.', 'servebolt-wp'),
     73            ]);
     74        }
     75    }
    5076}
  • servebolt-optimizer/tags/3.5.47/src/Servebolt/Admin/AdminBarGui/Nodes/2_CachePurgeNodes.php

    r2634893 r3209253  
    5353        self::addPurgeUrlNode();
    5454        self::addPurgeAllNode();
     55        self::addPurgeServerNode();
    5556        return self::$nodes;
    5657    }
     
    6970        self::$nodes[] = [
    7071            'id' => 'servebolt-clear-all-cf-cache',
    71             'title' => __('Purge All Cache', 'servebolt-wp'),
     72            'title' => __('Purge CDN Cache', 'servebolt-wp'),
    7273            'href' => '#',
    7374            'meta' => [
     
    7778    }
    7879
     80    /**
     81     * Purge all cache (for current site).
     82     */
     83    private static function addPurgeServerNode(): void
     84    {
     85        if (!apply_filters(
     86            'sb_optimizer_admin_bar_cache_purge_can_purge_server',
     87            PurgeActions::canPurgeServerCache()
     88        )) {
     89            return;
     90        }
     91       
     92        self::$nodes[] = [
     93            'id' => 'servebolt-clear-server-cache',
     94            'title' => __('Purge Server Cache', 'servebolt-wp'),
     95            'href' => '#',
     96            'meta' => [
     97                'class' => 'sb-admin-button sb-purge-server-cache'
     98            ]
     99        ];
     100    }
    79101    /**
    80102     * Purge URL (admin feature).
  • servebolt-optimizer/tags/3.5.47/src/Servebolt/Admin/AdminController.php

    r2903259 r3209253  
    206206                add_submenu_page('servebolt-wp', __('Cloudflare Image Resizing', 'servebolt-wp'), __('Cloudflare Image Resizing', 'servebolt-wp'), 'manage_options', 'servebolt-cf-image-resizing', [CloudflareImageResize::getInstance(), 'render']);
    207207            } else {
    208                 add_submenu_page('options.php', null, null, 'manage_options', 'servebolt-cf-image-resizing', [CloudflareImageResize::getInstance(), 'render']);
     208                add_submenu_page('options.php', '', '', 'manage_options', 'servebolt-cf-image-resizing', [CloudflareImageResize::getInstance(), 'render']);
    209209            }
    210210        }
     
    218218        if (isHostedAtServebolt()) {
    219219            add_submenu_page('servebolt-wp', __('Cache Settings', 'servebolt-wp'), __('Cache', 'servebolt-wp'), 'manage_options', 'servebolt-html-cache', [FullPageCacheControl::getInstance(), 'render']);
    220             add_submenu_page('options.php', null, null, 'manage_options', 'servebolt-cache-ttl', [CacheTtlControl::getInstance(), 'render']);
    221             add_submenu_page('options.php', null, null, 'manage_options', 'servebolt-cache-purge-control', [CachePurgeControl::getInstance(), 'render']);
     220            add_submenu_page('options.php', '', '', 'manage_options', 'servebolt-cache-ttl', [CacheTtlControl::getInstance(), 'render']);
     221            add_submenu_page('options.php', '', '', 'manage_options', 'servebolt-cache-purge-control', [CachePurgeControl::getInstance(), 'render']);
    222222        } else {
    223223            add_submenu_page('servebolt-wp', __('Cache Settings', 'servebolt-wp'), __('Cache', 'servebolt-wp'), 'manage_options', 'servebolt-cache-purge-control', [CachePurgeControl::getInstance(), 'render']);
     
    225225
    226226        // Legacy redirects
    227         add_submenu_page('options.php', null, null, 'manage_options', 'servebolt-nginx-cache', [$this, 'htmlCacheLegacyRedirect']);
    228         add_submenu_page('options.php', null, null, 'manage_options', 'servebolt-fpc', [$this, 'htmlCacheLegacyRedirect']);
    229         add_submenu_page('options.php', null, null, 'manage_options', 'servebolt-cf-cache-control', [$this, 'cachePurgeLegacyRedirect']);
     227        add_submenu_page('options.php', '', '', 'manage_options', 'servebolt-nginx-cache', [$this, 'htmlCacheLegacyRedirect']);
     228        add_submenu_page('options.php', '', '', 'manage_options', 'servebolt-fpc', [$this, 'htmlCacheLegacyRedirect']);
     229        add_submenu_page('options.php', '', '', 'manage_options', 'servebolt-cf-cache-control', [$this, 'cachePurgeLegacyRedirect']);
    230230    }
    231231
     
    236236    {
    237237        add_submenu_page('servebolt-wp', __('Accelerated Domains', 'servebolt-wp'), __('Accelerated Domains', 'servebolt-wp'), 'manage_options', 'servebolt-acd', [AcceleratedDomainsControl::getInstance(), 'render']);
    238         add_submenu_page('options.php', null, null, 'manage_options', 'servebolt-acd-image-resize', [AcceleratedDomainsImageResizeControl::getInstance(), 'render']);
     238        add_submenu_page('options.php', '', '', 'manage_options', 'servebolt-acd-image-resize', [AcceleratedDomainsImageResizeControl::getInstance(), 'render']);
    239239        if (featureIsAvailable('prefetching')) {
    240             add_submenu_page('options.php', null, null, 'manage_options', 'servebolt-prefetching', [PrefetchingControl::getInstance(), 'render']);
     240            add_submenu_page('options.php', '', '', 'manage_options', 'servebolt-prefetching', [PrefetchingControl::getInstance(), 'render']);
    241241        }
    242242    }
     
    264264    {
    265265        add_submenu_page('servebolt-wp', __('Performance Optimizer', 'servebolt-wp'), __('Performance Optimizer', 'servebolt-wp'), 'manage_options', 'servebolt-performance-optimizer', [PerformanceOptimizer::getInstance(), 'render']);
    266         add_submenu_page('options.php', null, null, 'manage_options', 'servebolt-performance-optimizer-advanced', [PerformanceOptimizerAdvanced::getInstance(), 'render']);
    267         add_submenu_page('options.php', null, null, 'manage_options', 'servebolt-performance-optimizer-database', [DatabaseOptimizations::getInstance(), 'render']);
    268         add_submenu_page('options.php', null, null, 'manage_options', 'servebolt-menu-optimizer', [MenuOptimizerControl::getInstance(), 'render']);
     266        add_submenu_page('options.php', '', '', 'manage_options', 'servebolt-performance-optimizer-advanced', [PerformanceOptimizerAdvanced::getInstance(), 'render']);
     267        add_submenu_page('options.php', '', '', 'manage_options', 'servebolt-performance-optimizer-database', [DatabaseOptimizations::getInstance(), 'render']);
     268        add_submenu_page('options.php', '', '', 'manage_options', 'servebolt-menu-optimizer', [MenuOptimizerControl::getInstance(), 'render']);
    269269
    270270        // Legacy redirect
    271         add_submenu_page('options.php', null, null, 'manage_options', 'servebolt-performance-tools', [$this, 'performanceOptimizerLegacyRedirect']);
    272         add_submenu_page('options.php', null, null, 'manage_options', 'servebolt-menu-cache', [$this, 'menuOptimizerLegacyRedirect']);
     271        add_submenu_page('options.php', '', '', 'manage_options', 'servebolt-performance-tools', [$this, 'performanceOptimizerLegacyRedirect']);
     272        add_submenu_page('options.php', '', '', 'manage_options', 'servebolt-menu-cache', [$this, 'menuOptimizerLegacyRedirect']);
    273273    }
    274274
  • servebolt-optimizer/tags/3.5.47/src/Servebolt/Admin/Assets.php

    r2694864 r3209253  
    139139                'canPurgeAllCache' => $cacheFeatureActive && PurgeActions::canPurgeAllCache(),
    140140                'canPurgeCacheByUrl' => $cacheFeatureActive && PurgeActions::canPurgeCacheByUrl(),
     141                'canPurgeServerCache' => $cacheFeatureActive && PurgeActions::canPurgeServerCache(),
    141142            ]);
    142143        }
  • servebolt-optimizer/tags/3.5.47/src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php

    r3038332 r3209253  
    3838        add_action('wp_ajax_servebolt_purge_term_cache', [$this, 'purgeTermCacheCallback']);
    3939        add_action('wp_ajax_servebolt_purge_all_cache', [$this, 'purgeAllCacheCallback']);
     40        add_action('wp_ajax_servebolt_purge_server_cache', [$this, 'purgeServerCacheCallback']);
    4041        if ( is_multisite() ) {
    4142            add_action('wp_ajax_servebolt_purge_all_network_cache', [$this, 'purgeAllNetworkCacheCallback']);
     
    8081            (
    8182                CachePurge::driverSupportsCachePurgeAll()
     83                && current_user_can('edit_others_posts')
     84            )
     85        );
     86    }
     87
     88        /**
     89     * Check if current user can purge all cache.
     90     *
     91     * @return bool
     92     */
     93    public static function canPurgeServerCache(): bool
     94    {
     95        return apply_filters(
     96            'sb_optimizer_can_purge_all_cache',
     97            (
     98                CachePurge::driverSupportsCachePurgeAll()
     99                && CachePurge::cachePurgeByServerAvailable()
    82100                && current_user_can('edit_others_posts')
    83101            )
     
    404422                    'title' => __('Just a moment', 'servebolt-wp'),
    405423                    'message' => __('A purge all-request was added to the queue and will be executed shortly.', 'servebolt-wp'),
     424                ] );
     425            } else {
     426                wp_send_json_success(['message' => __('All cache was purged.', 'servebolt-wp')]);
     427            }
     428        } catch (Throwable $e) {
     429            $this->handleErrors($e);
     430        }
     431    }
     432
     433
     434    /**
     435     * Purge all cache cache.
     436     */
     437    public function purgeServerCacheCallback()
     438    {
     439        $this->checkAjaxReferer();
     440        ajaxUserAllowedByFunction(__CLASS__ . '::canPurgeServerCache');
     441        $this->ensureCachePurgeFeatureIsActive();
     442
     443        $queueBasedCachePurgeIsActive = CachePurge::queueBasedCachePurgeIsActive();
     444
     445        if ($queueBasedCachePurgeIsActive && $this->hasPurgeAllRequestInQueue()) {
     446            wp_send_json_success([
     447                'title' => __('All good!', 'servebolt-wp'),
     448                'message' => __('A Purge Server Cache -request is already queued and should be executed shortly.', 'servebolt-wp'),
     449            ]);
     450            return;
     451        }
     452
     453        try {
     454            setCachePurgeOriginEvent('manual_trigger');
     455            WordPressCachePurge::purgeAll();
     456            if ($queueBasedCachePurgeIsActive) {
     457                wp_send_json_success( [
     458                    'title' => __('Just a moment', 'servebolt-wp'),
     459                    'message' => __('A Purge Server Cache -request is already queued and should be executed shortly.', 'servebolt-wp'),
    406460                ] );
    407461            } else {
  • servebolt-optimizer/tags/3.5.47/src/Servebolt/Admin/LogViewer/LogViewer.php

    r3003163 r3209253  
    2323    private $numberOfEntries = 100;
    2424
     25    private $sl8_log_paths = [
     26        [
     27            'title' => 'PHP Error Log',
     28            'slug' => 'site/public',
     29            'log_location' => 'logs/php',
     30            'filename' => 'ErrorLog',
     31            'template' => 'log-viewer.log-viewer',
     32        ],
     33        [
     34            'title' => 'HTTP Error Log',
     35            'slug' => 'site/public',
     36            'log_location' => 'logs/http',
     37            'filename' => 'ErrorLog',
     38            'template' => 'log-viewer.log-viewer',
     39        ],
     40    ];
     41
     42    private $sl7_log_paths = [
     43        [
     44            'title' => 'Error Log',
     45            'slug' => '/public',
     46            'log_location' => '/logs',
     47            'filename' => 'ErrorLog',
     48            'template' => 'log-viewer.log-viewer',
     49        ],
     50    ];
    2551    /**
    2652     * Get log file path.
     
    3056    private function getErrorLogPath(): string
    3157    {
    32         $logDir = str_replace('/public', '/logs', $_SERVER['DOCUMENT_ROOT']);
    3358        if(isNextGen()) {
    34             $logDir = str_replace('/site/public', '/logs/php', $_SERVER['DOCUMENT_ROOT']);       
     59            $logDir = str_replace('/site/public', '/logs/php', $_SERVER['DOCUMENT_ROOT']);
     60            $logFilePath = $logDir . '/ErrorLog';
     61        } else {
     62            $logDir = str_replace('/public', '/logs', $_SERVER['DOCUMENT_ROOT']);
     63            $logFilePath = $logDir . '/ErrorLog';
    3564        }
    36         $logFilePath = $logDir . '/ErrorLog';
     65       
    3766        return (string) apply_filters('sb_optimizer_log_file_path', $logFilePath);
     67    }
     68
     69    private function getLogPaths(): array
     70    {
     71        if(isNextGen()) {
     72            return $this->sl8_log_paths;
     73        } else {
     74            return $this->sl7_log_paths;
     75        }
    3876    }
    3977
     
    4381    public function render(): void
    4482    {
    45         $logFilePath = $this->getErrorLogPath();
    46         $logFileExists = file_exists($logFilePath);
    47         $logFileReadable = is_readable($logFilePath);
    48         $log = $this->tail($logFilePath, $this->numberOfEntries);
    49         $entries = $this->prepareEntries($log);
    50         $numberOfEntries = $this->numberOfEntries;
    51         view('log-viewer.log-viewer', compact('numberOfEntries', 'logFilePath', 'logFileExists', 'logFileReadable', 'log', 'entries'));
    52     }
     83        $logFileInfo = $this->getLogPaths();
     84        foreach($logFileInfo as $logInfo) {
     85            $logFilePath = str_replace($logInfo['slug'], $logInfo['log_location'], $_SERVER['DOCUMENT_ROOT']) . '/' . $logInfo['filename'];
     86            $logFileExists = file_exists($logFilePath);
     87            if(!$logFileExists) {
     88                continue;
     89            }
     90            $logFileReadable = is_readable($logFilePath);
     91            if(!$logFileReadable) {
     92                continue;
     93            }
     94            $log = $this->tail($logFilePath, $this->numberOfEntries);
     95            $entries = $this->prepareEntries($log);
     96            $numberOfEntries = $this->numberOfEntries;
     97            $pageTitle = $logInfo['title'];
     98            view($logInfo['template'], compact('numberOfEntries', 'logFilePath', 'logFileExists', 'logFileReadable', 'log', 'entries', 'pageTitle'));
     99        }
     100        // getLogPaths
     101        // $logFilePath = $this->getErrorLogPath();
     102        // $logFileExists = file_exists($logFilePath);
     103        // $logFileReadable = is_readable($logFilePath);
     104        // $log = $this->tail($logFilePath, $this->numberOfEntries);
     105        // $entries = $this->prepareEntries($log);
     106        // $numberOfEntries = $this->numberOfEntries;
     107        // $pageTitle = __('Error Log..', 'servebolt-wp');
     108        // view('log-viewer.log-viewer', compact('sections','numberOfEntries', 'logFilePath', 'logFileExists', 'logFileReadable', 'log', 'entries'));
     109     }
    53110
    54111    /**
  • servebolt-optimizer/tags/3.5.47/src/Servebolt/CachePurge/CachePurge.php

    r2885483 r3209253  
    1515use function Servebolt\Optimizer\Helpers\smartGetOption;
    1616use function Servebolt\Optimizer\Helpers\smartUpdateOption;
     17use function Servebolt\Optimizer\Helpers\isNextGen;
    1718
    1819/**
     
    200201    }
    201202
     203    /**
     204     * Check whether cache purge by URL is available.
     205     *
     206     * @param int|null $blogId
     207     * @return bool
     208     */
    202209    public static function cachePurgeByUrlIsAvailable(?int $blogId = null) : bool
    203210    {
    204211        if(self::serveboltCdnIsSelected($blogId)) return false;
    205212        return true;
     213    }
     214
     215    /**
     216     * Check whether cache purge by server is available.
     217     *
     218     * @param int|null $blogId
     219     * @return bool
     220     */
     221    public static function cachePurgeByServerAvailable(?int $blogId = null) : bool
     222    {
     223        if(!isNextGen()) return false;
     224        if(self::serveboltCdnIsSelected($blogId)) return true;
     225        if(self::acdIsSelected($blogId)) return true;
     226        return false;
    206227    }
    207228
     
    523544
    524545    /**
     546     * Check if the current driver supports cache all purging.
     547     *
     548     * @return bool
     549     */
     550    public static function driverSupportsCachePurgeServer(): bool
     551    {
     552        $driver = self::resolveDriverObject();
     553        $interfaces = class_implements($driver);
     554        return is_array($interfaces)
     555            && in_array('Servebolt\Optimizer\CachePurge\Interfaces\CachePurgeServerInterface', $interfaces);
     556    }
     557
     558    /**
    525559     * Check if automatic cache purging is available.
    526560     *
  • servebolt-optimizer/tags/3.5.47/src/Servebolt/CachePurge/Drivers/Cloudflare.php

    r3203042 r3209253  
    3535            '/wp-admin/',
    3636            '/index.php/',
    37             // '/wp-login.php',
    38             // '/wp-cron.php',
    39             // '/xmlrpc.php',
    40             // '/wp-comments-post.php',
     37            '/wp-login.php',
    4138        ];
    4239        foreach($never_cached_paths as $never_cached_path) {
  • servebolt-optimizer/tags/3.5.47/src/Servebolt/CachePurge/Drivers/Servebolt.php

    r3203042 r3209253  
    1111use Servebolt\Optimizer\CachePurge\Interfaces\CachePurgeTagInterface;
    1212use Servebolt\Optimizer\CachePurge\Interfaces\CachePurgeValidateUrlCandidate;
     13use Servebolt\Optimizer\CachePurge\Interfaces\CachePurgeServerInterface;
    1314use Servebolt\Optimizer\Exceptions\ServeboltApiError;
    1415use function Servebolt\Optimizer\Helpers\getDomainNameOfWebSite;
     
    1819 * @package Servebolt\Optimizer\CachePurge\Drivers
    1920 */
    20 class Servebolt implements CachePurgeAllInterface, CachePurgeUrlInterface, CachePurgePrefixInterface, CachePurgeTagInterface, CachePurgeValidateUrlCandidate
     21class Servebolt implements CachePurgeAllInterface, CachePurgeUrlInterface, CachePurgePrefixInterface, CachePurgeTagInterface, CachePurgeValidateUrlCandidate, CachePurgeServerInterface
    2122{
    2223    use Singleton, ServeboltDriverTrait;
     
    151152     * @throws ServeboltApiError
    152153     */
     154    public function purgeServer(): bool
     155    {
     156        $response = $this->apiInstance->environment->purgeServerCache(
     157            $this->apiInstance->getEnvironmentId(),
     158            'acd'
     159        );
     160        if ($response->wasSuccessful()) {
     161            return true;
     162        } else {
     163           throw new ServeboltApiError($response->getErrors(), $response);
     164        }
     165    }
     166
     167    /**
     168     * Purge all cache (for a single site).
     169     *
     170     * @return bool
     171     * @throws ServeboltApiError
     172     */
    153173    public function purgeAll(): bool
    154174    {
  • servebolt-optimizer/tags/3.5.47/src/Servebolt/CachePurge/Drivers/ServeboltCdn.php

    r3203042 r3209253  
    99use Servebolt\Optimizer\CachePurge\Interfaces\CachePurgeTagInterface;
    1010use Servebolt\Optimizer\CachePurge\Interfaces\CachePurgeValidateUrlCandidate;
     11use Servebolt\Optimizer\CachePurge\Interfaces\CachePurgeServerInterface;
    1112use Servebolt\Optimizer\Traits\Singleton;
    1213use Servebolt\Optimizer\Exceptions\ServeboltApiError;
     
    1718 * @package Servebolt\Optimizer\CachePurge\Drivers
    1819 */
    19 class ServeboltCdn implements CachePurgeAllInterface, CachePurgeTagInterface, CachePurgeUrlInterface, CachePurgeValidateUrlCandidate
     20class ServeboltCdn implements CachePurgeAllInterface, CachePurgeTagInterface, CachePurgeUrlInterface, CachePurgeValidateUrlCandidate, CachePurgeServerInterface
    2021{
    2122    use Singleton, ServeboltDriverTrait;
     
    113114
    114115    /**
     116     * Purge all cache (for a single site).
     117     *
     118     * @return bool
     119     * @throws ServeboltApiError
     120     */
     121    public function purgeServer(): bool
     122    {
     123        $response = $this->apiInstance->environment->purgeServerCache(
     124            $this->apiInstance->getEnvironmentId(),
     125            'serveboltcdn'
     126        );
     127        if ($response->wasSuccessful()) {
     128            return true;
     129        } else {
     130           throw new ServeboltApiError($response->getErrors(), 'serveboltcdn');
     131        }
     132    }
     133
     134    /**
    115135     *
    116136     * @param array $tags : array of tags to be delted
  • servebolt-optimizer/tags/3.5.47/src/Servebolt/CachePurge/WordPressCachePurge/PostMethods.php

    r3203042 r3209253  
    265265        $urlsToPurge = self::getUrlsToPurgeByPostId($postId);
    266266        // Prototype for removing invalid purge targets.
    267         // $urlsToPurge = self::removeInvalidPurgeTargets($urlsToPurge, $cachePurgeDriver);
    268         // if(count($urlsToPurge) === 0) {
    269         //     return true;
    270         // }
     267        $urlsToPurge = self::removeInvalidPurgeTargets($urlsToPurge, $cachePurgeDriver);
     268        if(count($urlsToPurge) === 0) {
     269            return true;
     270        }
    271271        $urlsToPurge = self::maybeSliceUrlsToPurge($urlsToPurge, 'post', $cachePurgeDriver);
    272272        return $cachePurgeDriver->purgeByUrls($urlsToPurge);
  • servebolt-optimizer/tags/3.5.47/src/Servebolt/CacheTags/AddCacheTagsHeaders.php

    r3023894 r3209253  
    106106    protected function appendHeaders() : void
    107107    {
    108         if(count($this->headers) > 0) {
     108        if(count($this->headers) > 0 && !headers_sent()) {
    109109            try{
    110110                $tags = implode(',', $this->headers);
     
    116116            }
    117117            catch (Exception $e){
    118                 error_log("Cache-Tag messages could not be added as headers have already been sent.");
     118                error_log("Cache-Tag messages could not be added to the headers. Error: " . $e->getMessage());
    119119            }
    120         }
     120        } else {
     121            error_log("Cache-Tag headers could not be sent. Headers already have been sent. Cache purging is effected, contact Servebolt Support for help.");
     122        }
    121123    }
    122124 
  • servebolt-optimizer/tags/3.5.47/src/Servebolt/ServeboltOptimizer.php

    r3168538 r3209253  
    8484
    8585            // Init environment file reader
     86            // For local testing the instantce can be passed a path to a custom environment file.
    8687            EnvFileReader::getInstance();
    8788
  • servebolt-optimizer/tags/3.5.47/src/Servebolt/Views/accelerated-domains/control/settings-form.php

    r2684493 r3209253  
    1 <?php if (!defined('ABSPATH')) exit; // Exit if accessed directly ?>
    2 <?php use function Servebolt\Optimizer\Helpers\getOptionName; ?>
     1<?php
     2if (!defined('ABSPATH')) exit; // Exit if accessed directly
     3use function Servebolt\Optimizer\Helpers\getOptionName;
     4use Servebolt\Optimizer\CachePurge\CachePurge;
     5?>
    36
    47<?php settings_errors(); ?>
     
    3942    <p class="submit">
    4043        <?php submit_button(null, 'primary', 'form-submit', false); ?>
    41         <button type="button" class="button-secondary" id="sb-acd-purge-all-cache"><?php _e('Purge all cache', 'servebolt-wp'); ?></button>
     44        <button type="button" class="button-secondary" id="sb-acd-purge-all-cache"><?php _e('Purge CDN cache', 'servebolt-wp'); ?></button>
     45        <?php if (CachePurge::cachePurgeByServerAvailable() ) : ?>
     46            <button type="button" class="button-secondary" id="sb-acd-purge-server-cache"><?php _e('Purge All caches', 'servebolt-wp'); ?></button>
     47        <?php endif; ?>
    4248    </p>
    4349
  • servebolt-optimizer/tags/3.5.47/src/Servebolt/Views/cache-settings/cache-purge/configuration/cache-purge-triggers.php

    r2885483 r3209253  
    44<?php if (CachePurge::featureIsAvailable()) : ?>
    55    <p>
    6         <button type="button" class="sb-purge-all-cache sb-button yellow inline"><?php _e('Purge All Cache', 'servebolt-wp'); ?></button>
     6        <button type="button" class="sb-purge-all-cache sb-button yellow inline"><?php _e('Purge CDN Cache', 'servebolt-wp'); ?></button>
    77        <?php if (CachePurge::cachePurgeByUrlIsAvailable()) : ?>
    8             <button type="button" class="sb-purge-url sb-button yellow inline<?php echo CachePurge::driverSupportsUrlCachePurge() ? '' : ' sb-button-hidden'; ?>"><?php _e('Purge a URL', 'servebolt-wp'); ?></button>
     8            <button type="button" class="sb-purge-url sb-button yellow inline<?php echo CachePurge::driverSupportsUrlCachePurge() ? '' : ' sb-button-hidden'; ?>">
     9                <?php _e('Purge a URL', 'servebolt-wp'); ?>
     10            </button>
    911        <?php endif; ?>
    10         <!-- <button type="button" class="sb-purge-url sb-button yellow inline<?php echo CachePurge::driverSupportsUrlCachePrefixPurge() ? '' : ' sb-button-hidden'; ?>"><?php _e('Purge Images', 'servebolt-wp'); ?></button> -->
     12        <?php if (CachePurge::cachePurgeByServerAvailable() ) : ?>
     13            <button type="button" class="sb-purge-server-cache sb-button yellow inline<?php echo CachePurge::driverSupportsCachePurgeServer() ? '' : ' sb-button-hidden'; ?>">
     14                <?php _e('Purge All Caches', 'servebolt-wp'); ?>
     15            </button>
     16        <?php endif; ?>
    1117    </p>
    1218    <br>
  • servebolt-optimizer/tags/3.5.47/src/Servebolt/Views/log-viewer/log-viewer.php

    r2684493 r3209253  
    22<?php use function Servebolt\Optimizer\Helpers\arrayGet; ?>
    33<div class="wrap">
    4     <h2><?php _e('Error Log', 'servebolt-wp'); ?></h2>
     4    <h2><?php echo $pageTitle; ?></h2>
    55    <p>Log file path: <?php echo $logFilePath; ?></p>
    66    <?php if (!$logFileExists) : ?>
  • servebolt-optimizer/tags/3.5.47/vendor/autoload.php

    r3160578 r3209253  
    2323require_once __DIR__ . '/composer/autoload_real.php';
    2424
    25 return ComposerAutoloaderInit7e493e81210a34d0796d3a214252c52a::getLoader();
     25return ComposerAutoloaderInit9c6a263aa17a3f3b9562c540adb04ad7::getLoader();
  • servebolt-optimizer/tags/3.5.47/vendor/composer/InstalledVersions.php

    r2893442 r3209253  
    323323
    324324        $installed = array();
     325        $copiedLocalDir = false;
    325326
    326327        if (self::$canGetVendors) {
     
    331332                    /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
    332333                    $required = require $vendorDir.'/composer/installed.php';
    333                     $installed[] = self::$installedByVendor[$vendorDir] = $required;
    334                     if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
    335                         self::$installed = $installed[count($installed) - 1];
     334                    self::$installedByVendor[$vendorDir] = $required;
     335                    $installed[] = $required;
     336                    if (strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
     337                        self::$installed = $required;
     338                        $copiedLocalDir = true;
    336339                    }
    337340                }
     
    351354        }
    352355
    353         if (self::$installed !== array()) {
     356        if (self::$installed !== array() && !$copiedLocalDir) {
    354357            $installed[] = self::$installed;
    355358        }
  • servebolt-optimizer/tags/3.5.47/vendor/composer/autoload_classmap.php

    r3203042 r3209253  
    169169    'Servebolt\\Optimizer\\CachePurge\\Interfaces\\CachePurgeAllInterface' => $baseDir . '/src/Servebolt/CachePurge/Interfaces/CachePurgeAllInterface.php',
    170170    'Servebolt\\Optimizer\\CachePurge\\Interfaces\\CachePurgePrefixInterface' => $baseDir . '/src/Servebolt/CachePurge/Interfaces/CachePurgePrefixInterface.php',
     171    'Servebolt\\Optimizer\\CachePurge\\Interfaces\\CachePurgeServerInterface' => $baseDir . '/src/Servebolt/CachePurge/Interfaces/CachePurgeServerInterface.php',
    171172    'Servebolt\\Optimizer\\CachePurge\\Interfaces\\CachePurgeTagInterface' => $baseDir . '/src/Servebolt/CachePurge/Interfaces/CachePurgeTagInterface.php',
    172173    'Servebolt\\Optimizer\\CachePurge\\Interfaces\\CachePurgeUrlInterface' => $baseDir . '/src/Servebolt/CachePurge/Interfaces/CachePurgeUrlInterface.php',
  • servebolt-optimizer/tags/3.5.47/vendor/composer/autoload_real.php

    r3160578 r3209253  
    33// autoload_real.php @generated by Composer
    44
    5 class ComposerAutoloaderInit7e493e81210a34d0796d3a214252c52a
     5class ComposerAutoloaderInit9c6a263aa17a3f3b9562c540adb04ad7
    66{
    77    private static $loader;
     
    2525        require __DIR__ . '/platform_check.php';
    2626
    27         spl_autoload_register(array('ComposerAutoloaderInit7e493e81210a34d0796d3a214252c52a', 'loadClassLoader'), true, true);
     27        spl_autoload_register(array('ComposerAutoloaderInit9c6a263aa17a3f3b9562c540adb04ad7', 'loadClassLoader'), true, true);
    2828        self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
    29         spl_autoload_unregister(array('ComposerAutoloaderInit7e493e81210a34d0796d3a214252c52a', 'loadClassLoader'));
     29        spl_autoload_unregister(array('ComposerAutoloaderInit9c6a263aa17a3f3b9562c540adb04ad7', 'loadClassLoader'));
    3030
    3131        require __DIR__ . '/autoload_static.php';
    32         call_user_func(\Composer\Autoload\ComposerStaticInit7e493e81210a34d0796d3a214252c52a::getInitializer($loader));
     32        call_user_func(\Composer\Autoload\ComposerStaticInit9c6a263aa17a3f3b9562c540adb04ad7::getInitializer($loader));
    3333
    3434        $loader->register(true);
    3535
    36         $filesToLoad = \Composer\Autoload\ComposerStaticInit7e493e81210a34d0796d3a214252c52a::$files;
     36        $filesToLoad = \Composer\Autoload\ComposerStaticInit9c6a263aa17a3f3b9562c540adb04ad7::$files;
    3737        $requireFile = \Closure::bind(static function ($fileIdentifier, $file) {
    3838            if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
  • servebolt-optimizer/tags/3.5.47/vendor/composer/autoload_static.php

    r3203042 r3209253  
    55namespace Composer\Autoload;
    66
    7 class ComposerStaticInit7e493e81210a34d0796d3a214252c52a
     7class ComposerStaticInit9c6a263aa17a3f3b9562c540adb04ad7
    88{
    99    public static $files = array (
     
    204204        'Servebolt\\Optimizer\\CachePurge\\Interfaces\\CachePurgeAllInterface' => __DIR__ . '/../..' . '/src/Servebolt/CachePurge/Interfaces/CachePurgeAllInterface.php',
    205205        'Servebolt\\Optimizer\\CachePurge\\Interfaces\\CachePurgePrefixInterface' => __DIR__ . '/../..' . '/src/Servebolt/CachePurge/Interfaces/CachePurgePrefixInterface.php',
     206        'Servebolt\\Optimizer\\CachePurge\\Interfaces\\CachePurgeServerInterface' => __DIR__ . '/../..' . '/src/Servebolt/CachePurge/Interfaces/CachePurgeServerInterface.php',
    206207        'Servebolt\\Optimizer\\CachePurge\\Interfaces\\CachePurgeTagInterface' => __DIR__ . '/../..' . '/src/Servebolt/CachePurge/Interfaces/CachePurgeTagInterface.php',
    207208        'Servebolt\\Optimizer\\CachePurge\\Interfaces\\CachePurgeUrlInterface' => __DIR__ . '/../..' . '/src/Servebolt/CachePurge/Interfaces/CachePurgeUrlInterface.php',
     
    484485    {
    485486        return \Closure::bind(function () use ($loader) {
    486             $loader->prefixLengthsPsr4 = ComposerStaticInit7e493e81210a34d0796d3a214252c52a::$prefixLengthsPsr4;
    487             $loader->prefixDirsPsr4 = ComposerStaticInit7e493e81210a34d0796d3a214252c52a::$prefixDirsPsr4;
    488             $loader->classMap = ComposerStaticInit7e493e81210a34d0796d3a214252c52a::$classMap;
     487            $loader->prefixLengthsPsr4 = ComposerStaticInit9c6a263aa17a3f3b9562c540adb04ad7::$prefixLengthsPsr4;
     488            $loader->prefixDirsPsr4 = ComposerStaticInit9c6a263aa17a3f3b9562c540adb04ad7::$prefixDirsPsr4;
     489            $loader->classMap = ComposerStaticInit9c6a263aa17a3f3b9562c540adb04ad7::$classMap;
    489490
    490491        }, null, ClassLoader::class);
  • servebolt-optimizer/tags/3.5.47/vendor/composer/installed.json

    r3160578 r3209253  
    753753        {
    754754            "name": "servebolt/sdk",
    755             "version": "1.2.8",
    756             "version_normalized": "1.2.8.0",
     755            "version": "1.2.9",
     756            "version_normalized": "1.2.9.0",
    757757            "source": {
    758758                "type": "git",
    759759                "url": "https://github.com/Servebolt/php-sdk.git",
    760                 "reference": "9bda10f00de3b0cf97826499a9c097341199e891"
    761             },
    762             "dist": {
    763                 "type": "zip",
    764                 "url": "https://api.github.com/repos/Servebolt/php-sdk/zipball/9bda10f00de3b0cf97826499a9c097341199e891",
    765                 "reference": "9bda10f00de3b0cf97826499a9c097341199e891",
     760                "reference": "7c3cda707237d747b4c8a04bb56a9eae4e657046"
     761            },
     762            "dist": {
     763                "type": "zip",
     764                "url": "https://api.github.com/repos/Servebolt/php-sdk/zipball/7c3cda707237d747b4c8a04bb56a9eae4e657046",
     765                "reference": "7c3cda707237d747b4c8a04bb56a9eae4e657046",
    766766                "shasum": ""
    767767            },
     
    781781                "vlucas/phpdotenv": "^5.3"
    782782            },
    783             "time": "2024-10-01T09:45:31+00:00",
     783            "time": "2024-12-17T07:53:21+00:00",
    784784            "type": "library",
    785785            "installation-source": "dist",
     
    809809            "support": {
    810810                "issues": "https://github.com/Servebolt/php-sdk/issues",
    811                 "source": "https://github.com/Servebolt/php-sdk/tree/1.2.8"
     811                "source": "https://github.com/Servebolt/php-sdk/tree/1.2.9"
    812812            },
    813813            "install-path": "../servebolt/sdk"
  • servebolt-optimizer/tags/3.5.47/vendor/composer/installed.php

    r3203042 r3209253  
    22    'root' => array(
    33        'name' => 'servebolt/servebolt-wp-optimize-plugin',
    4         'pretty_version' => '3.5.46',
    5         'version' => '3.5.46.0',
    6         'reference' => '7f19c1260539ef555d8554f5c06cdf6a6a9bfc74',
     4        'pretty_version' => '3.5.47',
     5        'version' => '3.5.47.0',
     6        'reference' => '9a6a83be6733407a7dc42c7032064d95cf8c4200',
    77        'type' => 'wordpress-plugin',
    88        'install_path' => __DIR__ . '/../../',
     
    123123        ),
    124124        'servebolt/sdk' => array(
    125             'pretty_version' => '1.2.8',
    126             'version' => '1.2.8.0',
    127             'reference' => '9bda10f00de3b0cf97826499a9c097341199e891',
     125            'pretty_version' => '1.2.9',
     126            'version' => '1.2.9.0',
     127            'reference' => '7c3cda707237d747b4c8a04bb56a9eae4e657046',
    128128            'type' => 'library',
    129129            'install_path' => __DIR__ . '/../servebolt/sdk',
     
    132132        ),
    133133        'servebolt/servebolt-wp-optimize-plugin' => array(
    134             'pretty_version' => '3.5.46',
    135             'version' => '3.5.46.0',
    136             'reference' => '7f19c1260539ef555d8554f5c06cdf6a6a9bfc74',
     134            'pretty_version' => '3.5.47',
     135            'version' => '3.5.47.0',
     136            'reference' => '9a6a83be6733407a7dc42c7032064d95cf8c4200',
    137137            'type' => 'wordpress-plugin',
    138138            'install_path' => __DIR__ . '/../../',
  • servebolt-optimizer/trunk/Readme.txt

    r3203042 r3209253  
    66Tested up to: 6.6.1
    77Requires PHP: 7.4
    8 Stable tag: 3.5.46
     8Stable tag: 3.5.47
    99License: GPLv3 or later
    1010License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    9898
    9999== Changelog ==
     100
     101= 3.5.47 =
     102* Added option to purge all caches, including the Server and CDN. This applies to those hosted on Servebolt Linux 8 only and using Accelerated Domains or Servebolt CDN.
     103* Fixed some deprecation errors on admin sub menus that have been converted to tabs.
     104* Improved the log file ready on Servebolt Linux 8 to now include PHP and HTTP.
     105* Update to the Servebolt PHP-SDK to support the new purge method.
    100106
    101107= 3.5.46 =
  • servebolt-optimizer/trunk/assets/dist/js/acd-control.js

    r2694864 r3209253  
    11document.addEventListener('DOMContentLoaded', function() {
     2   let element, element2;
    23   if (element = document.querySelector('#sb-acd-purge-all-cache')) {
    34      element.addEventListener('click', window.acdPurgeAll);
     5   }
     6   if (element2 = document.querySelector('#sb-acd-purge-server-cache')) {
     7      element2.addEventListener('click', window.acdPurgeServer);
    48   }
    59   if (document.querySelector('form#sb-accelerated-domains-image-resize-options-page-form')) {
     
    7781window.acdPurgeAll = function () {
    7882   if (window.sb_use_native_js_fallback()) {
    79       if (window.confirm('Do you want to purge all cache?')) {
     83      if (window.confirm('Do you want to purge all CDN cache?')) {
    8084         window.acdPurgeAllConfirmed();
    8185      }
    8286   } else {
    8387      Swal.fire({
    84          title: 'Do you want to purge all cache?',
     88         title: 'Do you want to purge all CDN cache?',
    8589         icon: 'warning',
    8690         showCancelButton: true,
     
    136140   });
    137141}
     142
     143
     144/**
     145 * Execute AJAX request to purge all cache.
     146 */
     147window.acdPurgeServer = function () {
     148   console.log('acdPurgeServer');
     149   if (window.sb_use_native_js_fallback()) {
     150      if (window.confirm('Do you want to purge all possible caches?')) {
     151         window.acdPurgeServerConfirmed();
     152      }
     153   } else {
     154      Swal.fire({
     155         title: 'Do you want to purge all possible caches assiocated with this server?',
     156         icon: 'warning',
     157         showCancelButton: true,
     158         customClass: {
     159            confirmButton: 'servebolt-button yellow',
     160            cancelButton: 'servebolt-button light'
     161         },
     162         buttonsStyling: false
     163      }).then((result) => {
     164         if (result.value) {
     165            window.acdPurgeServerConfirmed();
     166         }
     167      });
     168   }
     169};
     170
     171/**
     172 * Execute AJAX request to purge all cache after confirmation.
     173 */
     174window.acdPurgeServerConfirmed = function () {
     175   window.sb_loading(true);
     176   const data = new FormData();
     177   data.append('action', 'servebolt_acd_purge_server_cache');
     178   data.append('security', servebolt_optimizer_ajax_object.ajax_nonce);
     179   fetch(servebolt_optimizer_ajax_object.ajaxurl,
     180       {
     181          method: 'POST',
     182          body: data
     183       }
     184   )
     185   .then(function(response) {
     186      return response.json();
     187   })
     188   .then(function(response) {
     189      window.sb_loading(false);
     190      if (response.success) {
     191         setTimeout(function () {
     192            var title = window.sb_get_from_response(response, 'title', window.sb_default_success_title())
     193            window.sb_success(title, response.data.message);
     194         }, 50);
     195      } else {
     196         var message = window.sb_get_message_from_response(response);
     197         if (message) {
     198            window.sbCachePurgeError(message);
     199         } else {
     200            window.sbCachePurgeError(null, false);
     201         }
     202      }
     203   })
     204   .catch(function(error) {
     205      window.sb_loading(false);
     206      window.sbCachePurgeError(null, false);
     207   });
     208}
  • servebolt-optimizer/trunk/assets/dist/js/cache-purge-trigger.js

    r3168538 r3209253  
    1313    sb_close_admin_bar_menu();
    1414    window.sb_purge_all_cache();
     15  });
     16
     17  // Purge the Server cache at Servebolt and the CDN at Cloudflare.
     18  $('#sb-configuration .sb-purge-server-cache, #wpadminbar .sb-purge-server-cache').click(function (e) {
     19    e.preventDefault();
     20    sb_close_admin_bar_menu();
     21    window.sb_purge_server_cache();
    1522  });
    1623
     
    168175  window.sb_purge_all_cache = function() {
    169176    if (window.sb_use_native_js_fallback()) {
    170       if (window.confirm('Do you want to purge all cache?')) {
     177      if (window.confirm('Do you want to purge the CDN cache?')) {
    171178        sb_purge_all_cache_confirmed();
    172179      }
    173180    } else {
    174181      Swal.fire({
    175         title: 'Do you want to purge all cache?',
     182        title: 'Do you want to purge the CDN cache?',
    176183        icon: 'warning',
    177184        showCancelButton: true,
     
    224231    });
    225232  };
     233
     234
     235
     236  /**
     237   * Clear Server cache in Cloudflare and Servebolt.
     238   */
     239  window.sb_purge_server_cache = function() {
     240    if (window.sb_use_native_js_fallback()) {
     241      if (window.confirm('Do you want to purge the all possible caches?')) {
     242        sb_purge_server_cache_confirmed();
     243      }
     244    } else {
     245      Swal.fire({
     246        title: 'Do you want to purge all possible caches?',
     247        icon: 'warning',
     248        showCancelButton: true,
     249        customClass: {
     250          confirmButton: 'servebolt-button yellow',
     251          cancelButton: 'servebolt-button light'
     252        },
     253        buttonsStyling: false
     254      }).then((result) => {
     255        if (result.value) {
     256          sb_purge_server_cache_confirmed();
     257        }
     258      });
     259    }
     260  }
     261
     262  /**
     263   * Confirm callback for function "sb_purge_server_cache".
     264   */
     265  function sb_purge_server_cache_confirmed() {
     266    window.sb_loading(true);
     267    var data = {
     268      action: 'servebolt_purge_server_cache',
     269      security: servebolt_optimizer_ajax_object.ajax_nonce,
     270    };
     271    $.ajax({
     272      type: 'POST',
     273      url: servebolt_optimizer_ajax_object.ajaxurl,
     274      data: data,
     275      success: function(response) {
     276        window.sb_loading(false);
     277        if (response.success) {
     278          setTimeout(function () {
     279            sb_cache_purge_success(
     280              window.sb_get_message_from_response(response),
     281              window.sb_get_from_response(response, 'title')
     282            );
     283          }, 100);
     284          return;
     285        }
     286        window.sbCachePurgeError();
     287        // TODO: Display errors to the user
     288        //window.handle_unsuccessful_cache_purge(response);
     289      },
     290      error: function() {
     291        window.sb_loading(false);
     292        window.sbCachePurgeError(); // General error
     293      }
     294    });
     295  };
     296
    226297
    227298  window.handle_unsuccessful_cache_purge = function(response) {
     
    443514  window.sb_purge_url_cache = function() {
    444515    if ( window.sb_use_native_js_fallback() ) {
    445       var value = window.prompt('Which URL do you wish to purge?' + "\n" + 'Please use full URL including "http://"');
     516      var value = window.prompt('Which URL do you wish to purge?' + "\n" + 'Please use full URL including "https://"');
    446517      if ( ! value ) {
    447518        window.alert('Please enter a URL.');
     
    453524        text: 'Which URL do you wish to purge?',
    454525        input: 'text',
    455         inputPlaceholder: 'Please use full URL including "http://"',
     526        inputPlaceholder: 'Please use full URL including "https://"',
    456527        customClass: {
    457528          confirmButton: 'servebolt-button yellow',
  • servebolt-optimizer/trunk/languages/servebolt-optimizer.pot

    r3023886 r3209253  
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: Servebolt Optimizer 3.5.27\n"
     5"Project-Id-Version: Servebolt Optimizer 3.5.46\n"
    66"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/servebolt-optimizer\n"
    77"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
     
    1010"Content-Type: text/plain; charset=UTF-8\n"
    1111"Content-Transfer-Encoding: 8bit\n"
    12 "POT-Creation-Date: 2024-01-19T08:29:27+01:00\n"
     12"POT-Creation-Date: 2024-12-12T16:43:22+01:00\n"
    1313"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    1414"X-Generator: WP-CLI 2.7.1\n"
     
    4545msgstr ""
    4646
    47 #: src/Servebolt/AcceleratedDomains/Prefetching/WpPrefetching.php:112
     47#: src/Servebolt/AcceleratedDomains/Prefetching/WpPrefetching.php:114
    4848msgid "The manifest files are now generated and should be updated in Accelerated Domains. You will now be sent back to WP Admin."
    4949msgstr ""
    5050
    51 #: src/Servebolt/Admin/AcceleratedDomainsControl/Ajax/PurgeActions.php:36
    52 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:56
     51#: src/Servebolt/Admin/AcceleratedDomainsControl/Ajax/PurgeActions.php:37
     52#: src/Servebolt/Admin/AcceleratedDomainsControl/Ajax/PurgeActions.php:62
     53#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:54
    5354msgid "The cache purge feature is not active or is not configured correctly, so we could not purge cache."
    5455msgstr ""
    5556
    56 #: src/Servebolt/Admin/AcceleratedDomainsControl/Ajax/PurgeActions.php:42
     57#: src/Servebolt/Admin/AcceleratedDomainsControl/Ajax/PurgeActions.php:43
     58#: src/Servebolt/Admin/AcceleratedDomainsControl/Ajax/PurgeActions.php:68
    5759msgid "All cache was purged!"
    5860msgstr ""
    5961
    60 #: src/Servebolt/Admin/AcceleratedDomainsControl/Ajax/PurgeActions.php:46
     62#: src/Servebolt/Admin/AcceleratedDomainsControl/Ajax/PurgeActions.php:47
     63#: src/Servebolt/Admin/AcceleratedDomainsControl/Ajax/PurgeActions.php:72
    6164msgid "Could not purge all cache."
    6265msgstr ""
     
    8588
    8689#: src/Servebolt/Admin/AdminBarGui/Nodes/2_CachePurgeNodes.php:71
    87 #: src/Servebolt/Views/cache-settings/cache-purge/configuration/cache-purge-triggers.php:6
    88 msgid "Purge All Cache"
     90msgid "Purge CDN Cache"
    8991msgstr ""
    9092
     
    148150
    149151#: src/Servebolt/Admin/AdminController.php:249
    150 #: src/Servebolt/Views/log-viewer/log-viewer.php:4
    151152msgid "Error Log"
    152153msgstr ""
     
    211212msgstr ""
    212213
    213 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:148
     214#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:146
    214215msgid "Please specify the URL you would like to purge cache for."
    215216msgstr ""
    216217
    217 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:156
    218 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:248
    219 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:395
     218#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:154
     219#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:246
     220#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:393
    220221msgid "All good!"
    221222msgstr ""
    222223
    223 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:167
    224 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:259
    225 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:361
    226 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:406
     224#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:165
     225#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:257
     226#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:359
     227#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:404
    227228msgid "Just a moment"
    228229msgstr ""
    229230
    230 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:168
     231#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:166
    231232msgid "A cache purge request for the URL \"%s\" was added to the queue and will be executed shortly."
    232233msgstr ""
    233234
    234 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:171
     235#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:169
    235236msgid "Cache was purged for URL \"%s\"."
    236237msgstr ""
    237238
    238 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:235
     239#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:233
    239240msgid "Please specify the post you would like to purge cache for."
    240241msgstr ""
    241242
    242 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:238
     243#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:236
    243244msgid "The specified post does not exist."
    244245msgstr ""
    245246
    246 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:241
     247#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:239
    247248msgid "You are not allowed to purge cache for this post."
    248249msgstr ""
    249250
    250 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:249
     251#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:247
    251252msgid "A cache purge request for the %s \"%s\" is already added to the queue and should be executed shortly."
    252253msgstr ""
    253254
    254 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:260
     255#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:258
    255256msgid "A cache purge request for the %s \"%s\" was added to the queue and will be executed shortly."
    256257msgstr ""
    257258
    258 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:263
     259#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:261
    259260msgid "Cache was purged for the %s \"%s\"."
    260261msgstr ""
    261262
    262 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:336
     263#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:334
    263264msgid "Please specify the term you would like to purge cache for."
    264265msgstr ""
    265266
    266 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:339
     267#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:337
    267268msgid "The specified term does not exist."
    268269msgstr ""
    269270
    270 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:342
     271#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:340
    271272msgid "You are not allowed to purge cache for this taxonomy."
    272273msgstr ""
    273274
    274 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:351
     275#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:349
    275276msgid "A cache purge request for the term \"%s\" is already added to the queue and should be executed shortly."
    276277msgstr ""
    277278
    278 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:362
     279#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:360
    279280msgid "A cache purge request for the term \"%s\" was added to the queue and will be executed shortly."
    280281msgstr ""
    281282
    282 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:365
     283#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:363
    283284msgid "Cache was purged for the term \"%s\"."
    284285msgstr ""
    285286
    286 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:396
     287#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:394
    287288msgid "A purge all-request is already queued and should be executed shortly."
    288289msgstr ""
    289290
    290 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:407
     291#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:405
    291292msgid "A purge all-request was added to the queue and will be executed shortly."
    292293msgstr ""
    293294
    294 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:410
     295#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:408
    295296msgid "All cache was purged."
    296297msgstr ""
    297298
    298 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:498
     299#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:496
    299300msgid "See result below:"
    300301msgstr ""
    301302
    302 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:501
     303#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:499
    303304msgid "We we're not successful..."
    304305msgstr ""
    305306
    306 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:502
     307#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:500
    307308msgid "We got some errors, please see below:"
    308309msgstr ""
    309310
    310 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:505
     311#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:503
    311312msgid "We we're not quite successful..."
    312313msgstr ""
    313314
    314 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:506
     315#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:504
    315316msgid "We got a partial success due to some errors, please see the messages below:"
    316317msgstr ""
    317318
    318 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:509
     319#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:507
    319320msgid "We we're almost successful..."
    320321msgstr ""
    321322
    322 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:510
     323#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:508
    323324msgid "Some actions could not be completed, please see below:"
    324325msgstr ""
    325326
    326 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:527
     327#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:525
    327328msgid "Could not purge all cache since cache purge feature is not active on site %s."
    328329msgstr ""
    329330
    330 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:533
     331#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:531
    331332msgid "Could not purge all cache since cache purge feature is not configured on site %s."
    332333msgstr ""
    333334
    334 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:544
     335#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:542
    335336msgid "A purge all-request is already queued on site %s and will be executed shortly."
    336337msgstr ""
    337338
    338 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:555
     339#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:553
    339340msgid "A purge all-request was added to the queue on site %s and will be executed shortly."
    340341msgstr ""
    341342
    342 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:560
     343#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:558
    343344msgid "All cache was purged on site %s."
    344345msgstr ""
    345346
    346 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:566
    347 #: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:571
     347#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:564
     348#: src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php:569
    348349msgid "Could not purge cache on site %s."
    349350msgstr ""
     
    946947
    947948#: src/Servebolt/Cli/HtmlCache/HtmlCache.php:407
    948 #: src/Servebolt/FullPageCache/FullPageCacheHeaders.php:528
     949#: src/Servebolt/FullPageCache/FullPageCacheHeaders.php:557
    949950msgid "All"
    950951msgstr ""
     
    11551156msgstr ""
    11561157
    1157 #: src/Servebolt/Helpers/Helpers.php:1220
    1158 #: src/Servebolt/Helpers/Helpers.php:1232
     1158#: src/Servebolt/Helpers/Helpers.php:1254
     1159#: src/Servebolt/Helpers/Helpers.php:1266
    11591160#: src/Servebolt/Views/accelerated-domains/image-resize/image-size-index-list.php:12
    11601161msgid "Delete"
    11611162msgstr ""
    11621163
    1163 #: src/Servebolt/Helpers/Helpers.php:1221
     1164#: src/Servebolt/Helpers/Helpers.php:1255
    11641165msgid "View"
    11651166msgstr ""
    11661167
    1167 #: src/Servebolt/Helpers/Helpers.php:1223
     1168#: src/Servebolt/Helpers/Helpers.php:1257
    11681169msgid "Edit"
    11691170msgstr ""
    11701171
    1171 #: src/Servebolt/Helpers/Helpers.php:1230
     1172#: src/Servebolt/Helpers/Helpers.php:1264
    11721173msgid "Post does not exist."
    11731174msgstr ""
     
    11991200#: src/Servebolt/Views/cache-settings/cache-settings/network-list-view.php:10
    12001201#: src/Servebolt/Views/cache-settings/cache-settings/network-list-view.php:19
    1201 #: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:68
    1202 #: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:77
     1202#: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:69
     1203#: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:78
    12031204#: src/Servebolt/Views/cache-settings/cache-ttl/network-list-view.php:8
    12041205#: src/Servebolt/Views/cache-settings/cache-ttl/network-list-view.php:16
     
    12961297#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:21
    12971298#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:54
    1298 #: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:67
     1299#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:68
     1300#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:82
    12991301#: src/Servebolt/Views/accelerated-domains/prefetching/settings-form.php:20
    13001302#: src/Servebolt/Views/accelerated-domains/prefetching/settings-form.php:65
    13011303#: src/Servebolt/Views/cache-settings/cache-purge/configuration/configuration.php:45
    1302 #: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:21
     1304#: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:22
     1305#: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:102
     1306#: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:110
    13031307#: src/Servebolt/Views/cloudflare-image-resize/configration.php:59
    13041308#: src/Servebolt/Views/performance-optimizer/advanced/settings-form.php:20
     
    13151319
    13161320#: src/Servebolt/Views/accelerated-domains/control/settings-form.php:41
    1317 msgid "Purge all cache"
     1321msgid "Purge CDN cache"
     1322msgstr ""
     1323
     1324#: src/Servebolt/Views/accelerated-domains/control/settings-form.php:42
     1325msgid "Purge All cache"
    13181326msgstr ""
    13191327
     
    13341342#: src/Servebolt/Views/cache-settings/cache-purge/queue/list.php:16
    13351343#: src/Servebolt/Views/cache-settings/cache-purge/queue/list.php:36
    1336 #: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:49
    1337 #: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:92
     1344#: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:50
     1345#: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:93
    13381346msgid "Remove selected"
    13391347msgstr ""
     
    13451353#: src/Servebolt/Views/accelerated-domains/image-resize/image-size-index.php:18
    13461354#: src/Servebolt/Views/accelerated-domains/image-resize/image-size-index.php:25
    1347 #: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:65
    1348 #: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:74
     1355#: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:66
     1356#: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:75
    13491357msgid "Select All"
    13501358msgstr ""
     
    14311439msgstr ""
    14321440
    1433 #: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:61
     1441#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:62
     1442msgid "Force thumbnail width minimum size"
     1443msgstr ""
     1444
     1445#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:65
     1446msgid "Force thumbnail minimum size on corrupted?"
     1447msgstr ""
     1448
     1449#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:69
     1450msgid "If images dimensions cannot be read by WordPress, this will force the \"thumbnail\" width as the base image with."
     1451msgstr ""
     1452
     1453#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:76
    14341454msgid "Add half sizes to responsive images"
    14351455msgstr ""
    14361456
    1437 #: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:64
     1457#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:79
    14381458msgid "Add half sizes to srcset-attribute?"
    14391459msgstr ""
    14401460
    1441 #: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:68
     1461#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:83
    14421462msgid "When enabled this will automatically add half sizes of all registered image sizes and help deliver the best possible size to the browser."
    14431463msgstr ""
    14441464
    1445 #: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:74
     1465#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:89
    14461466msgid "Image quality"
    14471467msgstr ""
    14481468
    1449 #: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:78
     1469#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:93
    14501470msgid "You can adjust the quality the resized images should be delivered in. A lower quality means lower file size, and can both be downloaded and rendered in the browser faster."
    14511471msgstr ""
    14521472
    1453 #: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:84
     1473#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:99
    14541474msgid "Metadata optimization"
    14551475msgstr ""
    14561476
    1457 #: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:87
    1458 #: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:89
     1477#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:102
     1478#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:104
    14591479msgid "Keep all metadata"
    14601480msgstr ""
    14611481
    1462 #: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:92
    1463 #: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:94
     1482#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:107
     1483#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:109
    14641484msgid "Keep copyright metadata"
    14651485msgstr ""
    14661486
    1467 #: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:97
    1468 #: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:99
     1487#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:112
     1488#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:114
    14691489msgid "No metadata"
    14701490msgstr ""
    14711491
    1472 #: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:102
     1492#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:117
    14731493msgid "Metadata on images (EXIF) is usually not needed and removing it will optimize the size of the images"
    14741494msgstr ""
    14751495
    1476 #: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:106
     1496#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:121
    14771497msgid "Extra responsive image sizes"
    14781498msgstr ""
    14791499
    1480 #: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:108
     1500#: src/Servebolt/Views/accelerated-domains/image-resize/settings-form.php:123
    14811501msgid "When resizing on responsive images is enabled you can add custom image sizes to optimize the image size downloaded by the browser."
    14821502msgstr ""
     
    16191639msgstr ""
    16201640
     1641#: src/Servebolt/Views/cache-settings/cache-purge/configuration/cache-purge-triggers.php:6
     1642msgid "Purge All Cache"
     1643msgstr ""
     1644
    16211645#: src/Servebolt/Views/cache-settings/cache-purge/configuration/cache-purge-triggers.php:10
    16221646msgid "Purge Images"
     
    18751899msgstr ""
    18761900
    1877 #: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:19
     1901#: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:20
    18781902msgid "HTML Cache"
    18791903msgstr ""
    18801904
    1881 #: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:37
     1905#: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:38
    18821906msgid ""
    18831907"By default this plugin enables HTML caching of posts, pages and products.\n"
     
    18861910msgstr ""
    18871911
    1888 #: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:52
     1912#: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:53
    18891913msgid "Flush posts"
    18901914msgstr ""
    18911915
    1892 #: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:55
     1916#: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:56
    18931917msgid "Add post to exclude"
    1894 msgstr ""
    1895 
    1896 #: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:66
    1897 #: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:75
    1898 msgid "Post ID"
    18991918msgstr ""
    19001919
    19011920#: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:67
    19021921#: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:76
     1922msgid "Post ID"
     1923msgstr ""
     1924
     1925#: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:68
     1926#: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:77
    19031927msgid "Post title"
    19041928msgstr ""
    19051929
    1906 #: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:82
     1930#: src/Servebolt/Views/cache-settings/cache-settings/settings-form.php:83
    19071931msgid "No posts set to be excluded"
    19081932msgstr ""
     
    20552079msgstr ""
    20562080
    2057 #: src/Servebolt/Views/log-viewer/log-viewer.php:8
     2081#: src/Servebolt/Views/log-viewer/sl7-viewer.php:8
     2082#: src/Servebolt/Views/log-viewer/sl8-viewer.php:8
    20582083msgid "The log file does not exist."
    20592084msgstr ""
    20602085
    2061 #: src/Servebolt/Views/log-viewer/log-viewer.php:11
     2086#: src/Servebolt/Views/log-viewer/sl7-viewer.php:11
     2087#: src/Servebolt/Views/log-viewer/sl8-viewer.php:11
    20622088msgid "Log file is not readable."
    20632089msgstr ""
    20642090
    2065 #: src/Servebolt/Views/log-viewer/log-viewer.php:13
     2091#: src/Servebolt/Views/log-viewer/sl7-viewer.php:13
     2092#: src/Servebolt/Views/log-viewer/sl8-viewer.php:13
    20662093msgid "Your error log is empty."
    20672094msgstr ""
    20682095
    2069 #: src/Servebolt/Views/log-viewer/log-viewer.php:15
     2096#: src/Servebolt/Views/log-viewer/sl7-viewer.php:15
     2097#: src/Servebolt/Views/log-viewer/sl8-viewer.php:15
    20702098msgid "This table lists the %s last entries from today's error log"
    20712099msgstr ""
    20722100
    2073 #: src/Servebolt/Views/log-viewer/log-viewer.php:19
     2101#: src/Servebolt/Views/log-viewer/sl7-viewer.php:19
     2102#: src/Servebolt/Views/log-viewer/sl8-viewer.php:19
    20742103msgid "Timestamp"
    20752104msgstr ""
    20762105
    2077 #: src/Servebolt/Views/log-viewer/log-viewer.php:20
     2106#: src/Servebolt/Views/log-viewer/sl7-viewer.php:20
     2107#: src/Servebolt/Views/log-viewer/sl8-viewer.php:20
    20782108msgid "IP"
    20792109msgstr ""
    20802110
    2081 #: src/Servebolt/Views/log-viewer/log-viewer.php:21
     2111#: src/Servebolt/Views/log-viewer/sl7-viewer.php:21
     2112#: src/Servebolt/Views/log-viewer/sl8-viewer.php:21
    20822113msgid "Error"
    20832114msgstr ""
  • servebolt-optimizer/trunk/servebolt-optimizer.php

    r3203042 r3209253  
    22/*
    33Plugin Name: Servebolt Optimizer
    4 Version: 3.5.46
     4Version: 3.5.47
    55Author: Servebolt
    66Author URI: https://servebolt.com
  • servebolt-optimizer/trunk/src/Dependencies/Servebolt/Sdk/Endpoints/Environment.php

    r3160578 r3209253  
    3838        $httpResponse = $this->httpClient->patchJson('/' . $this->endpoint . '/' . $id, compact('data'));
    3939        return $this->response($httpResponse);
     40    }
     41
     42    /**
     43     * Purge the Server, CDN and any other caches that are involved with the
     44     * given environment.
     45     *
     46     * @param integer|null $environmentId
     47     * @param string $type
     48     * @return \Servebolt\Optimizer\Dependencies\GuzzleHttp\Psr7\Response|object|\Servebolt\Optimizer\Dependencies\Servebolt\Sdk\Response
     49     * @throws ServeboltInvalidUrlException
     50     */
     51    public function purgeServerCache(?int $environmentId = null, $type = 'acd') {
     52        if (is_null($environmentId)) {
     53            $environmentId = $this->environmentId;
     54
     55            if(is_null($environmentId)) {
     56                throw new ServeboltInvalidUrlException('Environment ID is required');
     57            }
     58        }
     59        $requestData = [
     60            'type' => $type,
     61            'all' => true,
     62        ];
     63        return $this->purgeCacheByArguments($environmentId, $requestData);
    4064    }
    4165
  • servebolt-optimizer/trunk/src/Servebolt/Admin/AcceleratedDomainsControl/Ajax/PurgeActions.php

    r2735663 r3209253  
    2222    {
    2323        add_action('wp_ajax_servebolt_acd_purge_all_cache', [$this, 'acdPurgeAllCacheCallback']);
     24        add_action('wp_ajax_servebolt_acd_purge_server_cache', [$this, 'acdPurgeServerCacheCallback']);
    2425    }
    2526
     
    4849        }
    4950    }
     51
     52    /**
     53     * Purge all cache in ACD.
     54     */
     55    public function acdPurgeServerCacheCallback(): void
     56    {
     57        $this->checkAjaxReferer();
     58        ajaxUserAllowed(false, '\\Servebolt\\Optimizer\\Admin\\CachePurgeControl\\Ajax\\PurgeActions::canPurgeServerCache');
     59        $sbDriver = Servebolt::getInstance();
     60        if (!$sbDriver->configurationOk()) {
     61            wp_send_json_error([
     62                'message' => __('The cache purge feature is not active or is not configured correctly, so we could not purge cache.', 'servebolt-wp'),
     63            ]);
     64        }
     65        try {
     66            $sbDriver->purgeServer();
     67            wp_send_json_success([
     68                'message' => __('All cache was purged!', 'servebolt-wp'),
     69            ]);
     70        } catch (Throwable $e) {
     71            wp_send_json_error([
     72                'message' => __('Could not purge all cache.', 'servebolt-wp'),
     73            ]);
     74        }
     75    }
    5076}
  • servebolt-optimizer/trunk/src/Servebolt/Admin/AdminBarGui/Nodes/2_CachePurgeNodes.php

    r2634893 r3209253  
    5353        self::addPurgeUrlNode();
    5454        self::addPurgeAllNode();
     55        self::addPurgeServerNode();
    5556        return self::$nodes;
    5657    }
     
    6970        self::$nodes[] = [
    7071            'id' => 'servebolt-clear-all-cf-cache',
    71             'title' => __('Purge All Cache', 'servebolt-wp'),
     72            'title' => __('Purge CDN Cache', 'servebolt-wp'),
    7273            'href' => '#',
    7374            'meta' => [
     
    7778    }
    7879
     80    /**
     81     * Purge all cache (for current site).
     82     */
     83    private static function addPurgeServerNode(): void
     84    {
     85        if (!apply_filters(
     86            'sb_optimizer_admin_bar_cache_purge_can_purge_server',
     87            PurgeActions::canPurgeServerCache()
     88        )) {
     89            return;
     90        }
     91       
     92        self::$nodes[] = [
     93            'id' => 'servebolt-clear-server-cache',
     94            'title' => __('Purge Server Cache', 'servebolt-wp'),
     95            'href' => '#',
     96            'meta' => [
     97                'class' => 'sb-admin-button sb-purge-server-cache'
     98            ]
     99        ];
     100    }
    79101    /**
    80102     * Purge URL (admin feature).
  • servebolt-optimizer/trunk/src/Servebolt/Admin/AdminController.php

    r2903259 r3209253  
    206206                add_submenu_page('servebolt-wp', __('Cloudflare Image Resizing', 'servebolt-wp'), __('Cloudflare Image Resizing', 'servebolt-wp'), 'manage_options', 'servebolt-cf-image-resizing', [CloudflareImageResize::getInstance(), 'render']);
    207207            } else {
    208                 add_submenu_page('options.php', null, null, 'manage_options', 'servebolt-cf-image-resizing', [CloudflareImageResize::getInstance(), 'render']);
     208                add_submenu_page('options.php', '', '', 'manage_options', 'servebolt-cf-image-resizing', [CloudflareImageResize::getInstance(), 'render']);
    209209            }
    210210        }
     
    218218        if (isHostedAtServebolt()) {
    219219            add_submenu_page('servebolt-wp', __('Cache Settings', 'servebolt-wp'), __('Cache', 'servebolt-wp'), 'manage_options', 'servebolt-html-cache', [FullPageCacheControl::getInstance(), 'render']);
    220             add_submenu_page('options.php', null, null, 'manage_options', 'servebolt-cache-ttl', [CacheTtlControl::getInstance(), 'render']);
    221             add_submenu_page('options.php', null, null, 'manage_options', 'servebolt-cache-purge-control', [CachePurgeControl::getInstance(), 'render']);
     220            add_submenu_page('options.php', '', '', 'manage_options', 'servebolt-cache-ttl', [CacheTtlControl::getInstance(), 'render']);
     221            add_submenu_page('options.php', '', '', 'manage_options', 'servebolt-cache-purge-control', [CachePurgeControl::getInstance(), 'render']);
    222222        } else {
    223223            add_submenu_page('servebolt-wp', __('Cache Settings', 'servebolt-wp'), __('Cache', 'servebolt-wp'), 'manage_options', 'servebolt-cache-purge-control', [CachePurgeControl::getInstance(), 'render']);
     
    225225
    226226        // Legacy redirects
    227         add_submenu_page('options.php', null, null, 'manage_options', 'servebolt-nginx-cache', [$this, 'htmlCacheLegacyRedirect']);
    228         add_submenu_page('options.php', null, null, 'manage_options', 'servebolt-fpc', [$this, 'htmlCacheLegacyRedirect']);
    229         add_submenu_page('options.php', null, null, 'manage_options', 'servebolt-cf-cache-control', [$this, 'cachePurgeLegacyRedirect']);
     227        add_submenu_page('options.php', '', '', 'manage_options', 'servebolt-nginx-cache', [$this, 'htmlCacheLegacyRedirect']);
     228        add_submenu_page('options.php', '', '', 'manage_options', 'servebolt-fpc', [$this, 'htmlCacheLegacyRedirect']);
     229        add_submenu_page('options.php', '', '', 'manage_options', 'servebolt-cf-cache-control', [$this, 'cachePurgeLegacyRedirect']);
    230230    }
    231231
     
    236236    {
    237237        add_submenu_page('servebolt-wp', __('Accelerated Domains', 'servebolt-wp'), __('Accelerated Domains', 'servebolt-wp'), 'manage_options', 'servebolt-acd', [AcceleratedDomainsControl::getInstance(), 'render']);
    238         add_submenu_page('options.php', null, null, 'manage_options', 'servebolt-acd-image-resize', [AcceleratedDomainsImageResizeControl::getInstance(), 'render']);
     238        add_submenu_page('options.php', '', '', 'manage_options', 'servebolt-acd-image-resize', [AcceleratedDomainsImageResizeControl::getInstance(), 'render']);
    239239        if (featureIsAvailable('prefetching')) {
    240             add_submenu_page('options.php', null, null, 'manage_options', 'servebolt-prefetching', [PrefetchingControl::getInstance(), 'render']);
     240            add_submenu_page('options.php', '', '', 'manage_options', 'servebolt-prefetching', [PrefetchingControl::getInstance(), 'render']);
    241241        }
    242242    }
     
    264264    {
    265265        add_submenu_page('servebolt-wp', __('Performance Optimizer', 'servebolt-wp'), __('Performance Optimizer', 'servebolt-wp'), 'manage_options', 'servebolt-performance-optimizer', [PerformanceOptimizer::getInstance(), 'render']);
    266         add_submenu_page('options.php', null, null, 'manage_options', 'servebolt-performance-optimizer-advanced', [PerformanceOptimizerAdvanced::getInstance(), 'render']);
    267         add_submenu_page('options.php', null, null, 'manage_options', 'servebolt-performance-optimizer-database', [DatabaseOptimizations::getInstance(), 'render']);
    268         add_submenu_page('options.php', null, null, 'manage_options', 'servebolt-menu-optimizer', [MenuOptimizerControl::getInstance(), 'render']);
     266        add_submenu_page('options.php', '', '', 'manage_options', 'servebolt-performance-optimizer-advanced', [PerformanceOptimizerAdvanced::getInstance(), 'render']);
     267        add_submenu_page('options.php', '', '', 'manage_options', 'servebolt-performance-optimizer-database', [DatabaseOptimizations::getInstance(), 'render']);
     268        add_submenu_page('options.php', '', '', 'manage_options', 'servebolt-menu-optimizer', [MenuOptimizerControl::getInstance(), 'render']);
    269269
    270270        // Legacy redirect
    271         add_submenu_page('options.php', null, null, 'manage_options', 'servebolt-performance-tools', [$this, 'performanceOptimizerLegacyRedirect']);
    272         add_submenu_page('options.php', null, null, 'manage_options', 'servebolt-menu-cache', [$this, 'menuOptimizerLegacyRedirect']);
     271        add_submenu_page('options.php', '', '', 'manage_options', 'servebolt-performance-tools', [$this, 'performanceOptimizerLegacyRedirect']);
     272        add_submenu_page('options.php', '', '', 'manage_options', 'servebolt-menu-cache', [$this, 'menuOptimizerLegacyRedirect']);
    273273    }
    274274
  • servebolt-optimizer/trunk/src/Servebolt/Admin/Assets.php

    r2694864 r3209253  
    139139                'canPurgeAllCache' => $cacheFeatureActive && PurgeActions::canPurgeAllCache(),
    140140                'canPurgeCacheByUrl' => $cacheFeatureActive && PurgeActions::canPurgeCacheByUrl(),
     141                'canPurgeServerCache' => $cacheFeatureActive && PurgeActions::canPurgeServerCache(),
    141142            ]);
    142143        }
  • servebolt-optimizer/trunk/src/Servebolt/Admin/CachePurgeControl/Ajax/PurgeActions.php

    r3038332 r3209253  
    3838        add_action('wp_ajax_servebolt_purge_term_cache', [$this, 'purgeTermCacheCallback']);
    3939        add_action('wp_ajax_servebolt_purge_all_cache', [$this, 'purgeAllCacheCallback']);
     40        add_action('wp_ajax_servebolt_purge_server_cache', [$this, 'purgeServerCacheCallback']);
    4041        if ( is_multisite() ) {
    4142            add_action('wp_ajax_servebolt_purge_all_network_cache', [$this, 'purgeAllNetworkCacheCallback']);
     
    8081            (
    8182                CachePurge::driverSupportsCachePurgeAll()
     83                && current_user_can('edit_others_posts')
     84            )
     85        );
     86    }
     87
     88        /**
     89     * Check if current user can purge all cache.
     90     *
     91     * @return bool
     92     */
     93    public static function canPurgeServerCache(): bool
     94    {
     95        return apply_filters(
     96            'sb_optimizer_can_purge_all_cache',
     97            (
     98                CachePurge::driverSupportsCachePurgeAll()
     99                && CachePurge::cachePurgeByServerAvailable()
    82100                && current_user_can('edit_others_posts')
    83101            )
     
    404422                    'title' => __('Just a moment', 'servebolt-wp'),
    405423                    'message' => __('A purge all-request was added to the queue and will be executed shortly.', 'servebolt-wp'),
     424                ] );
     425            } else {
     426                wp_send_json_success(['message' => __('All cache was purged.', 'servebolt-wp')]);
     427            }
     428        } catch (Throwable $e) {
     429            $this->handleErrors($e);
     430        }
     431    }
     432
     433
     434    /**
     435     * Purge all cache cache.
     436     */
     437    public function purgeServerCacheCallback()
     438    {
     439        $this->checkAjaxReferer();
     440        ajaxUserAllowedByFunction(__CLASS__ . '::canPurgeServerCache');
     441        $this->ensureCachePurgeFeatureIsActive();
     442
     443        $queueBasedCachePurgeIsActive = CachePurge::queueBasedCachePurgeIsActive();
     444
     445        if ($queueBasedCachePurgeIsActive && $this->hasPurgeAllRequestInQueue()) {
     446            wp_send_json_success([
     447                'title' => __('All good!', 'servebolt-wp'),
     448                'message' => __('A Purge Server Cache -request is already queued and should be executed shortly.', 'servebolt-wp'),
     449            ]);
     450            return;
     451        }
     452
     453        try {
     454            setCachePurgeOriginEvent('manual_trigger');
     455            WordPressCachePurge::purgeAll();
     456            if ($queueBasedCachePurgeIsActive) {
     457                wp_send_json_success( [
     458                    'title' => __('Just a moment', 'servebolt-wp'),
     459                    'message' => __('A Purge Server Cache -request is already queued and should be executed shortly.', 'servebolt-wp'),
    406460                ] );
    407461            } else {
  • servebolt-optimizer/trunk/src/Servebolt/Admin/LogViewer/LogViewer.php

    r3003163 r3209253  
    2323    private $numberOfEntries = 100;
    2424
     25    private $sl8_log_paths = [
     26        [
     27            'title' => 'PHP Error Log',
     28            'slug' => 'site/public',
     29            'log_location' => 'logs/php',
     30            'filename' => 'ErrorLog',
     31            'template' => 'log-viewer.log-viewer',
     32        ],
     33        [
     34            'title' => 'HTTP Error Log',
     35            'slug' => 'site/public',
     36            'log_location' => 'logs/http',
     37            'filename' => 'ErrorLog',
     38            'template' => 'log-viewer.log-viewer',
     39        ],
     40    ];
     41
     42    private $sl7_log_paths = [
     43        [
     44            'title' => 'Error Log',
     45            'slug' => '/public',
     46            'log_location' => '/logs',
     47            'filename' => 'ErrorLog',
     48            'template' => 'log-viewer.log-viewer',
     49        ],
     50    ];
    2551    /**
    2652     * Get log file path.
     
    3056    private function getErrorLogPath(): string
    3157    {
    32         $logDir = str_replace('/public', '/logs', $_SERVER['DOCUMENT_ROOT']);
    3358        if(isNextGen()) {
    34             $logDir = str_replace('/site/public', '/logs/php', $_SERVER['DOCUMENT_ROOT']);       
     59            $logDir = str_replace('/site/public', '/logs/php', $_SERVER['DOCUMENT_ROOT']);
     60            $logFilePath = $logDir . '/ErrorLog';
     61        } else {
     62            $logDir = str_replace('/public', '/logs', $_SERVER['DOCUMENT_ROOT']);
     63            $logFilePath = $logDir . '/ErrorLog';
    3564        }
    36         $logFilePath = $logDir . '/ErrorLog';
     65       
    3766        return (string) apply_filters('sb_optimizer_log_file_path', $logFilePath);
     67    }
     68
     69    private function getLogPaths(): array
     70    {
     71        if(isNextGen()) {
     72            return $this->sl8_log_paths;
     73        } else {
     74            return $this->sl7_log_paths;
     75        }
    3876    }
    3977
     
    4381    public function render(): void
    4482    {
    45         $logFilePath = $this->getErrorLogPath();
    46         $logFileExists = file_exists($logFilePath);
    47         $logFileReadable = is_readable($logFilePath);
    48         $log = $this->tail($logFilePath, $this->numberOfEntries);
    49         $entries = $this->prepareEntries($log);
    50         $numberOfEntries = $this->numberOfEntries;
    51         view('log-viewer.log-viewer', compact('numberOfEntries', 'logFilePath', 'logFileExists', 'logFileReadable', 'log', 'entries'));
    52     }
     83        $logFileInfo = $this->getLogPaths();
     84        foreach($logFileInfo as $logInfo) {
     85            $logFilePath = str_replace($logInfo['slug'], $logInfo['log_location'], $_SERVER['DOCUMENT_ROOT']) . '/' . $logInfo['filename'];
     86            $logFileExists = file_exists($logFilePath);
     87            if(!$logFileExists) {
     88                continue;
     89            }
     90            $logFileReadable = is_readable($logFilePath);
     91            if(!$logFileReadable) {
     92                continue;
     93            }
     94            $log = $this->tail($logFilePath, $this->numberOfEntries);
     95            $entries = $this->prepareEntries($log);
     96            $numberOfEntries = $this->numberOfEntries;
     97            $pageTitle = $logInfo['title'];
     98            view($logInfo['template'], compact('numberOfEntries', 'logFilePath', 'logFileExists', 'logFileReadable', 'log', 'entries', 'pageTitle'));
     99        }
     100        // getLogPaths
     101        // $logFilePath = $this->getErrorLogPath();
     102        // $logFileExists = file_exists($logFilePath);
     103        // $logFileReadable = is_readable($logFilePath);
     104        // $log = $this->tail($logFilePath, $this->numberOfEntries);
     105        // $entries = $this->prepareEntries($log);
     106        // $numberOfEntries = $this->numberOfEntries;
     107        // $pageTitle = __('Error Log..', 'servebolt-wp');
     108        // view('log-viewer.log-viewer', compact('sections','numberOfEntries', 'logFilePath', 'logFileExists', 'logFileReadable', 'log', 'entries'));
     109     }
    53110
    54111    /**
  • servebolt-optimizer/trunk/src/Servebolt/CachePurge/CachePurge.php

    r2885483 r3209253  
    1515use function Servebolt\Optimizer\Helpers\smartGetOption;
    1616use function Servebolt\Optimizer\Helpers\smartUpdateOption;
     17use function Servebolt\Optimizer\Helpers\isNextGen;
    1718
    1819/**
     
    200201    }
    201202
     203    /**
     204     * Check whether cache purge by URL is available.
     205     *
     206     * @param int|null $blogId
     207     * @return bool
     208     */
    202209    public static function cachePurgeByUrlIsAvailable(?int $blogId = null) : bool
    203210    {
    204211        if(self::serveboltCdnIsSelected($blogId)) return false;
    205212        return true;
     213    }
     214
     215    /**
     216     * Check whether cache purge by server is available.
     217     *
     218     * @param int|null $blogId
     219     * @return bool
     220     */
     221    public static function cachePurgeByServerAvailable(?int $blogId = null) : bool
     222    {
     223        if(!isNextGen()) return false;
     224        if(self::serveboltCdnIsSelected($blogId)) return true;
     225        if(self::acdIsSelected($blogId)) return true;
     226        return false;
    206227    }
    207228
     
    523544
    524545    /**
     546     * Check if the current driver supports cache all purging.
     547     *
     548     * @return bool
     549     */
     550    public static function driverSupportsCachePurgeServer(): bool
     551    {
     552        $driver = self::resolveDriverObject();
     553        $interfaces = class_implements($driver);
     554        return is_array($interfaces)
     555            && in_array('Servebolt\Optimizer\CachePurge\Interfaces\CachePurgeServerInterface', $interfaces);
     556    }
     557
     558    /**
    525559     * Check if automatic cache purging is available.
    526560     *
  • servebolt-optimizer/trunk/src/Servebolt/CachePurge/Drivers/Cloudflare.php

    r3203042 r3209253  
    3535            '/wp-admin/',
    3636            '/index.php/',
    37             // '/wp-login.php',
    38             // '/wp-cron.php',
    39             // '/xmlrpc.php',
    40             // '/wp-comments-post.php',
     37            '/wp-login.php',
    4138        ];
    4239        foreach($never_cached_paths as $never_cached_path) {
  • servebolt-optimizer/trunk/src/Servebolt/CachePurge/Drivers/Servebolt.php

    r3203042 r3209253  
    1111use Servebolt\Optimizer\CachePurge\Interfaces\CachePurgeTagInterface;
    1212use Servebolt\Optimizer\CachePurge\Interfaces\CachePurgeValidateUrlCandidate;
     13use Servebolt\Optimizer\CachePurge\Interfaces\CachePurgeServerInterface;
    1314use Servebolt\Optimizer\Exceptions\ServeboltApiError;
    1415use function Servebolt\Optimizer\Helpers\getDomainNameOfWebSite;
     
    1819 * @package Servebolt\Optimizer\CachePurge\Drivers
    1920 */
    20 class Servebolt implements CachePurgeAllInterface, CachePurgeUrlInterface, CachePurgePrefixInterface, CachePurgeTagInterface, CachePurgeValidateUrlCandidate
     21class Servebolt implements CachePurgeAllInterface, CachePurgeUrlInterface, CachePurgePrefixInterface, CachePurgeTagInterface, CachePurgeValidateUrlCandidate, CachePurgeServerInterface
    2122{
    2223    use Singleton, ServeboltDriverTrait;
     
    151152     * @throws ServeboltApiError
    152153     */
     154    public function purgeServer(): bool
     155    {
     156        $response = $this->apiInstance->environment->purgeServerCache(
     157            $this->apiInstance->getEnvironmentId(),
     158            'acd'
     159        );
     160        if ($response->wasSuccessful()) {
     161            return true;
     162        } else {
     163           throw new ServeboltApiError($response->getErrors(), $response);
     164        }
     165    }
     166
     167    /**
     168     * Purge all cache (for a single site).
     169     *
     170     * @return bool
     171     * @throws ServeboltApiError
     172     */
    153173    public function purgeAll(): bool
    154174    {
  • servebolt-optimizer/trunk/src/Servebolt/CachePurge/Drivers/ServeboltCdn.php

    r3203042 r3209253  
    99use Servebolt\Optimizer\CachePurge\Interfaces\CachePurgeTagInterface;
    1010use Servebolt\Optimizer\CachePurge\Interfaces\CachePurgeValidateUrlCandidate;
     11use Servebolt\Optimizer\CachePurge\Interfaces\CachePurgeServerInterface;
    1112use Servebolt\Optimizer\Traits\Singleton;
    1213use Servebolt\Optimizer\Exceptions\ServeboltApiError;
     
    1718 * @package Servebolt\Optimizer\CachePurge\Drivers
    1819 */
    19 class ServeboltCdn implements CachePurgeAllInterface, CachePurgeTagInterface, CachePurgeUrlInterface, CachePurgeValidateUrlCandidate
     20class ServeboltCdn implements CachePurgeAllInterface, CachePurgeTagInterface, CachePurgeUrlInterface, CachePurgeValidateUrlCandidate, CachePurgeServerInterface
    2021{
    2122    use Singleton, ServeboltDriverTrait;
     
    113114
    114115    /**
     116     * Purge all cache (for a single site).
     117     *
     118     * @return bool
     119     * @throws ServeboltApiError
     120     */
     121    public function purgeServer(): bool
     122    {
     123        $response = $this->apiInstance->environment->purgeServerCache(
     124            $this->apiInstance->getEnvironmentId(),
     125            'serveboltcdn'
     126        );
     127        if ($response->wasSuccessful()) {
     128            return true;
     129        } else {
     130           throw new ServeboltApiError($response->getErrors(), 'serveboltcdn');
     131        }
     132    }
     133
     134    /**
    115135     *
    116136     * @param array $tags : array of tags to be delted
  • servebolt-optimizer/trunk/src/Servebolt/CachePurge/WordPressCachePurge/PostMethods.php

    r3203042 r3209253  
    265265        $urlsToPurge = self::getUrlsToPurgeByPostId($postId);
    266266        // Prototype for removing invalid purge targets.
    267         // $urlsToPurge = self::removeInvalidPurgeTargets($urlsToPurge, $cachePurgeDriver);
    268         // if(count($urlsToPurge) === 0) {
    269         //     return true;
    270         // }
     267        $urlsToPurge = self::removeInvalidPurgeTargets($urlsToPurge, $cachePurgeDriver);
     268        if(count($urlsToPurge) === 0) {
     269            return true;
     270        }
    271271        $urlsToPurge = self::maybeSliceUrlsToPurge($urlsToPurge, 'post', $cachePurgeDriver);
    272272        return $cachePurgeDriver->purgeByUrls($urlsToPurge);
  • servebolt-optimizer/trunk/src/Servebolt/CacheTags/AddCacheTagsHeaders.php

    r3023894 r3209253  
    106106    protected function appendHeaders() : void
    107107    {
    108         if(count($this->headers) > 0) {
     108        if(count($this->headers) > 0 && !headers_sent()) {
    109109            try{
    110110                $tags = implode(',', $this->headers);
     
    116116            }
    117117            catch (Exception $e){
    118                 error_log("Cache-Tag messages could not be added as headers have already been sent.");
     118                error_log("Cache-Tag messages could not be added to the headers. Error: " . $e->getMessage());
    119119            }
    120         }
     120        } else {
     121            error_log("Cache-Tag headers could not be sent. Headers already have been sent. Cache purging is effected, contact Servebolt Support for help.");
     122        }
    121123    }
    122124 
  • servebolt-optimizer/trunk/src/Servebolt/ServeboltOptimizer.php

    r3168538 r3209253  
    8484
    8585            // Init environment file reader
     86            // For local testing the instantce can be passed a path to a custom environment file.
    8687            EnvFileReader::getInstance();
    8788
  • servebolt-optimizer/trunk/src/Servebolt/Views/accelerated-domains/control/settings-form.php

    r2684493 r3209253  
    1 <?php if (!defined('ABSPATH')) exit; // Exit if accessed directly ?>
    2 <?php use function Servebolt\Optimizer\Helpers\getOptionName; ?>
     1<?php
     2if (!defined('ABSPATH')) exit; // Exit if accessed directly
     3use function Servebolt\Optimizer\Helpers\getOptionName;
     4use Servebolt\Optimizer\CachePurge\CachePurge;
     5?>
    36
    47<?php settings_errors(); ?>
     
    3942    <p class="submit">
    4043        <?php submit_button(null, 'primary', 'form-submit', false); ?>
    41         <button type="button" class="button-secondary" id="sb-acd-purge-all-cache"><?php _e('Purge all cache', 'servebolt-wp'); ?></button>
     44        <button type="button" class="button-secondary" id="sb-acd-purge-all-cache"><?php _e('Purge CDN cache', 'servebolt-wp'); ?></button>
     45        <?php if (CachePurge::cachePurgeByServerAvailable() ) : ?>
     46            <button type="button" class="button-secondary" id="sb-acd-purge-server-cache"><?php _e('Purge All caches', 'servebolt-wp'); ?></button>
     47        <?php endif; ?>
    4248    </p>
    4349
  • servebolt-optimizer/trunk/src/Servebolt/Views/cache-settings/cache-purge/configuration/cache-purge-triggers.php

    r2885483 r3209253  
    44<?php if (CachePurge::featureIsAvailable()) : ?>
    55    <p>
    6         <button type="button" class="sb-purge-all-cache sb-button yellow inline"><?php _e('Purge All Cache', 'servebolt-wp'); ?></button>
     6        <button type="button" class="sb-purge-all-cache sb-button yellow inline"><?php _e('Purge CDN Cache', 'servebolt-wp'); ?></button>
    77        <?php if (CachePurge::cachePurgeByUrlIsAvailable()) : ?>
    8             <button type="button" class="sb-purge-url sb-button yellow inline<?php echo CachePurge::driverSupportsUrlCachePurge() ? '' : ' sb-button-hidden'; ?>"><?php _e('Purge a URL', 'servebolt-wp'); ?></button>
     8            <button type="button" class="sb-purge-url sb-button yellow inline<?php echo CachePurge::driverSupportsUrlCachePurge() ? '' : ' sb-button-hidden'; ?>">
     9                <?php _e('Purge a URL', 'servebolt-wp'); ?>
     10            </button>
    911        <?php endif; ?>
    10         <!-- <button type="button" class="sb-purge-url sb-button yellow inline<?php echo CachePurge::driverSupportsUrlCachePrefixPurge() ? '' : ' sb-button-hidden'; ?>"><?php _e('Purge Images', 'servebolt-wp'); ?></button> -->
     12        <?php if (CachePurge::cachePurgeByServerAvailable() ) : ?>
     13            <button type="button" class="sb-purge-server-cache sb-button yellow inline<?php echo CachePurge::driverSupportsCachePurgeServer() ? '' : ' sb-button-hidden'; ?>">
     14                <?php _e('Purge All Caches', 'servebolt-wp'); ?>
     15            </button>
     16        <?php endif; ?>
    1117    </p>
    1218    <br>
  • servebolt-optimizer/trunk/src/Servebolt/Views/log-viewer/log-viewer.php

    r2684493 r3209253  
    22<?php use function Servebolt\Optimizer\Helpers\arrayGet; ?>
    33<div class="wrap">
    4     <h2><?php _e('Error Log', 'servebolt-wp'); ?></h2>
     4    <h2><?php echo $pageTitle; ?></h2>
    55    <p>Log file path: <?php echo $logFilePath; ?></p>
    66    <?php if (!$logFileExists) : ?>
  • servebolt-optimizer/trunk/vendor/autoload.php

    r3160578 r3209253  
    2323require_once __DIR__ . '/composer/autoload_real.php';
    2424
    25 return ComposerAutoloaderInit7e493e81210a34d0796d3a214252c52a::getLoader();
     25return ComposerAutoloaderInit9c6a263aa17a3f3b9562c540adb04ad7::getLoader();
  • servebolt-optimizer/trunk/vendor/composer/InstalledVersions.php

    r2893442 r3209253  
    323323
    324324        $installed = array();
     325        $copiedLocalDir = false;
    325326
    326327        if (self::$canGetVendors) {
     
    331332                    /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array<string, array{pretty_version?: string, version?: string, reference?: string|null, type?: string, install_path?: string, aliases?: string[], dev_requirement: bool, replaced?: string[], provided?: string[]}>} $required */
    332333                    $required = require $vendorDir.'/composer/installed.php';
    333                     $installed[] = self::$installedByVendor[$vendorDir] = $required;
    334                     if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
    335                         self::$installed = $installed[count($installed) - 1];
     334                    self::$installedByVendor[$vendorDir] = $required;
     335                    $installed[] = $required;
     336                    if (strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
     337                        self::$installed = $required;
     338                        $copiedLocalDir = true;
    336339                    }
    337340                }
     
    351354        }
    352355
    353         if (self::$installed !== array()) {
     356        if (self::$installed !== array() && !$copiedLocalDir) {
    354357            $installed[] = self::$installed;
    355358        }
  • servebolt-optimizer/trunk/vendor/composer/autoload_classmap.php

    r3203042 r3209253  
    169169    'Servebolt\\Optimizer\\CachePurge\\Interfaces\\CachePurgeAllInterface' => $baseDir . '/src/Servebolt/CachePurge/Interfaces/CachePurgeAllInterface.php',
    170170    'Servebolt\\Optimizer\\CachePurge\\Interfaces\\CachePurgePrefixInterface' => $baseDir . '/src/Servebolt/CachePurge/Interfaces/CachePurgePrefixInterface.php',
     171    'Servebolt\\Optimizer\\CachePurge\\Interfaces\\CachePurgeServerInterface' => $baseDir . '/src/Servebolt/CachePurge/Interfaces/CachePurgeServerInterface.php',
    171172    'Servebolt\\Optimizer\\CachePurge\\Interfaces\\CachePurgeTagInterface' => $baseDir . '/src/Servebolt/CachePurge/Interfaces/CachePurgeTagInterface.php',
    172173    'Servebolt\\Optimizer\\CachePurge\\Interfaces\\CachePurgeUrlInterface' => $baseDir . '/src/Servebolt/CachePurge/Interfaces/CachePurgeUrlInterface.php',
  • servebolt-optimizer/trunk/vendor/composer/autoload_real.php

    r3160578 r3209253  
    33// autoload_real.php @generated by Composer
    44
    5 class ComposerAutoloaderInit7e493e81210a34d0796d3a214252c52a
     5class ComposerAutoloaderInit9c6a263aa17a3f3b9562c540adb04ad7
    66{
    77    private static $loader;
     
    2525        require __DIR__ . '/platform_check.php';
    2626
    27         spl_autoload_register(array('ComposerAutoloaderInit7e493e81210a34d0796d3a214252c52a', 'loadClassLoader'), true, true);
     27        spl_autoload_register(array('ComposerAutoloaderInit9c6a263aa17a3f3b9562c540adb04ad7', 'loadClassLoader'), true, true);
    2828        self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
    29         spl_autoload_unregister(array('ComposerAutoloaderInit7e493e81210a34d0796d3a214252c52a', 'loadClassLoader'));
     29        spl_autoload_unregister(array('ComposerAutoloaderInit9c6a263aa17a3f3b9562c540adb04ad7', 'loadClassLoader'));
    3030
    3131        require __DIR__ . '/autoload_static.php';
    32         call_user_func(\Composer\Autoload\ComposerStaticInit7e493e81210a34d0796d3a214252c52a::getInitializer($loader));
     32        call_user_func(\Composer\Autoload\ComposerStaticInit9c6a263aa17a3f3b9562c540adb04ad7::getInitializer($loader));
    3333
    3434        $loader->register(true);
    3535
    36         $filesToLoad = \Composer\Autoload\ComposerStaticInit7e493e81210a34d0796d3a214252c52a::$files;
     36        $filesToLoad = \Composer\Autoload\ComposerStaticInit9c6a263aa17a3f3b9562c540adb04ad7::$files;
    3737        $requireFile = \Closure::bind(static function ($fileIdentifier, $file) {
    3838            if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
  • servebolt-optimizer/trunk/vendor/composer/autoload_static.php

    r3203042 r3209253  
    55namespace Composer\Autoload;
    66
    7 class ComposerStaticInit7e493e81210a34d0796d3a214252c52a
     7class ComposerStaticInit9c6a263aa17a3f3b9562c540adb04ad7
    88{
    99    public static $files = array (
     
    204204        'Servebolt\\Optimizer\\CachePurge\\Interfaces\\CachePurgeAllInterface' => __DIR__ . '/../..' . '/src/Servebolt/CachePurge/Interfaces/CachePurgeAllInterface.php',
    205205        'Servebolt\\Optimizer\\CachePurge\\Interfaces\\CachePurgePrefixInterface' => __DIR__ . '/../..' . '/src/Servebolt/CachePurge/Interfaces/CachePurgePrefixInterface.php',
     206        'Servebolt\\Optimizer\\CachePurge\\Interfaces\\CachePurgeServerInterface' => __DIR__ . '/../..' . '/src/Servebolt/CachePurge/Interfaces/CachePurgeServerInterface.php',
    206207        'Servebolt\\Optimizer\\CachePurge\\Interfaces\\CachePurgeTagInterface' => __DIR__ . '/../..' . '/src/Servebolt/CachePurge/Interfaces/CachePurgeTagInterface.php',
    207208        'Servebolt\\Optimizer\\CachePurge\\Interfaces\\CachePurgeUrlInterface' => __DIR__ . '/../..' . '/src/Servebolt/CachePurge/Interfaces/CachePurgeUrlInterface.php',
     
    484485    {
    485486        return \Closure::bind(function () use ($loader) {
    486             $loader->prefixLengthsPsr4 = ComposerStaticInit7e493e81210a34d0796d3a214252c52a::$prefixLengthsPsr4;
    487             $loader->prefixDirsPsr4 = ComposerStaticInit7e493e81210a34d0796d3a214252c52a::$prefixDirsPsr4;
    488             $loader->classMap = ComposerStaticInit7e493e81210a34d0796d3a214252c52a::$classMap;
     487            $loader->prefixLengthsPsr4 = ComposerStaticInit9c6a263aa17a3f3b9562c540adb04ad7::$prefixLengthsPsr4;
     488            $loader->prefixDirsPsr4 = ComposerStaticInit9c6a263aa17a3f3b9562c540adb04ad7::$prefixDirsPsr4;
     489            $loader->classMap = ComposerStaticInit9c6a263aa17a3f3b9562c540adb04ad7::$classMap;
    489490
    490491        }, null, ClassLoader::class);
  • servebolt-optimizer/trunk/vendor/composer/installed.json

    r3160578 r3209253  
    753753        {
    754754            "name": "servebolt/sdk",
    755             "version": "1.2.8",
    756             "version_normalized": "1.2.8.0",
     755            "version": "1.2.9",
     756            "version_normalized": "1.2.9.0",
    757757            "source": {
    758758                "type": "git",
    759759                "url": "https://github.com/Servebolt/php-sdk.git",
    760                 "reference": "9bda10f00de3b0cf97826499a9c097341199e891"
    761             },
    762             "dist": {
    763                 "type": "zip",
    764                 "url": "https://api.github.com/repos/Servebolt/php-sdk/zipball/9bda10f00de3b0cf97826499a9c097341199e891",
    765                 "reference": "9bda10f00de3b0cf97826499a9c097341199e891",
     760                "reference": "7c3cda707237d747b4c8a04bb56a9eae4e657046"
     761            },
     762            "dist": {
     763                "type": "zip",
     764                "url": "https://api.github.com/repos/Servebolt/php-sdk/zipball/7c3cda707237d747b4c8a04bb56a9eae4e657046",
     765                "reference": "7c3cda707237d747b4c8a04bb56a9eae4e657046",
    766766                "shasum": ""
    767767            },
     
    781781                "vlucas/phpdotenv": "^5.3"
    782782            },
    783             "time": "2024-10-01T09:45:31+00:00",
     783            "time": "2024-12-17T07:53:21+00:00",
    784784            "type": "library",
    785785            "installation-source": "dist",
     
    809809            "support": {
    810810                "issues": "https://github.com/Servebolt/php-sdk/issues",
    811                 "source": "https://github.com/Servebolt/php-sdk/tree/1.2.8"
     811                "source": "https://github.com/Servebolt/php-sdk/tree/1.2.9"
    812812            },
    813813            "install-path": "../servebolt/sdk"
  • servebolt-optimizer/trunk/vendor/composer/installed.php

    r3203042 r3209253  
    22    'root' => array(
    33        'name' => 'servebolt/servebolt-wp-optimize-plugin',
    4         'pretty_version' => '3.5.46',
    5         'version' => '3.5.46.0',
    6         'reference' => '7f19c1260539ef555d8554f5c06cdf6a6a9bfc74',
     4        'pretty_version' => '3.5.47',
     5        'version' => '3.5.47.0',
     6        'reference' => '9a6a83be6733407a7dc42c7032064d95cf8c4200',
    77        'type' => 'wordpress-plugin',
    88        'install_path' => __DIR__ . '/../../',
     
    123123        ),
    124124        'servebolt/sdk' => array(
    125             'pretty_version' => '1.2.8',
    126             'version' => '1.2.8.0',
    127             'reference' => '9bda10f00de3b0cf97826499a9c097341199e891',
     125            'pretty_version' => '1.2.9',
     126            'version' => '1.2.9.0',
     127            'reference' => '7c3cda707237d747b4c8a04bb56a9eae4e657046',
    128128            'type' => 'library',
    129129            'install_path' => __DIR__ . '/../servebolt/sdk',
     
    132132        ),
    133133        'servebolt/servebolt-wp-optimize-plugin' => array(
    134             'pretty_version' => '3.5.46',
    135             'version' => '3.5.46.0',
    136             'reference' => '7f19c1260539ef555d8554f5c06cdf6a6a9bfc74',
     134            'pretty_version' => '3.5.47',
     135            'version' => '3.5.47.0',
     136            'reference' => '9a6a83be6733407a7dc42c7032064d95cf8c4200',
    137137            'type' => 'wordpress-plugin',
    138138            'install_path' => __DIR__ . '/../../',
Note: See TracChangeset for help on using the changeset viewer.