/* * SPEEDYCACHE * https://speedycache.com/ * (c) SpeedyCache Team */ (function($) { speedycache_toolbar(); function speedycache_toolbar() { jQuery('body').append('
'); if(typeof speedycache_toolbar_ajax.url == 'undefined'){ alert('ajax has NOT been defined'); } jQuery('#wp-admin-bar-speedycache-toolbar-parent-default li').click(function(e){ var id = (typeof e.target.id != 'undefined' && e.target.id) ? e.target.id : jQuery(e.target).parent('li').attr('id'); var action = ''; if(id == 'wp-admin-bar-speedycache-toolbar-parent-settings'){ if(jQuery('div[modal-id^="speedycache-modal-toolbarsettings"]').length !== 0){ open_settings(); } return; } switch(id){ case 'wp-admin-bar-speedycache-toolbar-parent-delete-cache': action = 'speedycache_delete_cache'; break; case 'wp-admin-bar-speedycache-toolbar-parent-delete-cache-and-minified': action = 'speedycache_delete_cache_and_minified'; break; case 'wp-admin-bar-speedycache-toolbar-parent-clear-cache-of-this-page': action = 'speedycache_delete_current_page_cache'; break; case 'wp-admin-bar-speedycache-toolbar-parent-clear-cache-of-allsites': action = 'speedycache_clear_cache_of_allsites'; break; } toolbar_send({'action': action, 'path' : window.location.pathname, 'security' : speedycache_toolbar_ajax.nonce}); }); var open_settings = function() { jQuery('.speedycache-loader').css('display','flex'); jQuery.ajax({ type: 'GET', url: speedycache_toolbar_ajax.url, data : { 'action': 'speedycache_toolbar_get_settings', 'path' : window.location.pathname, 'security' : speedycache_toolbar_ajax.nonce }, success: function(data) { setTimeout(function(){ jQuery('.speedycache-loader').hide(); }, 500); if(!data.success){ alert('Toolbar Settings Error!'); return; } var data_json = { 'action': 'speedycache_toolbar_save_settings', 'path' : window.location.pathname, 'roles' : {}, 'security' : speedycache_toolbar_ajax.nonce }, speedycache_modal = jQuery('[modal-id="speedycache-modal-toolbarsettings"]'); speedycache_modal.find('input[type="checkbox"]').each(function(){ if(typeof data.roles[jQuery(this).attr('name')] != 'undefined'){ jQuery(this).attr('checked', true); } }); if(speedycache_modal && speedycache_modal.css('visibility') === 'hidden'){ speedycache_modal.css('visibility','visible'); close_modal(); } speedycache_modal.find('.speedycache-modal-footer button').off('click').on('click', function() { speedycache_modal.find('input[type="checkbox"]:checked').each(function(){ data_json.roles[jQuery(this).attr('name')] = 1; }); toolbar_send(data_json); speedycache_modal.find('.speedycache-close-modal').trigger('click'); alert('SpeedyCache Toolbar Settings Saved Successfully!'); }); } }); } var close_modal = function() { jQuery('.speedycache-modal-footer > button, .speedycache-close-modal').on('click', function() { jQuery(this).closest('.speedycache-modal').find('form').trigger('reset'); jQuery(this).closest('.speedycache-modal *').off(); jQuery(this).closest('.speedycache-modal').css('visibility','hidden'); }); } var toolbar_send = function(data_json) { jQuery('.speedycache-loader').css('display','flex'); jQuery.ajax({ type: 'GET', url: speedycache_toolbar_ajax.url, data : data_json, success: function(data){ if(!data.success){ var speedycache_modal = jQuery('[modal-id="speedycache-modal-permission"]'); if(speedycache_modal && speedycache_modal.css('visibility') === 'hidden'){ speedycache_modal.css('visibility','visible'); close_modal(); } } try{ speedycache_update_cache_stats(); }catch(err) { // } setTimeout(function(){ jQuery('.speedycache-loader').hide(); }, 500); } }); } } })(jQuery);