uawdijnntqw1x1x1
IP : 216.73.216.109
Hostname : premium160.web-hosting.com
Kernel : Linux premium160.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
Disable Function : None :)
OS : Linux
PATH:
/
home
/
batcwwjx
/
public_html
/
wp-content
/
plugins
/
.
/
wp-smushit
/
.
/
_src
/
js
/
smush
/
settings.js
/
/
/* global ajaxurl */ /* global wp_smush_msgs */ /* global WP_Smush */ /* global SUI */ ( function( $ ) { 'use strict'; /** * Bulk compress page. */ $( 'form#smush-bulk-form' ).on( 'submit', function( e ) { e.preventDefault(); $( '#save-settings-button' ).addClass( 'sui-button-onload' ); saveSettings( $( this ).serialize(), 'bulk' ); // runReCheck(); } ); /** * Lazy load page. */ $( 'form#smush-lazy-preload-form' ).on( 'submit', function( e ) { e.preventDefault(); const tabField = $( this ).find( '[name="tab"]' ); const isLazyLoadPage = tabField.length && 'lazy_load' === tabField.val(); $( '#save-settings-button' ).addClass( 'sui-button-onload-text' ); saveSettings( $( this ).serialize(), isLazyLoadPage ? 'lazy-load' : 'preload' ); } ); /** * CDN page. */ $( 'form#smush-cdn-form' ).on( 'submit', function( e ) { e.preventDefault(); $( '#save-settings-button' ).addClass( 'sui-button-onload-text' ); saveSettings( $( this ).serialize(), 'cdn' ); } ); /** * Next-Gen page. */ $( 'form#smush-next-gen-form' ).on( 'submit', function( e ) { e.preventDefault(); $( '#save-settings-button' ).addClass( 'sui-button-onload-text' ); saveSettings( $( this ).serialize(), 'next-gen' ); } ); /** * Integrations page. */ $( 'form#smush-integrations-form' ).on( 'submit', function( e ) { e.preventDefault(); $( '#save-settings-button' ).addClass( 'sui-button-onload-text' ); saveSettings( $( this ).serialize(), 'integrations' ); } ); /** * Settings page. */ $( 'form#smush-settings-form' ).on( 'submit', function( e ) { e.preventDefault(); $( '#save-settings-button' ).addClass( 'sui-button-onload-text' ); saveSettings( $( this ).serialize(), 'settings' ); } ); /** * Save settings. * * @param {string} settings JSON string of settings. * @param {string} page Settings page. */ function saveSettings( settings, page ) { const xhr = new XMLHttpRequest(); xhr.open( 'POST', ajaxurl + '?action=smush_save_settings', true ); xhr.setRequestHeader( 'Content-type', 'application/x-www-form-urlencoded' ); xhr.onload = () => { $( '#save-settings-button' ).removeClass( 'sui-button-onload-text sui-button-onload' ); if ( 200 === xhr.status ) { const res = JSON.parse( xhr.response ); if ( 'undefined' !== typeof res.success && res.success ) { showSuccessNotice( wp_smush_msgs.settingsUpdated ); triggerSavedSmushSettingsEvent( res.data ); } else if ( res.data && res.data.message ) { WP_Smush.helpers.showErrorNotice( res.data.message ); } else { WP_Smush.helpers.showErrorNotice( 'Request failed.' ); } } else { WP_Smush.helpers.showErrorNotice( 'Request failed. Returned status of ' + xhr.status ); } }; xhr.send( 'page=' + page + '&' + settings + '&_ajax_nonce=' + wp_smush_msgs.nonce ); } function triggerSavedSmushSettingsEvent( status ) { document.dispatchEvent( new CustomEvent( 'onSavedSmushSettings', { detail: status } ) ); } /** * Show successful update notice. * * @param {string} msg Notice message. */ function showSuccessNotice( msg ) { const noticeMessage = `<p>${ msg }</p>`, noticeOptions = { type: 'success', icon: 'check', }; SUI.openNotice( 'wp-smush-ajax-notice', noticeMessage, noticeOptions ); const loadingButton = document.querySelector( '.sui-button-onload' ); if ( loadingButton ) { loadingButton.classList.remove( 'sui-button-onload' ); } } /** * Re-check images from bulk smush and integrations pages. */ function runReCheck() { $( '#save-settings-button' ).addClass( 'sui-button-onload' ); const param = { action: 'scan_for_resmush', wp_smush_options_nonce: $( '#wp_smush_options_nonce' ).val(), type: 'media', }; // Send ajax, Update Settings, And Check For resmush. $.post( ajaxurl, $.param( param ) ).done( function() { $( '#save-settings-button' ).removeClass( 'sui-button-onload' ); } ); } /** * Parse remove data change. */ $( 'input[name=keep_data]' ).on( 'change', function( e ) { const otherClass = 'keep_data-true' === e.target.id ? 'keep_data-false' : 'keep_data-true'; e.target.parentNode.classList.add( 'active' ); document .getElementById( otherClass ) .parentNode.classList.remove( 'active' ); } ); /** * Handle highlighting notice display based on detection checkbox state. */ function handleHighlightingNotice( isAfterSave = false ) { const detectionEnabled = $( '#detection' ).is( ':checked' ); const $notice = $( '.smush-highlighting-notice' ); const $warning = $( '.smush-highlighting-warning' ); if ( ! detectionEnabled ) { $notice.hide(); $warning.hide(); return; } if ( isAfterSave ) { $notice.show(); $warning.hide(); } else { // Show warning only if notice isn't visible yet. const noticeVisible = $notice.is( ':visible' ) || $notice.css( 'display' ) !== 'none'; if ( noticeVisible ) { $notice.show(); $warning.hide(); } else { $notice.hide(); $warning.show(); } } } /** * Handle auto-detect checkbox toggle, to show/hide highlighting notice. */ $( 'input#detection' ).on( 'click', function () { handleHighlightingNotice( false ); } ); /** * Handle settings saved event. */ $( document ).on( 'onSavedSmushSettings', function () { handleHighlightingNotice( true ); } ); /** * Form notice via query var smush-notice handler. */ const formNoticeHandler = () => { if ( ! window.URL || ! window.URLSearchParams ) { return; } const url = new URL( window.location ); const noticeKey = url.searchParams.get( 'smush-notice' ); if ( ! noticeKey ) { return; } document.dispatchEvent( new CustomEvent( `on-smush-${ noticeKey }-notice` ) ); // Remove the smush-notice query parameter. url.searchParams.delete( 'smush-notice' ); window.history.replaceState( {}, document.title, url.toString() ); }; formNoticeHandler(); // Handle toggle fields. const toggleFieldVisibility = ( fieldVisibilitySettings, fieldWrapperClassName ) => { for ( const fieldName in fieldVisibilitySettings ) { const field = document.querySelector( `[name="${ fieldName }"]` ); if ( ! field ) { continue; } const fieldWrapper = field.closest( `.${ fieldWrapperClassName }` ); if ( ! fieldWrapper ) { continue; } if ( 'show' === fieldVisibilitySettings[ fieldName ] ) { fieldWrapper.classList.remove( 'sui-hidden' ); } else { fieldWrapper.classList.add( 'sui-hidden' ); } } }; const toggleFieldsHandler = () => { const settingsForm = document.querySelector( '.wp-smush-settings-form' ); if ( ! settingsForm ) { return; } const fieldWrapperClassName = 'sui-box-settings-row'; const conditionalFields = settingsForm.querySelectorAll( '[data-toggle-fields]' ); if ( conditionalFields ) { conditionalFields.forEach( function( conditionalField ) { const fieldVisibilitySettings = JSON.parse( conditionalField.dataset.toggleFields ); if ( ! fieldVisibilitySettings && 'object' !== typeof fieldVisibilitySettings ) { return; } conditionalField.addEventListener( 'change', function() { if ( ! this.checked ) { return; } toggleFieldVisibility( fieldVisibilitySettings, fieldWrapperClassName ); } ); } ); } if ( window.SUI?.tabs ) { window.SUI.tabs( { callback( tab, panel ) { const conditionalField = tab.next( '[data-toggle-fields]' ); if ( conditionalField.length ) { const fieldVisibilitySettings = conditionalField.data( 'toggle-fields' ); if ( fieldVisibilitySettings && 'object' === typeof fieldVisibilitySettings ) { toggleFieldVisibility( fieldVisibilitySettings, fieldWrapperClassName ); } } const childFields = panel.find( '[data-toggle-fields]' ); if ( childFields.length ) { childFields.each( function() { if ( $( this ).is( ':checked' ) ) { const fieldVisibilitySettings = $( this ).data( 'toggle-fields' ); if ( fieldVisibilitySettings && 'object' === typeof fieldVisibilitySettings ) { toggleFieldVisibility( fieldVisibilitySettings, fieldWrapperClassName ); } } } ); } } } ); } }; toggleFieldsHandler(); }( jQuery ) );
/home/batcwwjx/public_html/wp-content/plugins/./wp-smushit/./_src/js/smush/settings.js