| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- ( function ( localized ) {
- function ready( fn ) {
- if ( document.readyState != 'loading' ) {
- fn();
- } else {
- document.addEventListener( 'DOMContentLoaded', fn );
- }
- }
- function fetch_scan_treats_and_add_link() {
- var xhrRequest = new XMLHttpRequest();
- xhrRequest.open( 'GET', localized.scan_endpoint, true );
- xhrRequest.onload = function () {
- if ( this.status == 200 ) {
- // Success!
- var body = JSON.parse( this.response );
- if ( body && body.data ) {
- var apiResponse = JSON.parse( body.data );
- var numberOfThreats =
- apiResponse.threats && apiResponse.threats.length ? apiResponse.threats.length : 0;
- update_threats_link( numberOfThreats );
- } else {
- update_threats_link( 0 );
- }
- } else {
- update_threats_link( 0 );
- }
- };
- xhrRequest.setRequestHeader( 'X-WP-Nonce', localized.nonce );
- xhrRequest.send();
- }
- ready( function () {
- fetch_scan_treats_and_add_link();
- } );
- function update_threats_link( numberOfThreats ) {
- var element = document.getElementById( 'wp-admin-bar-jetpack-scan-notice' );
- if ( ! element ) {
- return;
- }
- if ( ! numberOfThreats ) {
- element.parentNode.removeChild( element );
- return;
- }
- var textLabel = numberOfThreats == 1 ? localized.singular : localized.multiple;
- element.innerHTML =
- '<a href="' + localized.scan_dashboard_url + '" class="ab-item">' + textLabel + '</a>';
- }
- } )( window.Jetpack_Scan );
|