updated plugin W3 Total Cache version 2.5.0

This commit is contained in:
2023-10-22 22:21:26 +00:00
committed by Gitium
parent 2f6b5b6047
commit 9e3fa792d7
255 changed files with 10113 additions and 23010 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,167 +1,169 @@
@media screen and (max-width: 320px) {
.w3tc-card-container {
grid-template-columns: 1fr;
}
@media screen and (max-width: 900px) {
.w3tc-card-container {
grid-template-columns: 1fr 1fr;
}
}
@media screen and (max-width: 900px) {
.w3tc-card-container {
grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 560px) {
.w3tc-card-container {
grid-template-columns: 1fr;
}
}
@media screen and (min-width: 900px) {
.w3tc-card-container {
grid-template-columns: 1fr 1fr 1fr;
}
.w3tc-card-container {
grid-template-columns: 1fr 1fr 1fr;
}
}
@media screen and (min-width: 1400px) {
.w3tc-card-container {
grid-template-columns: 1fr 1fr 1fr 1fr;
}
.w3tc-card-container {
grid-template-columns: 1fr 1fr 1fr 1fr;
}
}
.w3tc-page-container {
max-width: 1234px;
padding: 0;
max-width: 1234px;
padding: 0;
}
#w3tc_dashboard_banner {
max-width: 1234px;
width: 100%;
max-width: 1234px;
width: 100%;
}
.w3tc-card-container {
display: grid;
grid-gap: 2em;
display: grid;
grid-gap: 2em;
}
.w3tc-card {
background: #fff;
border: 1px solid #ddd;
display: flex;
flex-direction: column;
position: relative;
background: #fff;
border: 1px solid #ddd;
display: flex;
flex-direction: column;
position: relative;
}
.w3tc-card-title {
height: 2.5em;
height: 2.5em;
}
.w3tc-card-title.w3tc-card-premium {
background-color: #2d4149;
background-color: #2d4149;
}
.w3tc-card-title.w3tc-card-premium > p {
color: #fff;
.w3tc-card-title.w3tc-card-premium>p {
color: #fff;
}
.w3tc-card-title.w3tc-card-premium > p.w3tc-card-pro {
color: #30bec3;
margin: 0;
.w3tc-card-title.w3tc-card-premium>p.w3tc-card-pro {
color: #30bec3;
margin: 0;
}
.w3tc-card-title > p:first-child {
font-size: 1.3em;
margin: 0;
white-space: nowrap;
.w3tc-card-title>p:first-child {
font-size: 1.3em;
margin: 0;
white-space: nowrap;
}
.w3tc-card-body {
flex-grow: 10;
flex-grow: 10;
}
.w3tc-card-title,
.w3tc-card-body {
padding: 10px 10px 15px 10px;
padding: 10px 10px 15px 10px;
}
.w3tc-card-icon {
border-top: 3px solid #000;
border-bottom: 1px solid #ddd;
height: 60px;
padding: 20px 0;
text-align: center;
border-top: 3px solid #000;
border-bottom: 1px solid #ddd;
height: 60px;
padding: 20px 0;
text-align: center;
}
.w3tc-card-icon .dashicons {
font-size: 60px;
height: 60px;
width: 60px;
font-size: 60px;
height: 60px;
width: 60px;
}
.w3tc-card-icon-inactive {
border-top-color: #aaa;
border-top-color: #aaa;
}
.w3tc-card-icon img {
max-height: 60px;
max-height: 60px;
}
.w3tc-card-upgrade {
background: #e7e7e7;
background: #e7e7e7;
}
.w3tc-card-ribbon-new {
height: 75px;
overflow: hidden;
position: absolute;
right: -5px; top: -5px;
text-align: right;
width: 75px;
z-index: 1;
}
height: 75px;
overflow: hidden;
position: absolute;
right: -5px;
top: -5px;
text-align: right;
width: 75px;
z-index: 1;
}
.w3tc-card-ribbon-new span {
background: #30bec3;
box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 0.5);
color: #fff;
display: block;
font-size: 12px;
font-weight: bold;
line-height: 20px;
position: absolute;
right: -21px;
text-transform: uppercase;
text-align: center;
top: 19px;
transform: rotate(45deg);
-webkit-transform: rotate(45deg); /* Needed for Safari */
width: 100px;
}
.w3tc-card-ribbon-new span {
background: #30bec3;
box-shadow: 0 3px 10px -5px rgba(0, 0, 0, 0.5);
color: #fff;
display: block;
font-size: 12px;
font-weight: bold;
line-height: 20px;
position: absolute;
right: -21px;
text-transform: uppercase;
text-align: center;
top: 19px;
transform: rotate(45deg);
-webkit-transform: rotate(45deg);
/* Needed for Safari */
width: 100px;
}
.w3tc-card-ribbon-new span::before {
border-left: 3px solid #30bec3;
border-right: 3px solid transparent;
border-bottom: 3px solid transparent;
border-top: 3px solid #30bec3;
content: '';
left: 0px;
position: absolute;
top: 100%;
z-index: -1;
}
.w3tc-card-ribbon-new span::before {
border-left: 3px solid #30bec3;
border-right: 3px solid transparent;
border-bottom: 3px solid transparent;
border-top: 3px solid #30bec3;
content: '';
left: 0px;
position: absolute;
top: 100%;
z-index: -1;
}
.w3tc-card-ribbon-new span::after {
border-right: 3px solid #30bec3;
border-left: 3px solid transparent;
border-bottom: 3px solid transparent;
border-top: 3px solid #30bec3;
content: '';
position: absolute;
right: 0%;
top: 100%;
z-index: -1;
}
.w3tc-card-ribbon-new span::after {
border-right: 3px solid #30bec3;
border-left: 3px solid transparent;
border-bottom: 3px solid transparent;
border-top: 3px solid #30bec3;
content: '';
position: absolute;
right: 0%;
top: 100%;
z-index: -1;
}
.w3tc-card-footer {
margin: 0 0 10px 10px;
}
.w3tc-card-footer {
margin: 0 0 10px 10px;
}
.w3tc-card-footer > div {
display: inline-block;
text-align: center;
vertical-align: middle;
width: 50%;
}
.w3tc-card-footer>div {
display: inline-block;
text-align: center;
vertical-align: middle;
width: 50%;
}

File diff suppressed because it is too large Load Diff

View File

@ -29,3 +29,11 @@
hyphens: auto;
overflow-wrap: break-word;
}
p#w3tc-breadcrumb {
margin-bottom: 0 !important;
}
.w3tc-wizard-slides p {
line-height: 1.2em !important;
}

View File

@ -1,177 +1,199 @@
/* Main container */
#w3tc-wizard-container {
background: #fff;
padding: 10px;
border-radius: 8px;
max-width: 900px;
background: #fff;
padding: 10px;
border-radius: 8px;
max-width: 900px;
}
/* Header */
#w3tc_wizard_header {
background: #0e1920;
border-bottom: 6px solid #cdeae7;
height: 6em;
position: relative;
background: #0e1920;
border-bottom: 6px solid #cdeae7;
height: 6em;
position: relative;
}
/* Main title */
#w3tc_wizard_title {
color: #fff;
position: absolute;
bottom: 0;
color: #fff;
position: absolute;
bottom: 0;
}
/* Title text: "TOTAL CACHE:" */
#w3tc_wizard_title > span:nth-of-type(1),
#w3tc_wizard_title > span:nth-of-type(2),
#w3tc_wizard_title > span:nth-of-type(3) {
font-size: 2.5em;
#w3tc_wizard_title>span:nth-of-type(1),
#w3tc_wizard_title>span:nth-of-type(2),
#w3tc_wizard_title>span:nth-of-type(3) {
font-size: 2.5em;
}
/* Title text: "CACHE" */
#w3tc_wizard_title > span:nth-of-type(2) {
color: #30bec4;
#w3tc_wizard_title>span:nth-of-type(2) {
color: #30bec4;
}
/* Title text: "$this->config['title']" */
#w3tc_wizard_title > span:nth-of-type(4) {
font-size: 2.1em;
font-style: italic;
#w3tc_wizard_title>span:nth-of-type(4) {
font-size: 2.1em;
font-style: italic;
}
/* Wizard icon (w3 cube with shadow) */
#w3tc_wizard_icon {
position: absolute;
top: 10px;
left: -2px;
position: absolute;
top: 10px;
left: -2px;
}
/**
* Left nav / steps.
*/
ul#w3tc-options-menu {
position: absolute;
left: 0;
top: 30px;
margin: 0;
position: absolute;
left: 0;
top: 30px;
margin: 0;
}
#w3tc-options-menu li {
display: block;
padding: 5px;
margin: 0;
border: 1px solid #ddd;
border-bottom: 0;
display: block;
padding: 5px;
margin: 0;
border: 1px solid #ddd;
border-bottom: 0;
}
#w3tc-options-menu li:last-of-type {
border-bottom: 1px solid #ddd;
border-bottom: 1px solid #ddd;
}
/* Active step */
#w3tc-options-menu li.is-active {
background-color: #0073aa;
color: #fff;
background-color: #0073aa;
color: #fff;
}
/* Wizard content */
#w3tc_wizard_content {
background-image:
url(../img/moon-bottom-left.png),
url(../img/moon-bottom-right.png);
background-size: 15% !Important;
background-repeat:
no-repeat,
no-repeat;
background-position:
bottom left,
bottom right;
background-size:
auto,
auto 60%;
min-height: 545px;
padding-bottom: 70px;
padding-right: 160px;
position: relative;
background-image: url(../img/moon-bottom-left.png), url(../img/moon-bottom-right.png);
background-size: 15% !Important;
background-repeat: no-repeat, no-repeat;
background-position: bottom left, bottom right;
background-size: auto, auto 60%;
min-height: 545px;
padding-right: 160px;
position: relative;
}
/* Wizard content slides */
#w3tc_wizard_content .w3tc-wizard-slides {
padding: 0 10px;
}
/* Footer */
#w3tc_wizard_footer {
width: 100%;
width: 100%;
}
/* Buttons */
#w3tc-wizard-buttons {
display: flex;
display: flex;
}
#w3tc-wizard-buttons > span {
flex: 1;
#w3tc-wizard-buttons>span {
flex: 1;
}
/* All buttons. */
#w3tc-wizard-buttons > span > button {
width: 100%;
border: 0;
padding: 10px 0;
cursor: pointer;
#w3tc-wizard-buttons>span>button {
width: 100%;
border: 0;
padding: 10px 0;
cursor: pointer;
}
/* Next and Dashboard buttons. */
#w3tc-wizard-next:enabled,
#w3tc-wizard-dashboard {
background-color: #825772;
color: #fff;
background-color: #825772;
color: #fff;
}
/* Miscellaneous */
#w3tc_wizard_title,
#w3tc_wizard_content {
padding-left: 160px;
padding-left: 160px;
}
.w3tc-overlay {
display: none;
display: none;
}
#wpfooter {
position: relative;
}
/* Spinner */
.spinner.inline {
float: none;
visibility: visible;
vertical-align: top;
margin-left: 0px;
float: none;
visibility: visible;
vertical-align: top;
margin-left: 0px;
}
.spinner.spinner-left {
margin-left: 5px;
margin-left: 5px;
}
/* Notices */
.w3tc_note,
#setting-error-tgmpa {
display: none;
visibility: hidden;
}
.w3tc-notice-recommended {
padding-top: 5px;
padding-top: 5px;
}
.w3tc-notice-recommended .dashicons-lightbulb {
color: #00a0d2;
color: #00a0d2;
}
#w3tc-dbcache-recommended {
margin: 10px 0px;
margin: 10px 0px;
}
/* Tables */
.widefat thead th,
.widefat td {
line-height: 1em;
line-height: 1em;
}

View File

@ -60,16 +60,21 @@ var W3tc_Lightbox = {
} else if (this.options.url) {
this.load(this.options.url, this.options.callback);
if (typeof ga != 'undefined') {
if (window.w3tc_ga) {
var w3tc_action = this.options.url.match(/w3tc_action=([^&]+)/);
if (window.w3tc_ga) {
if (w3tc_action && w3tc_action[1])
w3tc_ga('send', 'pageview', 'overlays/' + w3tc_action[1]);
else {
var w3tc_action = this.options.url.match(/&(w3tc_[^&]+)&/);
if (w3tc_action && w3tc_action[1])
w3tc_ga('send', 'pageview', 'overlays/' + w3tc_action[1]);
}
if (! w3tc_action || ! w3tc_action[1]) {
w3tc_action = this.options.url.match(/&(w3tc_[^&]+)&/);
}
if (w3tc_action && w3tc_action[1]) {
w3tc_ga(
'event',
'pageview',
{
eventLabel: 'overlays/' + w3tc_action[1]
}
);
}
}
}
@ -385,9 +390,7 @@ function w3tc_lightbox_self_test(nonce) {
function w3tc_lightbox_upgrade(nonce, data_src, renew_key) {
var client_id = '';
if (window.w3tc_ga) {
w3tc_ga(function(tracker) {
client_id = tracker.get('clientId');
});
client_id = w3tc_ga_cid;
}
W3tc_Lightbox.open({
@ -412,9 +415,11 @@ function w3tc_lightbox_upgrade(nonce, data_src, renew_key) {
jQuery('#w3tc-purchase-link', lightbox.container).on( 'click', function() {
lightbox.close();
jQuery([document.documentElement, document.body]).animate({
scrollTop: jQuery("#licensing").offset().top
}, 2000);
if ( jQuery('#licensing').length ) {
jQuery([document.documentElement, document.body]).animate({
scrollTop: jQuery('#licensing').offset().top
}, 2000);
}
});
// Allow for customizations of the "upgrade" overlay specifically.
@ -444,7 +449,7 @@ function w3tc_lightbox_buy_plugin(nonce, data_src, renew_key, client_id) {
var data = event.data.split(' ');
if (data[0] === 'license') {
// legacy purchase
w3tc_lightbox_save_licence_key(function() {
w3tc_lightbox_save_license_key(function() {
lightbox.close();
});
} else if (data[0] === 'v2_license') {
@ -457,7 +462,7 @@ function w3tc_lightbox_buy_plugin(nonce, data_src, renew_key, client_id) {
window.location = window.location + '&refresh';
}
w3tc_lightbox_save_licence_key(data[1], nonce, function() {
w3tc_lightbox_save_license_key(data[1], nonce, function() {
jQuery('#buy_frame').attr('src', data[3]);
});
}
@ -476,12 +481,12 @@ function w3tc_lightbox_buy_plugin(nonce, data_src, renew_key, client_id) {
});
}
function w3tc_lightbox_save_licence_key(license_key, nonce, callback) {
function w3tc_lightbox_save_license_key(license_key, nonce, callback) {
jQuery('#plugin_license_key').val(license_key);
var params = {
w3tc_default_save_licence_key: 1,
w3tc_default_save_license_key: 1,
license_key: license_key,
_wpnonce: nonce
_wpnonce: ('array' === jQuery.type(nonce)) ? nonce[0] : nonce
};
jQuery.post('admin.php?page=w3tc_dashboard', params, function(data) {

File diff suppressed because it is too large Load Diff

View File

@ -17,8 +17,14 @@ jQuery(function() {
// GA.
if ( w3tc_enable_ga ) {
w3tc_ga( 'create', W3TC_SetupGuide.ga_profile, 'auto' );
w3tc_ga( 'send', 'event', 'button', 'w3tc_setup_guide', 'w3tc-wizard-step-welcome' );
w3tc_ga(
'event',
'button',
{
eventCategory: 'w3tc_setup_guide',
eventLabel: 'w3tc-wizard-step-welcome'
}
);
}
// Handle the terms of service notice.
@ -54,28 +60,36 @@ jQuery(function() {
if ( 'accept' === choice ) {
W3TC_SetupGuide.tos_choice = choice;
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://api.w3-edge.com/v1/analytics','w3tc_ga');
var gaScript = document.createElement( 'script' );
gaScript.type = 'text/javascript';
gaScript.setAttribute( 'async', 'true' );
gaScript.setAttribute( 'src', 'https://www.googletagmanager.com/gtag/js?id=' + W3TC_SetupGuide.ga_profile );
document.documentElement.firstChild.appendChild( gaScript );
window.dataLayer = window.dataLayer || [];
const w3tc_ga = function() { dataLayer.push( arguments ); }
if (window.w3tc_ga) {
w3tc_ga( 'create', W3TC_SetupGuide.ga_profile, 'auto' );
w3tc_ga( 'set', {
'dimension1': 'w3-total-cache',
'dimension2': W3TC_SetupGuide.w3tc_version,
'dimension3': W3TC_SetupGuide.wp_version,
'dimension4': W3TC_SetupGuide.php_version,
'dimension5': W3TC_SetupGuide.server_software,
'dimension6': W3TC_SetupGuide.db_version,
'dimension7': W3TC_SetupGuide.home_url_host,
'dimension9': W3TC_SetupGuide.install_version,
'dimension10': W3TC_SetupGuide.w3tc_edition,
'dimension11': W3TC_SetupGuide.list_widgets,
'page': W3TC_SetupGuide.page
});
w3tc_enable_ga = true;
w3tc_ga( 'send', 'pageview' );
w3tc_ga( 'js', new Date() );
w3tc_ga( 'config', W3TC_SetupGuide.ga_profile, {
'user_properties': {
'plugin': 'w3-total-cache',
'w3tc_version': W3TC_SetupGuide.w3tc_version,
'wp_version': W3TC_SetupGuide.wp_version,
'php_version': W3TC_SetupGuide.php_version,
'server_software': W3TC_SetupGuide.server_software,
'wpdb_version': W3TC_SetupGuide.db_version,
'home_url': W3TC_SetupGuide.home_url_host,
'w3tc_install_version': W3TC_SetupGuide.install_version,
'w3tc_edition': W3TC_SetupGuide.w3tc_edition,
'w3tc_widgets': W3TC_SetupGuide.list_widgets,
'page': W3TC_SetupGuide.page
}
});
}
}
});
@ -110,6 +124,9 @@ function w3tc_wizard_actions( $slide ) {
browsercacheSettings = {
enabled: null
},
imageserviceSettings = {
enabled: null
},
lazyloadSettings = {
enabled: null
},
@ -320,6 +337,52 @@ function w3tc_wizard_actions( $slide ) {
});
}
/**
* Configure Image Service.
*
* @since 2.3.4
*
* @param int enable Enable browser cache.
* @return jqXHR
*/
function configImageservice( enable ) {
configSuccess = null;
return jQuery.ajax({
method: 'POST',
url: ajaxurl,
data: {
_wpnonce: nonce,
action: 'w3tc_config_imageservice',
enable: enable
}
})
.done(function( response ) {
configSuccess = response.data.success;
});
}
/**
* Get Image Service settings.
*
* @since 2.3.4
*
* @return jqXHR
*/
function getImageserviceSettings() {
return jQuery.ajax({
method: 'POST',
url: ajaxurl,
data: {
_wpnonce: nonce,
action: 'w3tc_get_imageservice_settings'
}
})
.done(function( response ) {
imageserviceSettings = response.data;
});
}
/**
* Configure Lazy Load.
*
@ -400,7 +463,14 @@ function w3tc_wizard_actions( $slide ) {
// GA.
if ( w3tc_enable_ga ) {
w3tc_ga( 'send', 'event', 'button', 'w3tc_setup_guide', slideId );
w3tc_ga(
'event',
'button',
{
eventCategory: 'w3tc_setup_guide',
eventLabel: slideId
}
);
}
switch ( slideId ) {
@ -833,7 +903,7 @@ function w3tc_wizard_actions( $slide ) {
$container.find( '#w3tc-options-menu li' ).removeClass( 'is-active' );
$container.find( '#w3tc-wizard-step-objectcache' ).addClass( 'is-active' );
if ( ! $container.find( '#test-results' ).data( 'oc-none' ) ) {
if ( ! $container.find( '#test-results' ).data( 'oc-none' ) && ! W3TC_SetupGuide.objcache_disabled ) {
$nextButton.prop( 'disabled', 'disabled' );
}
@ -1181,7 +1251,7 @@ function w3tc_wizard_actions( $slide ) {
break;
case 'w3tc-wizard-slide-ll1':
case 'w3tc-wizard-slide-io1':
// Save the browser cache setting from the previous slide.
var browsercacheEnabled = $container.find( 'input:checked[name="browsercache_enable"]' ).val();
@ -1198,6 +1268,38 @@ function w3tc_wizard_actions( $slide ) {
jQuery( '#w3tc-wizard-step-browsercache' ).append( '<span class="dashicons dashicons-yes"></span>' );
}
// Present the Image Service slide.
$container.find( '#w3tc-options-menu li' ).removeClass( 'is-active' );
$container.find( '#w3tc-wizard-step-imageservice' ).addClass( 'is-active' );
$dashboardButton.closest( 'span' ).hide();
$nextButton.closest( 'span' ).show();
$nextButton.prop( 'disabled', 'disabled' );
// Update the Image Service enable chackbox from saved config.
getImageserviceSettings()
.then( function() {
$container.find( 'input#imageservice-enable' ).prop( 'checked', imageserviceSettings.enabled );
$nextButton.prop( 'disabled', false );
}, configFailed );
break;
case 'w3tc-wizard-slide-ll1':
// Save the image service setting from the previous slide.
var imageserviceEnabled = $container.find( 'input:checked#imageservice-enable' ).val();
configImageservice( ( '1' === imageserviceEnabled ? 1 : 0 ) )
.fail( function() {
$slide.append(
'<div class="notice notice-error"><p><strong>' +
W3TC_SetupGuide.config_error_msg +
'</strong></p></div>'
);
});
if ( ! jQuery( '#w3tc-wizard-step-imageservice .dashicons-yes' ).length ) {
jQuery( '#w3tc-wizard-step-imageservice' ).append( '<span class="dashicons dashicons-yes"></span>' );
}
// Present the Lazy Load slide.
$container.find( '#w3tc-options-menu li' ).removeClass( 'is-active' );
$container.find( '#w3tc-wizard-step-lazyload' ).addClass( 'is-active' );
@ -1228,9 +1330,10 @@ function w3tc_wizard_actions( $slide ) {
objcacheEngineLabel = $container.find( 'input:checked[name="objcache_engine"]' )
.closest('td').next('td').text(),
browsercacheEnabled = $container.find( 'input:checked[name="browsercache_enable"]' ).val(),
imageserviceEnabled = $container.find( 'input#imageservice-enable' ).val(),
lazyloadEnabled = $container.find( 'input:checked#lazyload-enable' ).val();
// Save the lazyload setting from the previous slide.
// Save the lazy load setting from the previous slide.
configLazyload( ( '1' === lazyloadEnabled ? 1 : 0 ) )
.fail( function() {
$slide.append(
@ -1268,8 +1371,12 @@ function w3tc_wizard_actions( $slide ) {
browsercacheEnabled ? W3TC_SetupGuide.enabled : W3TC_SetupGuide.none
);
$container.find( '#w3tc-imageservice-setting' ).html(
imageserviceEnabled ? W3TC_SetupGuide.enabled : W3TC_SetupGuide.notEnabled
);
$container.find( '#w3tc-lazyload-setting' ).html(
lazyloadEnabled ? W3TC_SetupGuide.enabled : W3TC_SetupGuide.none
lazyloadEnabled ? W3TC_SetupGuide.enabled : W3TC_SetupGuide.notEnabled
);
if ( ! jQuery( '#test-results' ).data( 'completed' ) ) {

View File

@ -13,13 +13,14 @@
$nextButton = $container.find( '#w3tc-wizard-next '),
$previousButton = $container.find( '#w3tc-wizard-previous ');
jQuery( '.button-buy-plugin' ).parent().remove();
$skipLink.on( 'click', skipFunction );
$skipButton.on( 'click', skipFunction );
jQuery( window ).on( 'beforeunload', function() {
return W3TC_Wizard.beforeunloadText;
var $previousSlide = $container.find( '.w3tc-wizard-slides:visible' ).prev( '.w3tc-wizard-slides' );
if ( $previousSlide.length ) {
return W3TC_Wizard.beforeunloadText;
}
});
// Listen for clicks to go to the W3TC Dashboard.
@ -51,7 +52,14 @@
// GA.
if ( window.w3tc_ga ) {
w3tc_ga( 'send', 'event', 'button', page, 'skip' );
w3tc_ga(
'event',
'button',
{
eventCategory: page,
eventLabel: 'skip'
}
);
}
jQuery.ajax({