Create New Item
×
Item Type
File
Folder
Item Name
×
Search file in folder and subfolders...
File Manager
/
plugins
/
better-wp-security
/
core
/
modules
/
malware
/
js
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
"use strict"; (function( $ ) { var itsecMalware = { init: function() { this.bindEvents(); }, bindEvents: function() { $('#itsec-malware-scan').on('click', this.startScan); $(document).on('click', '.itsec-malware-scan-results .itsec-malware-scan-toggle-details', this.toggleDetails); $(document).on('click', '.itsec-site-scan-toggle-details', this.toggleSiteScanDetails ); }, toggleDetails: function( event ) { event.preventDefault(); var $container = $(this).parents('.itsec-malware-scan-results-section'); var $details = $container.find('.itsec-malware-scan-details'); if ( $details.is(':visible') ) { $(this).html('Show Details'); $details.hide(); } else { $(this).html('Hide Details'); $details.show(); } }, toggleSiteScanDetails: function( e ) { e.preventDefault(); var $container = $( this ).parents( '.itsec-site-scan-results-section' ); var $details = $container.find( '.itsec-site-scan__details' ); if ( $details.hasClass( 'hidden' ) ) { $( this ).text( 'Hide Details' ).attr( 'aria-expanded', true ); $details.removeClass( 'hidden' ); } else { $( this ).text( 'Show Details' ).attr( 'aria-expanded', false ); $details.addClass( 'hidden' ); } }, startScan: function( event ) { event.preventDefault(); itsecMalwareScanData.originalSubmitButtonText = $(this).val(); $(this) .prop( 'disabled', true ) .val( itsecMalwareScanData.clickedButtonText ); var postData = { action: 'itsec_malware_scan', _wpnonce: itsecMalwareScanData.nonce }; $.ajax( ajaxurl, { type: 'POST', data: postData, success: itsecMalware.handleSuccessResponse, error: itsecMalware.handleErrorResponse, timeout: 0 }); }, handleSuccessResponse: function( data, status, jqXHR ) { $('#itsec-malware-scan').hide(); if ( 'string' !== typeof data ) { itsecMalware.showError( itsecMalwareScanData.errorMessages.parseError ); } else if ( '-1' === data ) { itsecMalware.showError( itsecMalwareScanData.errorMessages.nonceFailure ); } else if ( '-2' === data ) { itsecMalware.showError( itsecMalwareScanData.errorMessages.invalidUser ); } else { $('.itsec-malware-scan-results-wrapper').html( data ); } }, handleErrorResponse: function( jqXHR, status, exception ) { $('#itsec-malware-scan').hide(); var message = itsecMalwareScanData.errorMessages.ajaxUnknown; if ( 'timeout' === status ) { message = itsecMalwareScanData.errorMessages.ajaxTimeout; } else if ( 'parsererror' === status ) { message = itsecMalwareScanData.errorMessages.parseError; } itsecMalware.showError( message, '(' + status + ') ' + exception ) }, showError: function( message, replacement ) { if ( 'string' === typeof replacement ) { message = message.replace( '%1$s', replacement ); } message = '<div class="error inline"><p><strong>' + message + '</strong></p></div>'; $('.itsec-malware-scan-results-wrapper').html( message ); } }; $(document).ready(function() { itsecMalware.init(); }); })( jQuery );