Sindbad~EG File Manager
{"version":3,"sources":["../sn-common.js"],"names":["sn_block_ui","content_el","jQuery","addClass","css","window","height","show","sn_fix_dialog_close","event","bind","target","id","dialog","sn_unblock_ui","removeClass","hide","document","ready","do_test","stepid","data","self","testid","ajax","type","url","ajaxurl","_ajax_nonce","wf_sn","nonce_run_tests","testarr","action","dataType","success","response","replaceWith","label","fadeIn","outputmsg","msg","details","status","prop","scores","output","html","nexttest","parseInt","fail","console","log","statusCode","statusText","on","e","preventDefault","each","this","trigger","attr","checkedtests","thistestid","checked","val","push","fadeOut","hasClass","post","slideUp","remove","dialogClass","modal","resizable","zIndex","width","open","ui","close","autoOpen","closeOnEscape","Beacon","hash","location","scrollPos","scrollTop","find","tabs","activate","newPanel","cookie","active","tabtarget","replace","t","confirm","reload","test_id","test_status","name","text","content","slideDown","prepend","runtime","timestamp","score","error"],"mappings":"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","sourcesContent":["/* globals jQuery:true, ajaxurl:true, wf_sn:true, Beacon:true */\r\n/* eslint-enable no-unused-vars */\r\n/*\r\n* Security Ninja PRO\r\n* Main backend JS\r\n* (c) WP Security Ninja, 2012 - 2022\r\n*/\r\n\r\nfunction sn_block_ui(content_el) {\r\n\tjQuery('html.wp-toolbar').addClass('sn-overlay-active');\r\n\tjQuery('#wpadminbar').addClass('sn-overlay-active');\r\n\tjQuery('#sn_overlay .wf-sn-overlay-outer').css('height', (jQuery(window).height() - 200) + 'px');\r\n\tjQuery('#sn_overlay').show();\r\n\t\r\n\tif (content_el) {\r\n\t\tjQuery(content_el, '#sn_overlay').show();\r\n\t}\r\n}\r\n\r\n\r\n\r\nfunction sn_fix_dialog_close(event) {\r\n\tjQuery('.ui-widget-overlay').bind('click', function () { jQuery('#' + event.target.id).dialog('close'); });\r\n}\r\n\r\n\r\nfunction sn_unblock_ui(content_el) {\r\n\tjQuery('html.wp-toolbar').removeClass('sn-overlay-active');\r\n\tjQuery('#wpadminbar').removeClass('sn-overlay-active');\r\n\tjQuery('#sn_overlay').hide();\r\n\t\r\n\tif (content_el) {\r\n\t\tjQuery(content_el, '#sn_overlay').hide();\r\n\t}\r\n}\r\n\r\n\r\njQuery(document).ready(function () {\r\n\t\r\n\r\n\r\n\r\n\t\r\n\r\n\r\n\r\n\r\n\r\n// Iterate and expand all details on Tests page\r\n\tjQuery(document).on('click', '.secnin_expand_all_details', function (e) {\r\n\t\te.preventDefault();\r\n\t\tjQuery(\"#security-ninja .sn-details a\").each(function () {\r\n\t\t\tjQuery(this).trigger('click');\r\n\t\t});\t\t\r\n\t});\r\n\r\n\r\n\r\n\r\n\r\n\t// RUN SELECTED TESTS\r\n\tjQuery(document).on('click', '#run-selected-tests', function (e) {\r\n\t\te.preventDefault();\r\n\t\tjQuery('#run-selected-tests').attr('disabled', true);\r\n\t\t\r\n\t\t// finds all selected tests, stores in array and sets visual testing styles\r\n\t\tlet checkedtests = [];\r\n\t\tlet thistestid = '';\r\n\t\tjQuery(\"input[name='sntest[]']\").each(function () {\r\n\t\t\tif (this.checked) {\r\n\t\t\t\tthistestid = jQuery(this).val();\r\n\t\t\t\tjQuery('.test_' + thistestid).addClass('testing');\r\n\t\t\t\tjQuery('.test_' + thistestid + ' .spinner').addClass('is-active');\r\n\t\t\t\tjQuery('.test_' + thistestid + ' .sn-result-details').hide();\r\n\t\t\t\tcheckedtests.push(thistestid);\r\n\t\t\t}\r\n\t\t});\r\n\t\t// Lets start with the first test\r\n\t\tdo_test(0, checkedtests, self);\r\n\t\t\r\n\t\tjQuery('#run-selected-tests').attr('disabled', false);\r\n\t\t\r\n\t});\r\n\t\r\n\t\r\n\t// QUICK FILTER - ALL\r\n\tjQuery(document).on('click', '#sn-quickselect-all', function (e) {\r\n\t\te.preventDefault();\r\n\t\tjQuery('#security-ninja :checkbox').prop(\"checked\", true);\r\n\t\t// Trigger selected\r\n\t\tjQuery('#security-ninja tr.test').fadeIn('fast');\r\n\t});\r\n\t\r\n\t\r\n\t// QUICK FILTER - FAILED\r\n\tjQuery(document).on('click', '#sn-quickselect-failed', function (e) {\r\n\t\te.preventDefault();\r\n\t\t// Hide all\r\n\t\tjQuery('#security-ninja :checkbox').prop(\"checked\", false);\r\n\t\t// Trigger selected\r\n\t\tjQuery('#security-ninja .wf-sn-test-row-status-0 :checkbox').prop(\"checked\", true);\r\n\t\t// hide the rest\r\n\t\tjQuery('#security-ninja .wf-sn-test-row-status-null').fadeOut('fast');\r\n\t\tjQuery('#security-ninja .wf-sn-test-row-status-10').fadeOut('fast');\r\n\t\tjQuery('#security-ninja .wf-sn-test-row-status-5').fadeOut('fast');\r\n\t\tjQuery('#security-ninja .wf-sn-test-row-status-0').fadeIn('fast');\r\n\t});\r\n\t\r\n\t\r\n\t// QUICK FILTER - WARNING\r\n\tjQuery(document).on('click', '#sn-quickselect-warning', function (e) {\r\n\t\te.preventDefault();\r\n\t\t// Hide all\r\n\t\tjQuery('#security-ninja :checkbox').prop(\"checked\", false);\r\n\t\t// Trigger selected\r\n\t\tjQuery('#security-ninja .wf-sn-test-row-status-5 :checkbox').prop(\"checked\", true);\r\n\t\t// hide the rest\r\n\t\tjQuery('#security-ninja .wf-sn-test-row-status-null').fadeOut('fast');\r\n\t\t\r\n\t\tjQuery('#security-ninja .wf-sn-test-row-status-10').fadeOut('fast');\r\n\t\tjQuery('#security-ninja .wf-sn-test-row-status-0').fadeOut('fast');\r\n\t\tjQuery('#security-ninja .wf-sn-test-row-status-5').fadeIn('fast');\r\n\t});\r\n\t\r\n\t\r\n\t// QUICK FILTER - OK\r\n\tjQuery(document).on('click', '#sn-quickselect-okay', function (e) {\r\n\t\te.preventDefault();\r\n\t\t// Hide all\r\n\t\tjQuery('#security-ninja :checkbox').prop(\"checked\", false);\r\n\t\t// Trigger selected\r\n\t\tjQuery('#security-ninja .wf-sn-test-row-status-10 :checkbox').prop(\"checked\", true);\r\n\t\t// hide the rest\r\n\t\tjQuery('#security-ninja .wf-sn-test-row-status-0').fadeOut('fast');\r\n\t\tjQuery('#security-ninja .wf-sn-test-row-status-5').fadeOut('fast');\r\n\t\tjQuery('#security-ninja .wf-sn-test-row-status-10').fadeIn('fast');\r\n\t\tjQuery('#security-ninja .wf-sn-test-row-status-null').fadeOut('fast');\r\n\t\t\r\n\t});\r\n\t\r\n\t\r\n\t// QUICK FILTER - UNTESTED\r\n\tjQuery(document).on('click', '#sn-quickselect-untested', function (e) {\r\n\t\te.preventDefault();\r\n\t\t// Hide all\r\n\t\tjQuery('#security-ninja :checkbox').prop(\"checked\", false);\r\n\t\t// Trigger selected\r\n\t\tjQuery('#security-ninja .wf-sn-test-row-status-null :checkbox').prop(\"checked\", true);\r\n\t\t// hide the rest\r\n\t\tjQuery('#security-ninja .wf-sn-test-row-status-0').fadeOut('fast');\r\n\t\tjQuery('#security-ninja .wf-sn-test-row-status-5').fadeOut('fast');\r\n\t\tjQuery('#security-ninja .wf-sn-test-row-status-10').fadeOut('fast');\r\n\t\tjQuery('#security-ninja .wf-sn-test-row-status-null').fadeIn('fast');\r\n\t\t\r\n\t});\r\n\t\r\n\t// stepid = integer\r\n\t// data = array of tests\r\n\tfunction do_test(stepid, data, self) {\r\n\t\t\r\n\t\tlet testid = data[stepid];\r\n\t\t\r\n\t\tjQuery('.test_' + testid).addClass('testing');\r\n\t\tjQuery('.test_' + testid + ' .spinner').addClass('is-active');\r\n\t\tjQuery('.test_' + testid + ' .sn-result-details').hide();\r\n\t\t\r\n\t\t\r\n\t\tjQuery.ajax({\r\n\t\t\ttype: 'POST',\r\n\t\t\turl: ajaxurl,\r\n\t\t\tdata: {\r\n\t\t\t\t'_ajax_nonce': wf_sn.nonce_run_tests,\r\n\t\t\t\t'testarr': data,\r\n\t\t\t\t'action': 'sn_run_single_test',\r\n\t\t\t\t'stepid': stepid\r\n\t\t\t},\r\n\t\t\tdataType: \"json\",\r\n\t\t\tsuccess: function (response) {\r\n\t\t\t\t\r\n\t\t\t\tjQuery('.test_' + testid + ' .spinner').removeClass('is-active');\r\n\t\t\t\t\r\n\t\t\t\tjQuery('.test_' + testid + ' .wf-sn-label').replaceWith(response.data.label).fadeIn('slow');\r\n\t\t\t\t\r\n\t\t\t\tjQuery('.test_' + testid).removeClass('testing');\r\n\t\t\t\t\r\n\t\t\t\tvar outputmsg = response.data.msg;\r\n\t\t\t\t\r\n\t\t\t\tif (response.data.details) {\r\n\t\t\t\t\toutputmsg = outputmsg + ' ' + response.data.details;\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tjQuery('.test_' + testid + ' .sn-result-details').replaceWith('<span class=\"sn-result-details\">' + outputmsg + '</span>').fadeIn('slow');\r\n\t\t\t\t\r\n\t\t\t\t// Fjerner gamle class værdier\r\n\t\t\t\tjQuery('.test_' + testid).removeClass(\r\n\t\t\t\t\t'wf-sn-test-row-status-0').removeClass('wf-sn-test-row-status-5').removeClass('wf-sn-test-row-status-10').removeClass('wf-sn-test-row-status-null').addClass('wf-sn-test-row-status-' + response.data.status);\r\n\t\t\t\t\t\r\n\t\t\t\t\tjQuery('.test_' + testid + ' input[type=\"checkbox\"]').prop('checked', false);\r\n\t\t\t\t\t\r\n\t\t\t\t\tif (response.data.scores.output) {\r\n\t\t\t\t\t\tjQuery('#testscores').html(response.data.scores.output);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\tif ('-1' == response.data.nexttest) {\r\n\t\t\t\t\t\t//\t\t\t\tjQuery('#counters').text('Testing completed - Reloading...');\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tif (parseInt(response.data.nexttest) > 0) {\r\n\t\t\t\t\t\t\tdo_test(parseInt(response.data.nexttest), data, self);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t}).fail(function (response) {\r\n\t\t\t\tif (window.console && window.console.log) {\r\n\t\t\t\t\twindow.console.log(response.statusCode + ' ' + response.statusText);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\t\r\n\t\t}\r\n\t\t\r\n\t\t\r\n\t\tjQuery('.wfsn-dismiss-review-notice, .wfsn-review-notice .notice-dismiss').on('click', function () {\r\n\t\t\tif (!jQuery(this).hasClass('wfsn-reviewlink')) {\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t}\r\n\t\t\tjQuery.post(ajaxurl, {\r\n\t\t\t\taction: 'wf_sn_dismiss_review'\r\n\t\t\t});\r\n\t\t\tjQuery('.wfsn-review-notice').slideUp().remove();\r\n\t\t});\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\tjQuery('#test-details-dialog').dialog({\r\n\t\t\t'dialogClass': 'wp-dialog sn-dialog',\r\n\t\t\t'modal': true,\r\n\t\t\t'resizable': false,\r\n\t\t\t'zIndex': 9999,\r\n\t\t\t'width': 750,\r\n\t\t\t'height': 'auto',\r\n\t\t\t'hide': 'fade',\r\n\t\t\t'open': function (event, ui) {\r\n\t\t\t\tsn_fix_dialog_close(event, ui);\r\n\t\t\t},\r\n\t\t\t'close': function () {\r\n\t\t\t\tjQuery('#test-details-dialog').html('<p>Please wait.</p>')\r\n\t\t\t},\r\n\t\t\t'show': 'fade',\r\n\t\t\t'autoOpen': false,\r\n\t\t\t'closeOnEscape': true\r\n\t\t});\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t// Opens Help Scout\r\n\t\tjQuery(document).on('click', '.openhelpscout', function () {\r\n\t\t\tBeacon(\"open\");\r\n\t\t});\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t// sets the active tab via #hash in URL parameters\r\n\t\tvar hash = window.location.hash;\r\n\t\t\r\n\t\tif (hash) {\r\n\t\t\tvar scrollPos = jQuery(window).scrollTop();\r\n\t\t\t// Change to the right tab\r\n\t\t\tjQuery(\"#wf-sn-tabs\").find(\"a\").removeClass(\"nav-tab-active\");\r\n\t\t\tjQuery(\".wf-sn-tab\").removeClass(\"active\");\r\n\t\t\t\r\n\t\t\tjQuery('a[href=\"' + hash + '\"]').addClass('nav-tab-active').removeClass('hidden');\r\n\t\t\tjQuery(hash).addClass('active');\r\n\t\t\t\r\n\t\t\tjQuery(this).addClass(\"nav-tab-active\");\r\n\t\t\tjQuery(window).scrollTop(scrollPos);\r\n\t\t\t\r\n\t\t\tjQuery('[name=\"_wp_http_referer\"]').val(window.location);\r\n\t\t}\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\tjQuery('#wf-sn-tabs').tabs({\r\n\t\t\tactivate: function (event, ui) {\r\n\t\t\t\t// save current scroll position\r\n\t\t\t\tvar scrollTop = jQuery(window).scrollTop();\r\n\t\t\t\t// add hash to url\r\n\t\t\t\twindow.location.hash = ui.newPanel.attr('id');\r\n\t\t\t\t// keep scroll at current position\r\n\t\t\t\tjQuery(window).scrollTop(scrollTop);\r\n\t\t\t}\r\n\t\t}).fadeIn('fast');\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t// init tabs\r\n\t\tjQuery('#tabs').tabs({\r\n\t\t\tactivate: function () {\r\n\t\t\t\tjQuery.cookie('sn_tabs_selected', jQuery('#tabs').tabs('option', 'active'));\r\n\t\t\t},\r\n\t\t\tactive: jQuery('#tabs').tabs({ active: jQuery.cookie('sn_tabs_selected') })\r\n\t\t});\r\n\t\t\r\n\t\t\r\n\t\t// Tab handling\r\n\t\tjQuery(\"#wf-sn-tabs\").find(\"a\").on('click', function (e) {\r\n\t\t\te.preventDefault();\r\n\t\t\tjQuery(\"#wf-sn-tabs\").find(\"a\").removeClass(\"nav-tab-active\"),\r\n\t\t\tjQuery(\".wf-sn-tab\").removeClass(\"active\");\r\n\t\t\tvar tabtarget = jQuery(this).attr(\"id\").replace(\"-tab\", \"\");\r\n\t\t\tvar t = jQuery(\"#\" + tabtarget);\r\n\t\t\tt.addClass(\"active\"),\r\n\t\t\tjQuery(this).addClass(\"nav-tab-active\"),\r\n\t\t\tt.hasClass(\"nosave\") ? jQuery(\"#submit\").hide() : jQuery(\"#submit\").show();\r\n\t\t\tvar scrollPos = jQuery(window).scrollTop();\r\n\t\t\twindow.location.hash = tabtarget;\r\n\t\t\tjQuery(window).scrollTop(scrollPos);\r\n\t\t\tjQuery('[name=\"_wp_http_referer\"]').val(window.location);\r\n\t\t});\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t// Asks before importing settings\r\n\t\tjQuery(document).on('click', '#wf-import-settings-button', function () {\r\n\t\t\tif (!confirm('Are you sure you want to import and overwrite the current settings?')) { //i8n\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t});\r\n\t\t\r\n\t\t// abort scan by refreshing\r\n\t\tjQuery('#abort-scan').on('click', function (e) {\r\n\t\t\te.preventDefault();\r\n\t\t\twindow.location.reload();\r\n\t\t}); // abort scan\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t// show test details/help/fix dialog\r\n\t\t\r\n\t\tjQuery(document).on('click', '#sn_tests .sn-details a', function (e) {\r\n\t\t\te.preventDefault();\r\n\t\t\t\r\n\t\t\tjQuery(this).remove();\r\n\t\t\tvar test_id = jQuery(this).data('test-id');\r\n\t\t\tvar test_status = jQuery(this).data('test-status');\r\n\r\n\t\t\t// Trigger action to show auto-fix\r\n\r\n\t\t\tjQuery(document).trigger('sn_test_details_dialog_open', [ test_id, test_status ] );\r\n\r\n\t\t\tvar name = jQuery('#' + test_id + ' .test_name').text();\r\n\t\t\tvar content = jQuery('#' + test_id + ' .test_description').html();\r\n\t\t\t\r\n\t\t\t// get_single_test_details\r\n\t\t\t\r\n\t\t\tif (name === '') {\r\n\t\t\t\tname = 'Unknown test ID';\r\n\t\t\t\tcontent = 'Help is not available for this test. Make sure you have the latest version of Security Ninja installed.';\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tcontent = '<span class=\"ui-helper-hidden-accessible\"><input type=\"text\"></span><span class=\"spinner\"></span>' + jQuery('#' + test_id + ' .test_description').html();\r\n\t\t\t\t\r\n\t\t\t\tcontent += '<div id=\"auto-fixer-content-cont\"><hr><h3>Auto Fixer</h3><div id=\"auto-fixer-content\"></div></div>';\r\n\t\t\t\t// @i8n\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tvar target = '.tdesc-test-id-' + test_id;\r\n\t\t\t\r\n\t\t\tjQuery(target).slideUp().html(content).slideDown('slow');\r\n\t\t\t\r\n\t\t\tjQuery('.' + test_id + '.testtimedetails').prepend('<div class=\"spinner is-active\"></div>');\r\n\t\t\t\r\n\t\t\tjQuery.ajax({\r\n\t\t\t\ttype: 'POST',\r\n\t\t\t\turl: ajaxurl,\r\n\t\t\t\tdata: {\r\n\t\t\t\t\t'_ajax_nonce': wf_sn.nonce_run_tests,\r\n\t\t\t\t\t'action': 'sn_get_single_test_details',\r\n\t\t\t\t\t'testid': test_id\r\n\t\t\t\t},\r\n\t\t\t\tdataType: \"json\",\r\n\t\t\t\tsuccess: function (response) {\r\n\t\t\t\t\tjQuery('.' + test_id + '.testtimedetails .spinner').remove();\r\n\t\t\t\t\tif (response.success) {\r\n\t\t\t\t\t\t// todo - target via classes instead - one per test\r\n\t\t\t\t\t\tif (response.data.runtime) {\r\n\t\t\t\t\t\t\tjQuery('.' + test_id + '.testtimedetails .runtime').html('Runtime: ' + response.data.runtime + ' sec.');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tif (response.data.timestamp) {\r\n\t\t\t\t\t\t\tjQuery('.' + test_id + '.testtimedetails .lasttest').html('Last test: ' + response.data.timestamp);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tif (response.data.timestamp) {\r\n\t\t\t\t\t\t\tjQuery('.' + test_id + '.testtimedetails .score').html('Score: ' + response.data.score);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (response.data.timestamp) {\r\n\t\t\t\t\t\t\tjQuery('.' + test_id + '.testtimedetails .status').html('Status: ' + response.data.status);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tjQuery('.' + test_id + '.testtimedetails').show();\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t},\r\n\t\t\t\terror: function () {\r\n\t\t\t\t\tjQuery('.' + test_id + '.testtimedetails .spinner').remove();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\treturn false;\r\n\t\t}); // show test details dialog\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t});"]}
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists