D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
homehopshortterm
/
www
/
wp-content
/
plugins
/
wp-security-audit-log
/
js
/
Filename :
settings.js
back
Copy
/** * Settings Page Script * * @since 1.0.0 */ jQuery( document ).ready( function() { var RemoveSecToken = function() { var $this = jQuery( this ).parents( 'span:first' ); $this.addClass( 'sectoken-del' ).fadeOut( 'fast', function() { $this.remove(); }); }; jQuery( '.js-query-box, #ViewerQueryBox, #EditorQueryBox, #ExRoleQueryBox, #ExUserQueryBox, #ExUserSubjectQueryBox, #CustomQueryBox, #IpAddrQueryBox, #IpAddrSubjectQueryBox, #ExCPTsQueryBox, #ExURLsQueryBox' ).keydown( function( event ) { if ( 13 === event.keyCode ) { var type = jQuery( this ).closest( 'fieldset' ).attr( 'data-type' ); if (! type ) { type = jQuery( this ).attr( 'id' ).substr( 0, 6 ); } jQuery( '#' + type + 'QueryAdd' ).click(); return false; } }); jQuery( '.js-query-add, #ViewerQueryAdd, #EditorQueryAdd, #ExRoleQueryAdd, #ExUserQueryAdd, #CustomQueryAdd, #IpAddrQueryAdd, #ExCPTsQueryAdd, #ExURLsQueryAdd, #StatusQueryAdd' ).click( function() { var buttonElm = jQuery( this ); var fieldsetElm = buttonElm.closest( 'fieldset' ); var type = fieldsetElm.attr( 'data-type' ); if (! type ) { type = buttonElm.attr('id').substr(0, 6); } var value = jQuery.trim( jQuery( '#' + type + 'QueryBox' ).val() ); var existing = jQuery( '#' + type + 'List input' ).filter( function() { return this.value === value; }); if ( ! value || existing.length ) { return; } // if value is empty or already used, stop here jQuery( '#' + type + 'QueryBox, #' + type + 'QueryAdd' ).attr( 'disabled', true ); jQuery.post( jQuery( '#ajaxurl' ).val(), { action: 'AjaxCheckSecurityToken', token: value, type: type, nonce: wsal_data.wp_nonce }, function( data ) { data = JSON.parse( data ); jQuery( '#' + type + 'QueryBox, #' + type + 'QueryAdd' ).attr( 'disabled', false ); if ( data.success ) { if ( 'ExURLs' === type ) { if ( 'other' === data.tokenType ) { alert( wsal_data.invalidURL ); jQuery( '#' + type + 'QueryBox' ).val( '' ); return; } } else if ( 'ExCPTs' === type ) { if ( 'other' === data.tokenType ) { alert( wsal_data.invalidCPT ); jQuery( '#' + type + 'QueryBox' ).val( '' ); return; } } else if ( 'Status' === type ) { if ( 'other' === data.tokenType ) { alert( wsal_data.invalidCPT ); jQuery( '#' + type + 'QueryBox' ).val( '' ); return; } } else if ( 'IpAddr' === type ) { if ( 'other' === data.tokenType ) { alert( wsal_data.invalidIP ); jQuery( '#' + type + 'QueryBox' ).val( '' ); return; } } else if ( 'UserMeta' != type && 'PostMeta' != type && 'IpAddr' != type ) { if ( 'other' === data.tokenType ) { alert( wsal_data.invalidUser ); jQuery( '#' + type + 'QueryBox' ).val( '' ); return; } } jQuery( '#' + type + 'QueryBox' ).val( '' ); jQuery( '#' + type + 'List' ).append( jQuery( '<span class="sectoken-' + data.tokenType + '"/>' ).text( data.token ).append( jQuery( '<input type="hidden" name="' + type + 's[]"/>' ).val( data.token ), jQuery( '<a href="javascript:;" title="' + wsal_data.remove + '">×</a>' ).click( RemoveSecToken ) ) ); } else { alert( data.message ); jQuery( '#' + type + 'QueryBox' ).val( '' ); return; } } ); }); jQuery( '.js-list>span>a, #ViewerList>span>a, #EditorList>span>a, #ExRoleList>span>a, #ExUserList>span>a, #CustomList>span>a, #IpAddrList>span>a, #ExCPTsList>span>a, #ExURLsList>span>a, #StatusList>span>a' ).click( RemoveSecToken ); var usersUrl = ajaxurl + '?action=AjaxGetAllUsers&wsal_nonce=' + wsal_data.wp_nonce; jQuery( '#ExUserQueryBox' ).autocomplete({ source: usersUrl, minLength: 1 }); jQuery( '#ExUserSubjectQueryBox' ).autocomplete({ source: usersUrl, minLength: 1 }); var rolesUrl = ajaxurl + '?action=AjaxGetAllRoles&wsal_nonce=' + wsal_data.wp_nonce; jQuery( '#ExRoleQueryBox' ).autocomplete({ source: rolesUrl, minLength: 1 }); var cptsUrl = ajaxurl + '?action=AjaxGetAllCPT&wsal_nonce=' + wsal_data.wp_nonce; jQuery( '#ExCPTsQueryBox' ).autocomplete({ source: cptsUrl, minLength: 1 }); var statusesUrl = ajaxurl + '?action=AjaxGetAllStatuses&wsal_nonce=' + wsal_data.wp_nonce; jQuery( '#StatusQueryBox' ).autocomplete({ source: statusesUrl, minLength: 1 }); // Enable setting. function wsal_enable_setting( setting ) { setting.removeProp( 'disabled' ); } // Disable setting. function wsal_disable_setting( setting ) { setting.prop( 'disabled', 'disabled' ); } // Reset settings handler. jQuery( '[data-remodal-id=wsal_reset_settings] button[data-remodal-action=confirm]' ).click( function() { resetWSAL( 'wsal_reset_settings', jQuery( '#wsal-reset-settings-nonce' ).val(), '.js-settings-reset' ); }); // Purge activity handler. jQuery( '[data-remodal-id=wsal_purge_activity] button[data-remodal-action=confirm]' ).click( function() { resetWSAL( 'wsal_purge_activity', jQuery( '#wsal-purge-activity-nonce' ).val(), '.js-purge-reset' ); }); /** * Reset ajax function. * * @param {string} action – Ajax action hook. * @param {string} nonce – Nonce for security. * @param {string} triggerSelector - Selector expression of the event trigger element. */ function resetWSAL( action, nonce, triggerSelector ) { var triggerElm = null; if ( typeof triggerSelector != 'undefined' && triggerSelector.length != 0 ){ triggerElm = jQuery( triggerSelector ); if ( triggerElm.length == 0) { triggerElm = null }; } if ( triggerElm != null ) { jQuery( triggerSelector ).attr( 'disabled', 'disabled' ); jQuery( triggerSelector ).after( '<span class="spinner is-active" style="float: none; margin-top: 0;"></span>'); jQuery( triggerSelector ).siblings( '.notice' ).remove(); } jQuery.ajax({ type: 'POST', url: ajaxurl, async: true, data: { action: action, nonce: nonce }, success: function( data ) { if ( null != triggerElm ) { jQuery( triggerSelector ).removeAttr( 'disabled' ); jQuery( triggerSelector ).siblings( '.spinner' ).remove(); if ( 'success' in data ) { var noticeCssClass = data.success ? 'notice-success' : 'notice-error'; jQuery( triggerSelector ).after( '<span class="notice ' + noticeCssClass + '" style="margin-left: 10px; padding: 6px 10px;">' + data.data + '</span>'); } } else { console.log(data); } }, error: function( xhr, textStatus, error ) { console.log( xhr.statusText ); console.log( textStatus ); console.log( error ); } }); } if ( 0 < jQuery( 'input[name="restrict-log-viewer"][value="only_me"]' ).length ) { jQuery( 'input[name="restrict-plugin-settings"]' ).on( 'change', function() { if ( 'only_me' == this.value ) { // re-enable "Only me" option in the log viewer access settings jQuery( 'input[name="restrict-log-viewer"][value="only_me"]' ).removeAttr( 'disabled' ); if ( 'yes' == jQuery( 'input[name="restrict-log-viewer"][value="only_me"]' ).attr( 'data-revert-to-only-me' ) ) { jQuery( 'input[name="restrict-log-viewer"][value="only_me"]' ).attr( 'checked', 'checked' ); jQuery( 'input[name="restrict-log-viewer"][value="only_me"]' ).removeAttr( 'data-revert-to-only-me' ); } } else { // disable "Only me" option in the log viewer access settings and change the selection to // "Super administators and site administrators" if "Only me" was selected jQuery( 'input[name="restrict-log-viewer"][value="only_me"]' ).attr( 'disabled', 'disabled' ); if ( 'only_me' == jQuery( 'input[name="restrict-log-viewer"]:checked' ).val() ) { jQuery( 'input[name="restrict-log-viewer"][value="only_admins"]' ).attr( 'checked', 'checked' ); jQuery( 'input[name="restrict-log-viewer"][value="only_me"]' ).attr( 'data-revert-to-only-me', 'yes' ); } } }); } /** * Alert user to save settings before switching tabs. */ jQuery(function() { // Get form values as of page load. var $form = jQuery('form#audit-log-settings'); var initialState = $form.serialize(); jQuery( 'body' ).on( 'click', '.nav-tab:not(.nav-tab-active)', function ( e ) { // If the form has been modified, alert user. if (initialState !== $form.serialize()) { e.preventDefault(); alert( wsal_data.saveSettingsChanges ); } }); }); // Allow custom login message to be changed without saving/refreshing the page. jQuery('input[name="login_page_notification"]').on('change', function () { if ( 'true' == this.value ) { jQuery( '#login_page_notification_text' ).prop( 'disabled', false ); } else { jQuery( '#login_page_notification_text' ).prop( 'disabled', true ); } }); }); jQuery( document ).ready( function() { var severitiesUrl = ajaxurl + '?action=wsal_ajax_get_all_severities&wsal_nonce=' + wsal_data.wp_nonce; jQuery( '#SeveritiesQueryBox' ).autocomplete({ source: severitiesUrl, minLength: 1 }); var eventTypesUrl = ajaxurl + '?action=wsal_ajax_get_all_event_types&wsal_nonce=' + wsal_data.wp_nonce; jQuery( '#EventTypeQueryBox' ).autocomplete({ source: eventTypesUrl, minLength: 1 }); var objectTypesUrl = ajaxurl + '?action=wsal_ajax_get_all_object_types&wsal_nonce=' + wsal_data.wp_nonce; jQuery( '#ObjectTypeQueryBox' ).autocomplete({ source: objectTypesUrl, minLength: 1 }); var eventIDTypesUrl = ajaxurl + '?action=wsal_ajax_get_all_event_ids&wsal_nonce=' + wsal_data.wp_nonce; jQuery( '#EventIDQueryBox' ).autocomplete({ source: eventIDTypesUrl, minLength: 1 }); });