Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/clone/wp-conte.../plugins/wp-smush.../_src/js/modules
File: admin.js
* When 'All' is selected for the Image Sizes setting, select all available sizes.
[500] Fix | Delete
*
[501] Fix | Delete
* @since 3.2.1
[502] Fix | Delete
*/
[503] Fix | Delete
$('#all-image-sizes').on('change', function () {
[504] Fix | Delete
$('input[name^="wp-smush-image_sizes"]').prop('checked', true);
[505] Fix | Delete
});
[506] Fix | Delete
[507] Fix | Delete
/**
[508] Fix | Delete
* Handles the tabs navigation on mobile.
[509] Fix | Delete
*
[510] Fix | Delete
* @since 3.8.4
[511] Fix | Delete
*/
[512] Fix | Delete
$('.sui-mobile-nav').on('change', (e) => {
[513] Fix | Delete
window.location.assign($(e.currentTarget).val());
[514] Fix | Delete
});
[515] Fix | Delete
[516] Fix | Delete
/**
[517] Fix | Delete
* Handle re-check api status button click (Settings)
[518] Fix | Delete
*
[519] Fix | Delete
* @since 3.2.0.2
[520] Fix | Delete
*/
[521] Fix | Delete
$('#update-api-status').on('click', function (e) {
[522] Fix | Delete
e.preventDefault();
[523] Fix | Delete
[524] Fix | Delete
//$(this).prop('disabled', true);
[525] Fix | Delete
$(this).addClass('sui-button-onload');
[526] Fix | Delete
[527] Fix | Delete
$.post(ajaxurl, { action: 'recheck_api_status' }, function () {
[528] Fix | Delete
location.reload();
[529] Fix | Delete
});
[530] Fix | Delete
});
[531] Fix | Delete
[532] Fix | Delete
/** Handle smush button click **/
[533] Fix | Delete
$('body').on(
[534] Fix | Delete
'click',
[535] Fix | Delete
'.wp-smush-send:not(.wp-smush-resmush)',
[536] Fix | Delete
function (e) {
[537] Fix | Delete
// prevent the default action
[538] Fix | Delete
e.preventDefault();
[539] Fix | Delete
new Smush($(this), false);
[540] Fix | Delete
}
[541] Fix | Delete
);
[542] Fix | Delete
[543] Fix | Delete
/**
[544] Fix | Delete
* Handle show in bulk smush button click.
[545] Fix | Delete
*/
[546] Fix | Delete
$( 'body' ).on( 'click', '.wp-smush-remove-skipped', function( e ) {
[547] Fix | Delete
e.preventDefault();
[548] Fix | Delete
[549] Fix | Delete
const self = $( this );
[550] Fix | Delete
[551] Fix | Delete
// Send ajax request to remove the image from the skip list.
[552] Fix | Delete
$.post( ajaxurl, {
[553] Fix | Delete
action: 'remove_from_skip_list',
[554] Fix | Delete
id: self.attr( 'data-id' ),
[555] Fix | Delete
_ajax_nonce: self.attr( 'data-nonce' ),
[556] Fix | Delete
} ).done( ( response ) => {
[557] Fix | Delete
if ( response.success && 'undefined' !== typeof response.data.html ) {
[558] Fix | Delete
self.parent().parent().html( response.data.html );
[559] Fix | Delete
}
[560] Fix | Delete
} );
[561] Fix | Delete
} );
[562] Fix | Delete
/** Restore: Media Library **/
[563] Fix | Delete
$('body').on('click', '.wp-smush-action.wp-smush-restore', function (e) {
[564] Fix | Delete
const current_button = $(this);
[565] Fix | Delete
process_smush_action(
[566] Fix | Delete
e,
[567] Fix | Delete
current_button,
[568] Fix | Delete
'smush_restore_image',
[569] Fix | Delete
'restore'
[570] Fix | Delete
);
[571] Fix | Delete
});
[572] Fix | Delete
[573] Fix | Delete
/** Resmush: Media Library **/
[574] Fix | Delete
$('body').on('click', '.wp-smush-action.wp-smush-resmush', function (e) {
[575] Fix | Delete
process_smush_action(e, $(this), 'smush_resmush_image', 'smushing');
[576] Fix | Delete
});
[577] Fix | Delete
[578] Fix | Delete
/** Restore: NextGen Gallery **/
[579] Fix | Delete
$('body').on(
[580] Fix | Delete
'click',
[581] Fix | Delete
'.wp-smush-action.wp-smush-nextgen-restore',
[582] Fix | Delete
function (e) {
[583] Fix | Delete
process_smush_action(
[584] Fix | Delete
e,
[585] Fix | Delete
$(this),
[586] Fix | Delete
'smush_restore_nextgen_image',
[587] Fix | Delete
'restore'
[588] Fix | Delete
);
[589] Fix | Delete
}
[590] Fix | Delete
);
[591] Fix | Delete
[592] Fix | Delete
/** Resmush: NextGen Gallery **/
[593] Fix | Delete
$('body').on(
[594] Fix | Delete
'click',
[595] Fix | Delete
'.wp-smush-action.wp-smush-nextgen-resmush',
[596] Fix | Delete
function (e) {
[597] Fix | Delete
process_smush_action(
[598] Fix | Delete
e,
[599] Fix | Delete
$(this),
[600] Fix | Delete
'smush_resmush_nextgen_image',
[601] Fix | Delete
'smushing'
[602] Fix | Delete
);
[603] Fix | Delete
}
[604] Fix | Delete
);
[605] Fix | Delete
[606] Fix | Delete
//Scan For resmushing images
[607] Fix | Delete
$('.wp-smush-scan').on('click', function (e) {
[608] Fix | Delete
e.preventDefault();
[609] Fix | Delete
if ( $(this).hasClass('wp-smush-background-scan') ) {
[610] Fix | Delete
return;
[611] Fix | Delete
}
[612] Fix | Delete
runRecheck(false);
[613] Fix | Delete
});
[614] Fix | Delete
[615] Fix | Delete
//Remove Notice
[616] Fix | Delete
$('body').on('click', '.wp-smush-notice .icon-fi-close', function (e) {
[617] Fix | Delete
e.preventDefault();
[618] Fix | Delete
const $el = $(this).parent();
[619] Fix | Delete
remove_element($el);
[620] Fix | Delete
});
[621] Fix | Delete
[622] Fix | Delete
// Enable super smush on clicking link from stats area.
[623] Fix | Delete
$('a.wp-smush-lossy-enable').on('click', function (e) {
[624] Fix | Delete
e.preventDefault();
[625] Fix | Delete
// Scroll down to settings area.
[626] Fix | Delete
goToByScroll('#column-lossy');
[627] Fix | Delete
});
[628] Fix | Delete
[629] Fix | Delete
// Enable resize on clicking link from stats area.
[630] Fix | Delete
$('.wp-smush-resize-enable').on('click', function (e) {
[631] Fix | Delete
e.preventDefault();
[632] Fix | Delete
// Scroll down to settings area.
[633] Fix | Delete
goToByScroll('#column-resize');
[634] Fix | Delete
});
[635] Fix | Delete
[636] Fix | Delete
// If settings string is found in url, enable and scroll.
[637] Fix | Delete
if ( window.location.hash ) {
[638] Fix | Delete
const setting_hash = window.location.hash.substring( 1 );
[639] Fix | Delete
let scrollTo = '';
[640] Fix | Delete
[641] Fix | Delete
switch ( setting_hash ) {
[642] Fix | Delete
case 'enable-resize':
[643] Fix | Delete
scrollTo = '#column-resize';
[644] Fix | Delete
break;
[645] Fix | Delete
[646] Fix | Delete
case 'backup-label':
[647] Fix | Delete
scrollTo = '#backup';
[648] Fix | Delete
break;
[649] Fix | Delete
[650] Fix | Delete
case 'original-label':
[651] Fix | Delete
scrollTo = '#original';
[652] Fix | Delete
break;
[653] Fix | Delete
[654] Fix | Delete
case 'enable-lossy':
[655] Fix | Delete
scrollTo = '#column-lossy';
[656] Fix | Delete
break;
[657] Fix | Delete
}
[658] Fix | Delete
[659] Fix | Delete
if ( '' !== scrollTo ) {
[660] Fix | Delete
goToByScroll( scrollTo );
[661] Fix | Delete
document.getElementById( scrollTo.replace( '#', '' ) ).focus();
[662] Fix | Delete
}
[663] Fix | Delete
}
[664] Fix | Delete
[665] Fix | Delete
//Trigger Bulk
[666] Fix | Delete
$('body').on('click', '.wp-smush-trigger-bulk', function (e) {
[667] Fix | Delete
e.preventDefault();
[668] Fix | Delete
[669] Fix | Delete
//Induce Setting button save click
[670] Fix | Delete
if (
[671] Fix | Delete
'undefined' !== typeof e.target.dataset.type &&
[672] Fix | Delete
'nextgen' === e.target.dataset.type
[673] Fix | Delete
) {
[674] Fix | Delete
$('.wp-smush-nextgen-bulk').trigger('click');
[675] Fix | Delete
} else {
[676] Fix | Delete
$('.wp-smush-all').trigger('click');
[677] Fix | Delete
}
[678] Fix | Delete
[679] Fix | Delete
$('span.sui-notice-dismiss').trigger('click');
[680] Fix | Delete
});
[681] Fix | Delete
[682] Fix | Delete
//Trigger Bulk
[683] Fix | Delete
$('body').on('click', '#bulk-smush-top-notice-close', function (e) {
[684] Fix | Delete
e.preventDefault();
[685] Fix | Delete
$(this).parent().parent().slideUp('slow');
[686] Fix | Delete
});
[687] Fix | Delete
[688] Fix | Delete
//Allow the checkboxes to be Keyboard Accessible
[689] Fix | Delete
$('.wp-smush-setting-row .toggle-checkbox').on('focus', function () {
[690] Fix | Delete
//If Space is pressed
[691] Fix | Delete
$(this).keypress(function (e) {
[692] Fix | Delete
if (e.keyCode == 32) {
[693] Fix | Delete
e.preventDefault();
[694] Fix | Delete
$(this).find('.toggle-checkbox').trigger('click');
[695] Fix | Delete
}
[696] Fix | Delete
});
[697] Fix | Delete
});
[698] Fix | Delete
[699] Fix | Delete
// Re-Validate Resize Width And Height.
[700] Fix | Delete
$('body').on('blur', '.wp-smush-resize-input', function () {
[701] Fix | Delete
const self = $(this);
[702] Fix | Delete
[703] Fix | Delete
const wrapper_div = self.parents().eq(4);
[704] Fix | Delete
[705] Fix | Delete
// Initiate the check.
[706] Fix | Delete
validate_resize_settings(wrapper_div, false, false); // run the validation.
[707] Fix | Delete
});
[708] Fix | Delete
[709] Fix | Delete
// Handle Resize Checkbox toggle, to show/hide width, height settings.
[710] Fix | Delete
$('body').on('click', '#resize', function () {
[711] Fix | Delete
const self = $(this);
[712] Fix | Delete
const settings_wrap = $('#smush-resize-settings-wrap');
[713] Fix | Delete
[714] Fix | Delete
if (self.is(':checked')) {
[715] Fix | Delete
settings_wrap.show();
[716] Fix | Delete
} else {
[717] Fix | Delete
settings_wrap.hide();
[718] Fix | Delete
}
[719] Fix | Delete
});
[720] Fix | Delete
[721] Fix | Delete
//Handle Re-check button functionality
[722] Fix | Delete
$('#wp-smush-revalidate-member').on('click', function (e) {
[723] Fix | Delete
e.preventDefault();
[724] Fix | Delete
//Ajax Params
[725] Fix | Delete
const params = {
[726] Fix | Delete
action: 'smush_show_warning',
[727] Fix | Delete
_ajax_nonce: window.wp_smush_msgs.nonce,
[728] Fix | Delete
};
[729] Fix | Delete
const link = $(this);
[730] Fix | Delete
const parent = link.parents().eq(1);
[731] Fix | Delete
parent.addClass('loading-notice');
[732] Fix | Delete
$.get(ajaxurl, params, function (r) {
[733] Fix | Delete
//remove the warning
[734] Fix | Delete
parent.removeClass('loading-notice').addClass('loaded-notice');
[735] Fix | Delete
if (0 == r) {
[736] Fix | Delete
parent.attr('data-message', wp_smush_msgs.membership_valid);
[737] Fix | Delete
remove_element(parent, 1000);
[738] Fix | Delete
} else {
[739] Fix | Delete
parent.attr('data-message', wp_smush_msgs.membership_invalid);
[740] Fix | Delete
setTimeout(function remove_loader() {
[741] Fix | Delete
parent.removeClass('loaded-notice');
[742] Fix | Delete
}, 1000);
[743] Fix | Delete
}
[744] Fix | Delete
});
[745] Fix | Delete
});
[746] Fix | Delete
[747] Fix | Delete
if ($('li.smush-dir-savings').length > 0) {
[748] Fix | Delete
// Update Directory Smush, as soon as the page loads.
[749] Fix | Delete
const stats_param = {
[750] Fix | Delete
action: 'get_dir_smush_stats',
[751] Fix | Delete
_ajax_nonce: window.wp_smush_msgs.nonce,
[752] Fix | Delete
};
[753] Fix | Delete
$.get(ajaxurl, stats_param, function (r) {
[754] Fix | Delete
//Hide the spinner
[755] Fix | Delete
$('li.smush-dir-savings .sui-icon-loader').hide();
[756] Fix | Delete
[757] Fix | Delete
//If there are no errors, and we have a message to display
[758] Fix | Delete
if (!r.success && 'undefined' !== typeof r.data.message) {
[759] Fix | Delete
$('div.wp-smush-scan-result div.content').prepend(
[760] Fix | Delete
r.data.message
[761] Fix | Delete
);
[762] Fix | Delete
return;
[763] Fix | Delete
}
[764] Fix | Delete
[765] Fix | Delete
//If there is no value in r
[766] Fix | Delete
if (
[767] Fix | Delete
'undefined' === typeof r.data ||
[768] Fix | Delete
'undefined' === typeof r.data.dir_smush
[769] Fix | Delete
) {
[770] Fix | Delete
//Append the text
[771] Fix | Delete
$('li.smush-dir-savings span.wp-smush-stats').append(
[772] Fix | Delete
wp_smush_msgs.ajax_error
[773] Fix | Delete
);
[774] Fix | Delete
$('li.smush-dir-savings span.wp-smush-stats span').hide();
[775] Fix | Delete
} else {
[776] Fix | Delete
//Update the stats
[777] Fix | Delete
update_cummulative_stats(r.data);
[778] Fix | Delete
}
[779] Fix | Delete
});
[780] Fix | Delete
}
[781] Fix | Delete
[782] Fix | Delete
// Display dialogs that show up with no user action.
[783] Fix | Delete
if ( $( '#smush-updated-dialog' ).length ) {
[784] Fix | Delete
// Displays the modal with the release's higlights if it exists.
[785] Fix | Delete
const modalId = 'smush-updated-dialog',
[786] Fix | Delete
focusAfterClosed = 'wpbody-content',
[787] Fix | Delete
focusWhenOpen = undefined,
[788] Fix | Delete
hasOverlayMask = false,
[789] Fix | Delete
isCloseOnEsc = false,
[790] Fix | Delete
isAnimated = true;
[791] Fix | Delete
[792] Fix | Delete
window.SUI.openModal(
[793] Fix | Delete
modalId,
[794] Fix | Delete
focusAfterClosed,
[795] Fix | Delete
focusWhenOpen,
[796] Fix | Delete
hasOverlayMask,
[797] Fix | Delete
isCloseOnEsc,
[798] Fix | Delete
isAnimated
[799] Fix | Delete
);
[800] Fix | Delete
}
[801] Fix | Delete
[802] Fix | Delete
/**
[803] Fix | Delete
* Toggle backup notice based on "Optimize original images" setting.
[804] Fix | Delete
* @since 3.9.1
[805] Fix | Delete
*/
[806] Fix | Delete
$( 'input#original' ).on( 'change', function() {
[807] Fix | Delete
$( '#backup-notice' ).toggleClass( 'sui-hidden', $( this ).is(':checked') );
[808] Fix | Delete
} );
[809] Fix | Delete
[810] Fix | Delete
[811] Fix | Delete
/**
[812] Fix | Delete
* Bulk compression level notice.
[813] Fix | Delete
*/
[814] Fix | Delete
const handleCompressionLevelNotice = () => {
[815] Fix | Delete
const compressionLevelNotice = document.querySelector( '.wp-smush-compression-type' );
[816] Fix | Delete
if ( ! compressionLevelNotice ) {
[817] Fix | Delete
return;
[818] Fix | Delete
}
[819] Fix | Delete
const compressionNoticeContent = compressionLevelNotice.querySelector( '.wp-smush-compression-type_note p' );
[820] Fix | Delete
if ( ! compressionNoticeContent ) {
[821] Fix | Delete
return;
[822] Fix | Delete
}
[823] Fix | Delete
compressionLevelNotice.querySelector('.wp-smush-compression-type_slider').addEventListener('change', (e) => {
[824] Fix | Delete
if ( 'INPUT' !== e?.target?.nodeName ) {
[825] Fix | Delete
return;
[826] Fix | Delete
}
[827] Fix | Delete
const note = e.target.dataset?.note;
[828] Fix | Delete
if ( ! note ) {
[829] Fix | Delete
return;
[830] Fix | Delete
}
[831] Fix | Delete
[832] Fix | Delete
compressionNoticeContent.innerHTML = note.trim();
[833] Fix | Delete
} );
[834] Fix | Delete
}
[835] Fix | Delete
handleCompressionLevelNotice();
[836] Fix | Delete
[837] Fix | Delete
[838] Fix | Delete
/**
[839] Fix | Delete
* Close modal and redirect to the href link.
[840] Fix | Delete
*/
[841] Fix | Delete
$('.wp-smush-modal-link-close').on( 'click', function( e ) {
[842] Fix | Delete
e.preventDefault();
[843] Fix | Delete
SUI.closeModal();
[844] Fix | Delete
const href = $(this).attr('href');
[845] Fix | Delete
let openNewTab = '_blank' === $(this).attr('target');
[846] Fix | Delete
if ( href ) {
[847] Fix | Delete
if ( openNewTab ) {
[848] Fix | Delete
window.open( href, '_blank' );
[849] Fix | Delete
} else {
[850] Fix | Delete
window.location.href = href;
[851] Fix | Delete
}
[852] Fix | Delete
}
[853] Fix | Delete
});
[854] Fix | Delete
[855] Fix | Delete
// Update Smush mode on lossy level change.
[856] Fix | Delete
const updateLossyLevelInSummaryBox = () => {
[857] Fix | Delete
const lossyLevelSummaryBox = document.querySelector('.wp-smush-current-compression-level');
[858] Fix | Delete
const currentLossyLevelTab = document.querySelector( '.wp-smush-lossy-level-tabs button.active' );
[859] Fix | Delete
if ( ! lossyLevelSummaryBox || ! currentLossyLevelTab ) {
[860] Fix | Delete
return;
[861] Fix | Delete
}
[862] Fix | Delete
// Update lossy label.
[863] Fix | Delete
lossyLevelSummaryBox.innerText = currentLossyLevelTab.innerText.trim();
[864] Fix | Delete
[865] Fix | Delete
// Toggle Ultra notice/upsell link.
[866] Fix | Delete
const upsellLink = lossyLevelSummaryBox.nextElementSibling;
[867] Fix | Delete
if ( upsellLink ) {
[868] Fix | Delete
if ( currentLossyLevelTab.id.includes('ultra') ) {
[869] Fix | Delete
upsellLink.classList.add( 'sui-hidden' );
[870] Fix | Delete
} else {
[871] Fix | Delete
upsellLink.classList.remove( 'sui-hidden' );
[872] Fix | Delete
}
[873] Fix | Delete
}
[874] Fix | Delete
}
[875] Fix | Delete
[876] Fix | Delete
document.addEventListener( 'onSavedSmushSettings', function( e ) {
[877] Fix | Delete
if ( ! e?.detail?.is_outdated_stats ) {
[878] Fix | Delete
return;
[879] Fix | Delete
}
[880] Fix | Delete
updateLossyLevelInSummaryBox();
[881] Fix | Delete
} );
[882] Fix | Delete
});
[883] Fix | Delete
[884] Fix | Delete
12
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function