Plugin Directory

Changeset 2666384


Ignore:
Timestamp:
01/26/2022 09:03:27 PM (4 years ago)
Author:
cleverplugins
Message:

5.129

  • Improved test interface, less clicks needed.
  • Pro: New feature, enforce secure cookies on your website. Easy 1-click fix.
  • Improved PHP 8 compatibility
  • Updated 3rd party libraries.
  • Tested up to WP 5.9
Location:
security-ninja
Files:
391 added
19 edited

Legend:

Unmodified
Added
Removed
  • security-ninja/trunk/class-wf-sn-tests.php

    r2628902 r2666384  
    630630        if ( false === stripos( get_admin_url(), 'https' ) ) {
    631631            $return['status']  = 0;
    632             $return['details'] = 'You should set your Settings -> General URLs to start with https://'; // @todo
     632            $return['details'] = 'You should set your Settings -> General URLs to start with https://';
    633633        } else {
    634634            $return['status']  = 10;
    635             $return['details'] = 'Admin URLS set to start with https'; // @todo
     635            $return['details'] = 'Admin URLS set to start with https';
    636636        }
    637637
     
    639639        if ( $force_ssl_admin ) {
    640640            $return['status']  = 10;
    641             $return['details'] = 'Great, admin pages are secured by SSL.'; // @todo
     641            $return['details'] = 'Great, admin pages are secured by SSL.';
    642642        }
    643643
  • security-ninja/trunk/css/min/sn-style.css

    r2469061 r2666384  
    1 .testresults .nvdlink{font-size:1em}.nav-tab .warn-count{display:inline-block;vertical-align:top;box-sizing:border-box;margin:1px 0 -1px 2px;padding:0 5px;min-width:18px;height:18px;border-radius:9px;background-color:#ca4a1f;color:#fff;font-size:11px;line-height:1.6;text-align:center;z-index:26}.wrap-collabsible h4 span{font-size:.8em}.wrap-collabsible input[type=checkbox]{display:none}.wrap-collabsible .lbl-toggle{display:block;font-size:14px;padding:5px;color:#0776ac;cursor:pointer;border-radius:0;transition:all .25s ease-out}.wrap-collabsible .lbl-toggle:hover{color:#000}.wrap-collabsible .lbl-toggle::before{content:' ';display:inline-block;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid currentColor;vertical-align:middle;margin-right:.7rem;transform:translateY(-2px);transition:transform .2s ease-out}.wrap-collabsible .toggle:checked+.lbl-toggle{padding-left:10px;background:#ffffff;border-left:1px solid #ccd0d4;border-right:1px solid #ccd0d4;border-top:1px solid #ccd0d4}.wrap-collabsible .toggle:checked+.lbl-toggle::before{transform:rotate(90deg) translateX(-3px)}.wrap-collabsible .collapsible-content{max-height:0;overflow:hidden;transition:max-height .25s ease-in-out}.wrap-collabsible .toggle:checked+.lbl-toggle+.collapsible-content{max-height:100vh;margin-bottom:10px}.wrap-collabsible .toggle:checked+.collapsible-content{border-bottom-right-radius:0;border-bottom-left-radius:0}.wrap-collabsible .collapsible-content .content-inner{background:#ffffff;padding:10px;border-left:1px solid #ccd0d4;border-right:1px solid #ccd0d4;border-bottom:1px solid #ccd0d4}#security-ninja .testing{transition:all 500ms ease-in-out 0.8s}#security-ninja .testing .wf-sn-label,#security-ninja .testing .wf-sn-test-title,#security-ninja .testing .sn-result-details{opacity:0.2}#secninja-tests-quickselect{margin-bottom:10px;float:left;clear:both;width:100%}#secninja-tests-quickselect span{float:left;margin-right:10px}#secninja-tests-quickselect ul{list-style-type:none;float:left;margin-top:0px;margin-bottom:0px}#secninja-tests-quickselect ul li{float:left;margin-right:10px}#secninja-tests-quickselect ul li a{color:#555}#security-ninja table .test label:hover{font-weight:bold}#testtimedetails .spinner{float:left;margin-top:0px}#testtimedetails{margin-bottom:10px;font-size:.8em;clear:both;float:left;width:100%}.testresults .exlink:before{content:"\f103";font-family:dashicons;display:inline-block;line-height:1;font-weight:400;font-style:normal;speak:none;margin-right:5px}.testresults p.vulnDetails{font-size:1em}.testresults .vulnrecommendation{background:#fddc2d;padding:5px 10px 5px 10px;background:#fff;border:1px solid #ccd0d4;border-left:4px solid #dc3232;box-shadow:0 1px 1px rgba(0,0,0,0.04);margin:5px 15px 2px 5px;padding:1px 12px}#sn_vuln h3 span.ver{font-size:.7em;color:#949494}.secnin_content_wrapper .card{max-width:initial}.secnin_content_wrapper .health-check-wp-paths-sizes.spinner{display:none}.test_details{line-height:25px}#wf-sn-last-action{font-weight:bold}.wf-sn-label{margin-right:10px}.wf-sn-test-row-status-10 .button{opacity:0.3}.wf-sn-test-row-status-10 .button:hover{opacity:1}.wf-sn-test-title{display:table-cell;font-size:1.2em;font-weight:500;line-height:23px}#mscounterseconds,#mscounterminutes{font-size:1.3em;font-family:Consolas,Monaco,monospace;margin-bottom:10px;font-weight:bold}ul.salenotices{list-style-type:square;padding-left:20px}#sidebar-container .button.button-primary.button-hero{width:100%;margin-bottom:0px;text-align:center}.wfsn-review-notice ul{float:left;width:100%;margin-bottom:10px}.wfsn-review-notice ul li{float:left;line-height:30px;margin-right:30px}.wfsn-review-notice ul li .dashicons{line-height:30px;margin-right:5px}.checkmarks li:before{content:'✓';margin-right:5px;font-weight:bold;font-size:1.1em}#auto-fixer-content-cont{display:none}.secnotice{margin:5px 0 15px;background:#fff;border-left:4px solid #fff;box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);padding:1px 12px}.secnotice-warning{border-left-color:#dc3232}.tabtext{width:49%;float:left}.wrap h1 span{font-size:.8em}.wrap h1{margin-bottom:20px}.tabimage{max-width:1000px;float:right;width:58%;position:relative;border:1px solid #cccccc;background:#ffffff;padding:2px;margin-left:20px}.countryimg{margin:4px 4px 0px 4px}.security-test-list li:before{content:"\f344";font-family:'dashicons';display:inline-block;line-height:1;font-weight:400;position:relative;font-size:16px;position:absolute;left:0px;top:2px}.security-test-list li{font-size:16px;position:relative;padding-left:20px;margin-bottom:10px}.fomcont p{font-size:1.2em}.sidebarsection a.trial-button{text-align:center;background-color:#67a100;font-size:1.2em;width:100%;height:auto;padding-bottom:.4em;padding-top:0.4em;border-color:#67a100 #66a100 #66a100;text-shadow:0px 0px 0px;box-shadow:0 1px 0 #416700}.sidebarsection a.trial-button:hover{background-color:#588a00;border-color:#588a00}.mainsection{background:#fff;border-bottom:0px;padding:20px 10px 20px 10px;border-bottom:1px solid #ddd;margin-bottom:20px}.sidebarsection{padding:20px 10px 20px 10px;border-bottom:1px solid #ddd;margin-bottom:20px}.sidebarsection.feature{background:#fff;border-bottom:0px}.sidebarsection h3:first-of-type{margin-top:0px}.testresults{margin-top:10px;padding:10px;margin-bottom:20px}.sidebarsection:last-of-type{border-bottom:0px;margin-bottom:0px}.secnin_content_wrapper{display:table;width:100%;table-layout:fixed}.secnin_content_wrapper .button-hero{margin-top:15px;margin-bottom:15px}@media screen and (max-width: 782px){.ss-details-sn,.ss-details-cs{display:none}}@media screen and (max-width: 1024px){.wrap .secnin_content_cell,.secnin_content_wrapper{display:block;height:auto}#secnin_content_top{width:auto}.wrap #sidebar-container{width:auto;padding:0;margin-top:20px;display:block}}.secnin_content_cell{display:table-cell;height:500px;margin:0;padding:0px 10px 0px 0px;vertical-align:top}#sidebar-container{width:260px;padding:20px 0px 10px 20px}#sidebar-container .linklist{padding-left:20px}#sidebar-container .linklist li{list-style-type:square}#sidebar-container .linklist li a{text-decoration:none}#sidebar-container .linklist li a:hover{text-decoration:underline}#wf-sn-tabs .nav-tab:first-of-type{margin-left:0}#sn_tabscont{margin:0;padding:0;vertical-align:top;display:table-cell}.wf-sn-tab{display:none}.wf-sn-tab.active{display:block}.testresults p{max-width:800px;margin-bottom:10px}#wf-sn-tabs .nav-tab.profeature.nav-tab-active{opacity:1}#wf-sn-tabs .nav-tab.profeature{opacity:0.3}#wf-sn-tabs .nav-tab.hide{display:none}#wf-sn-tabs .nav-tab.profeature:hover{opacity:0.8}.toplevel_page_wf-sn .ui-tabs-anchor,.nav-tab-wrapper .nav-tab:focus{outline:none !important}.logoleft{float:left;margin-right:10px;padding-top:8px}.toplevel_page_wf-sn .ui-tabs ul.ui-tabs-nav li{border-color:#DFDFDF #DFDFDF #FFFFFF;border-radius:3px 3px 0 0;border-style:solid;border-width:1px 1px 0;color:#AAAAAA;display:inline-block;font-size:12px;line-height:16px;margin:5px 5px -1px 5px;text-decoration:none;text-shadow:0 1px 0 #FFFFFF}.toplevel_page_wf-sn .sn-untested,.toplevel_page_wf-sn .sn-error,.toplevel_page_wf-sn .sn-warning,.toplevel_page_wf-sn .sn-success{padding:2px 6px;margin-bottom:2px;border-radius:4px;-moz-border-radius:4px;-webkit-border-radius:4px;text-align:center;color:#fff;float:left;min-width:60px}.toplevel_page_wf-sn .sn-error{background:#ea2327}.toplevel_page_wf-sn .sn-warning{background:#ff9900}.toplevel_page_wf-sn .sn-success{background:#99cc66}.toplevel_page_wf-sn .sn-untested{background:#ececec;color:#c1c1c1}span.sn-result-details{background:#f1f1f1;clear:both;float:left;padding:2px;margin-left:80px}.toplevel_page_wf-sn .ui-tabs .widefat td{vertical-align:middle !important}.toplevel_page_wf-sn .ui-tabs .widefat th{font-weight:normal}.toplevel_page_wf-sn .sn-status,.sn-details{width:90px}.toplevel_page_wf-sn #sn-tests-help ul{list-style-position:inside;list-style-type:circle}.toplevel_page_wf-sn #loading_animation{margin-top:20px}.toplevel_page_wf-sn pre{background:none repeat scroll 0 0 #f1f1f1;display:inline-block;padding:10px;margin:2px;white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}.toplevel_page_wf-sn .blockMsg{border:none !important;padding:15px !important;background-color:#000 !important;color:#fff !important;border-radius:10px !important;font-weight:bold !important}.toplevel_page_wf-sn .wrap{margin:10px 2px 0 2px}.wf-sn-title h2 img{max-height:60px;margin:0 auto;display:block}.toplevel_page_wf-sn .sn-list{list-style-position:inside;list-style-type:disc;margin-left:10px;font-size:14px}.toplevel_page_wf-sn .sn-list ul{list-style-position:inside;list-style-type:circle;margin-left:10px}.toplevel_page_wf-sn .promo_tab:after{content:'\f502';display:inline-block;color:#49a0d8;font-family:'dashicons';position:absolute;top:-19px;right:-10px;font-size:20px}.toplevel_page_wf-sn .sidebar p{font-size:14px}.toplevel_page_wf-sn .green{color:#99cc66}.toplevel_page_wf-sn .orange{color:#ff9900}.toplevel_page_wf-sn .sn-error,.toplevel_page_wf-sn .sn-warning,.toplevel_page_wf-sn .sn-success{text-transform:uppercase;display:inline-block}html.sn-overlay-active{padding-top:0px;overflow:hidden}.security-ninja_page_wf-sn-debug #wpadminbar.sn-overlay-active,.security-ninja_page_wf-sn-tools #wpadminbar.sn-overlay-active,.toplevel_page_wf-sn #wpadminbar.sn-overlay-active{display:none}.security-ninja_page_wf-sn-debug #sn_overlay.open,.security-ninja_page_wf-sn-tools #sn_overlay.open,.toplevel_page_wf-sn #sn_overlay.open{display:block}.security-ninja_page_wf-sn-debug #sn_overlay,.security-ninja_page_wf-sn-tools #sn_overlay,.toplevel_page_wf-sn #sn_overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#f9f9f9;z-index:99999}.security-ninja_page_wf-sn-debug #sn_overlay.sn-overlay-active,.security-ninja_page_wf-sn-tools #sn_overlay.sn-overlay-active,.toplevel_page_wf-sn #sn_overlay.sn-overlay-active{display:block}.security-ninja_page_wf-sn-debug #sn_overlay .sn-overlay-wrapper,.security-ninja_page_wf-sn-tools #sn_overlay .sn-overlay-wrapper,.toplevel_page_wf-sn #sn_overlay .sn-overlay-wrapper{position:relative;width:100%}.security-ninja_page_wf-sn-debug #sn_overlay .wf-sn-overlay-outer,.security-ninja_page_wf-sn-tools #sn_overlay .wf-sn-overlay-outer,.toplevel_page_wf-sn #sn_overlay .wf-sn-overlay-outer{overflow-y:auto;height:500px;padding-top:0px}.security-ninja_page_wf-sn-debug #sn_overlay .sn-overlay-wrapper .inner,.security-ninja_page_wf-sn-tools #sn_overlay .sn-overlay-wrapper .inner,.toplevel_page_wf-sn #sn_overlay .sn-overlay-wrapper .inner{margin:50px 20px 50px 20px}.security-ninja_page_wf-sn-debug #sn_overlay .wf-sn-title h2,.security-ninja_page_wf-sn-tools #sn_overlay .wf-sn-title h2,.toplevel_page_wf-sn #sn_overlay .wf-sn-title h2{margin:20px !important}.security-ninja_page_wf-sn-debug #sn_overlay .wf-sn-overlay-content,.security-ninja_page_wf-sn-tools #sn_overlay .wf-sn-overlay-content,.toplevel_page_wf-sn #sn_overlay .wf-sn-overlay-content{text-align:center;max-width:800px;margin:0 auto}.security-ninja_page_wf-sn-debug #sn_overlay .wf-sn-overlay-content h3,.security-ninja_page_wf-sn-tools #sn_overlay .wf-sn-overlay-content h3,.toplevel_page_wf-sn #sn_overlay .wf-sn-overlay-content h3{text-align:center;margin:30px 0px;font-size:30px;font-weight:300;line-height:40px}.security-ninja_page_wf-sn-debug #sn_overlay .wf-sn-overlay-content .loader,.security-ninja_page_wf-sn-tools #sn_overlay .wf-sn-overlay-content .loader,.toplevel_page_wf-sn #sn_overlay .wf-sn-overlay-content .loader{text-align:center;display:inline-block}.security-ninja_page_wf-sn-debug #sn_overlay .toggle-close .dashicons-before:before,.security-ninja_page_wf-sn-tools #sn_overlay .toggle-close .dashicons-before:before,.toplevel_page_wf-sn #sn_overlay .toggle-close .dashicons-before:before{line-height:40px;padding-right:10px}.security-ninja_page_wf-sn-debug #sn_overlay .wf-sn-overlay-content .content p,.security-ninja_page_wf-sn-tools #sn_overlay .wf-sn-overlay-content .content p,.toplevel_page_wf-sn #sn_overlay .wf-sn-overlay-content .content p{text-align:left}.security-ninja_page_wf-sn-debug #sn_overlay .wf-sn-overlay-content .content h3,.security-ninja_page_wf-sn-tools #sn_overlay .wf-sn-overlay-content .content h3,.toplevel_page_wf-sn #sn_overlay .wf-sn-overlay-content .content h3{margin:0px}.toplevel_page_wf-sn #sn_overlay .wf-sn-overlay-content .content{padding:10px 30px;box-sizing:border-box}.toplevel_page_wf-sn #sn_overlay .malware-scan-list{margin:0 auto;max-width:500px;width:100%}.toplevel_page_wf-sn #sn_overlay .malware-scan-list li{width:100%;display:block;padding:0px 10px;box-sizing:border-box;background:#c3c7ce;color:#fff;font-weight:300;text-align:left;line-height:40px;margin:10px 0px}.toplevel_page_wf-sn #sn_overlay .malware-scan-list li span.badge{float:right;text-align:right}.toplevel_page_wf-sn #sn_overlay .malware-scan-list li:after{clear:both;display:block;content:''}.toplevel_page_wf-sn #sn_overlay .malware-scan-list li.passed{background:#86c95d}.toplevel_page_wf-sn #sn_overlay .malware-scan-list li.current{background:#ffa800;position:relative;margin:20px 0px;color:#000000;padding-bottom:10px}.toplevel_page_wf-sn #sn_overlay .malware-scan-list li.pending{background:#c3c7ce}.toplevel_page_wf-sn #sn_overlay .malware-scan-list li.separator{text-align:center;background:url("../images/dots32.gif") center center no-repeat;line-height:20px}.toplevel_page_wf-sn #sn_overlay .malware-scan-list li.current:before{text-align:center;background:url("../images/dots32.gif") center center no-repeat;width:100%;height:20px;position:absolute;top:-20px;content:'';display:block}.toplevel_page_wf-sn #sn_overlay .malware-scan-list li.current:after{text-align:center;background:url("../images/dots32.gif") center center no-repeat;width:100%;height:20px;position:absolute;bottom:-20px;content:'';display:block}.toplevel_page_wf-sn #sn_overlay .malware-scan-list li.separator span.circle{display:inline-block;vertical-align:middle;width:8px;height:8px;border-radius:50%;overflow:hidden;background:#c3c7ce;margin:0px 3px}.toplevel_page_wf-sn p.center{text-align:center}.addon-ad td:last-child{vertical-align:top;padding-top:13px}.addon-ad td img{border:1px solid #333}#counters span{display:inline-block;margin:15px 0;font-size:40px;line-height:20px;font-weight:bold;text-align:center;width:24%}#counters span i{display:inline-block;margin:0;padding:0;font-size:13px;line-height:13px;font-weight:normal;color:#444}#counters span.good{color:#99cc66;border-right:1px solid #cccccc}#counters span.warning{color:#ff9900;border-right:1px solid #cccccc}#counters span.bad{color:#ea2327}#counters span.score{color:#111;border-left:1px solid #cccccc}#test-details-dialog p:first-of-type{margin-top:0}#test-details-dialog.ui-dialog-content{padding:25px 25px 20px 25px}#test-details-dialog.ui-dialog-content h3{color:#444444}.sn-dialog .ui-dialog-titlebar{padding:7px 36px 7px 16px;height:inherit}.sn-dialog .ui-button.ui-dialog-titlebar-close{top:9px}#test-details-dialog ul{list-style:disc;list-style-position:inside}.toplevel_page_wf-sn .wp-dialog .ui-dialog-title{padding:3px 18px 5px 3px !important}.sn-fixer{text-align:center;color:#727272}.sn-fixer-message-box-wrapper{position:fixed;width:100%;height:100%;top:0;left:0;display:none;background:rgba(255,255,255,0.67)}.sn-fixer-message-box{width:600px;padding:10px;box-sizing:border-box;border:1px solid #CCC;position:absolute;top:50%;left:50%;margin-top:-100px;margin-left:-240px;background:#FFF;display:block;box-shadow:0px 6px 10px -1px rgba(0,0,0,0.19)}.sn-fixer-cancel,.sn-fixer-apply,.sn-fixer-finish{padding:4px;background:#cccccc;font-weight:600;padding:3px 12px;margin-bottom:2px;border-radius:4px;-moz-border-radius:4px;-webkit-border-radius:4px;text-align:center;color:#fff;float:left;min-width:60px;text-transform:uppercase;display:block;cursor:pointer}.sn-fixer-apply,.sn-fixer-finish{background:#99cc66;float:right}.sn-fixer-cancel:hover,.sn-fixer-apply:hover,.sn-fixer-finish:hover{opacity:0.8}.sn-fixer-loader{background:url("../images/ajax-loader.gif");background-position:center 20px;background-repeat:no-repeat;padding-bottom:19px;text-align:center;font-size:14px;font-weight:600}.do-optimization-desc-done{font-weight:800}.toggle-wrapper{position:relative;overflow:hidden;display:inline-block}.toggle-wrapper input{position:absolute;left:-99em}.toggle-wrapper .toggle{cursor:pointer;display:inline-block;position:relative;width:121px;height:30px;font-weight:600;background:transparent;border:1px solid #ddd;transition:all 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95)}.toggle-wrapper .toggle:before,.toggle-wrapper .toggle:after{position:absolute;line-height:30px;font-size:14px;z-index:2;transition:all 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95)}.toggle-wrapper .toggle:before{content:"off";left:18px;color:#dddddd}.toggle-wrapper .toggle:after{content:"on";right:20px;color:#dddddd}.toggle-wrapper .toggle_handler{display:inline-block;position:relative;z-index:1;background:#cccccc;color:#ffffff;width:55px;height:24px;top:3px;left:3px;transition:all 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95);transform:translatex(0px)}.toggle-wrapper input:checked+.toggle{background:transparent}.toggle-wrapper input:checked+.toggle:before{color:#bfbfbf}.toggle-wrapper input:checked+.toggle:after{color:#fff}.toggle-wrapper input:checked+.toggle .toggle_handler{width:55px;transform:translatex(60px);background:#007cba}
     1.testresults .nvdlink{font-size:1em}.nav-tab .warn-count{display:inline-block;vertical-align:top;box-sizing:border-box;margin:1px 0 -1px 2px;padding:0 5px;min-width:18px;height:18px;border-radius:9px;background-color:#ca4a1f;color:#fff;font-size:11px;line-height:1.6;text-align:center;z-index:26}.wrap-collabsible h4 span{font-size:.8em}.wrap-collabsible input[type=checkbox]{display:none}.wrap-collabsible .lbl-toggle{display:block;font-size:14px;padding:5px;color:#0776ac;cursor:pointer;border-radius:0;transition:all .25s ease-out}.wrap-collabsible .lbl-toggle:hover{color:#000}.wrap-collabsible .lbl-toggle::before{content:' ';display:inline-block;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid currentColor;vertical-align:middle;margin-right:.7rem;-webkit-transform:translateY(-2px);transform:translateY(-2px);transition:-webkit-transform .2s ease-out;transition:transform .2s ease-out;transition:transform .2s ease-out, -webkit-transform .2s ease-out}.wrap-collabsible .toggle:checked+.lbl-toggle{padding-left:10px;background:#ffffff;border-left:1px solid #ccd0d4;border-right:1px solid #ccd0d4;border-top:1px solid #ccd0d4}.wrap-collabsible .toggle:checked+.lbl-toggle::before{-webkit-transform:rotate(90deg) translateX(-3px);transform:rotate(90deg) translateX(-3px)}.wrap-collabsible .collapsible-content{max-height:0;overflow:hidden;transition:max-height .25s ease-in-out}.wrap-collabsible .toggle:checked+.lbl-toggle+.collapsible-content{max-height:100vh;margin-bottom:10px}.wrap-collabsible .toggle:checked+.collapsible-content{border-bottom-right-radius:0;border-bottom-left-radius:0}.wrap-collabsible .collapsible-content .content-inner{background:#ffffff;padding:10px;border-left:1px solid #ccd0d4;border-right:1px solid #ccd0d4;border-bottom:1px solid #ccd0d4}#security-ninja .testing{transition:all 500ms ease-in-out 0.8s}#security-ninja .testing .wf-sn-label,#security-ninja .testing .wf-sn-test-title,#security-ninja .testing .sn-result-details{opacity:0.2}#secninja-tests-quickselect{margin-bottom:10px;float:left;clear:both;width:100%}#secninja-tests-quickselect span{float:left;margin-right:10px}#secninja-tests-quickselect ul{list-style-type:none;float:left;margin-top:0px;margin-bottom:0px}#secninja-tests-quickselect ul li{float:left;margin-right:10px}#secninja-tests-quickselect ul li a{color:#555}#security-ninja table .test label:hover{font-weight:bold}#testtimedetails{margin-bottom:10px;font-size:.8em;clear:both;float:left;width:100%;display:none}.testresults .exlink:before{content:"\f103";font-family:dashicons;display:inline-block;line-height:1;font-weight:400;font-style:normal;speak:none;margin-right:5px}.testresults p.vulnDetails{font-size:1em}.testresults .vulnrecommendation{background:#fddc2d;padding:5px 10px 5px 10px;background:#fff;border:1px solid #ccd0d4;border-left:4px solid #dc3232;box-shadow:0 1px 1px rgba(0,0,0,0.04);margin:5px 15px 2px 5px;padding:1px 12px}#sn_vuln h3 span.ver{font-size:.7em;color:#949494}.secnin_content_wrapper .card{max-width:initial}.secnin_content_wrapper .health-check-wp-paths-sizes.spinner{display:none}.test_details{line-height:25px}#wf-sn-last-action{font-weight:bold}.wf-sn-label{margin-right:10px}.wf-sn-test-row-status-10 .button{opacity:0.3}.wf-sn-test-row-status-10 .button:hover{opacity:1}.wf-sn-test-title{display:table-cell;font-size:1.2em;font-weight:500;line-height:23px}#mscounterseconds,#mscounterminutes{font-size:1.3em;font-family:Consolas,Monaco,monospace;margin-bottom:10px;font-weight:bold}ul.salenotices{list-style-type:square;padding-left:20px}#sidebar-container .button.button-primary.button-hero{width:100%;margin-bottom:0px;text-align:center}.wfsn-review-notice ul{float:left;width:100%;margin-bottom:10px}.wfsn-review-notice ul li{float:left;line-height:30px;margin-right:30px}.wfsn-review-notice ul li .dashicons{line-height:30px;margin-right:5px}.checkmarks li:before{content:'✓';margin-right:5px;font-weight:bold;font-size:1.1em}#auto-fixer-content-cont{display:none}.secnotice{margin:5px 0 15px;background:#fff;border-left:4px solid #fff;box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);padding:1px 12px}.secnotice-warning{border-left-color:#dc3232}.tabtext{width:49%;float:left}.wrap h1 span{font-size:.8em}.wrap h1{margin-bottom:20px}.tabimage{max-width:1000px;float:right;width:58%;position:relative;border:1px solid #cccccc;background:#ffffff;padding:2px;margin-left:20px}.countryimg{margin:4px 4px 0px 4px}.security-test-list li:before{content:"\f344";font-family:'dashicons';display:inline-block;line-height:1;font-weight:400;position:relative;font-size:16px;position:absolute;left:0px;top:2px}.security-test-list li{font-size:16px;position:relative;padding-left:20px;margin-bottom:10px}.fomcont p{font-size:1.2em}.sidebarsection a.trial-button{text-align:center;background-color:#67a100;font-size:1.2em;width:100%;height:auto;padding-bottom:.4em;padding-top:0.4em;border-color:#67a100 #66a100 #66a100;text-shadow:0px 0px 0px;box-shadow:0 1px 0 #416700}.sidebarsection a.trial-button:hover{background-color:#588a00;border-color:#588a00}.mainsection{background:#fff;border-bottom:0px;padding:20px 10px 20px 10px;border-bottom:1px solid #ddd;margin-bottom:20px}.sidebarsection{padding:20px 10px 20px 10px;border-bottom:1px solid #ddd;margin-bottom:20px}.sidebarsection.feature{background:#fff;border-bottom:0px}.sidebarsection h3:first-of-type{margin-top:0px}.testresults{margin-top:10px;padding:10px;margin-bottom:20px}.sidebarsection:last-of-type{border-bottom:0px;margin-bottom:0px}.secnin_content_wrapper{display:table;width:100%;table-layout:fixed}.secnin_content_wrapper .button-hero{margin-top:15px;margin-bottom:15px}@media screen and (max-width: 782px){.ss-details-sn,.ss-details-cs{display:none}}@media screen and (max-width: 1024px){.wrap .secnin_content_cell,.secnin_content_wrapper{display:block;height:auto}#secnin_content_top{width:auto}.wrap #sidebar-container{width:auto;padding:0;margin-top:20px;display:block}}.secnin_content_cell{display:table-cell;height:500px;margin:0;padding:0px 10px 0px 0px;vertical-align:top}#sidebar-container{width:260px;padding:20px 0px 10px 20px}#sidebar-container .linklist{padding-left:20px}#sidebar-container .linklist li{list-style-type:square}#sidebar-container .linklist li a{text-decoration:none}#sidebar-container .linklist li a:hover{text-decoration:underline}#wf-sn-tabs .nav-tab:first-of-type{margin-left:0}#sn_tabscont{margin:0;padding:0;vertical-align:top;display:table-cell}.wf-sn-tab{display:none}.wf-sn-tab.active{display:block}.testresults p{max-width:800px;margin-bottom:10px}#wf-sn-tabs .nav-tab.profeature.nav-tab-active{opacity:1}#wf-sn-tabs .nav-tab.profeature{opacity:0.3}#wf-sn-tabs .nav-tab.hide{display:none}#wf-sn-tabs .nav-tab.profeature:hover{opacity:0.8}.toplevel_page_wf-sn .ui-tabs-anchor,.nav-tab-wrapper .nav-tab:focus{outline:none !important}.logoleft{float:left;margin-right:10px;padding-top:8px}.toplevel_page_wf-sn .ui-tabs ul.ui-tabs-nav li{border-color:#DFDFDF #DFDFDF #FFFFFF;border-radius:3px 3px 0 0;border-style:solid;border-width:1px 1px 0;color:#AAAAAA;display:inline-block;font-size:12px;line-height:16px;margin:5px 5px -1px 5px;text-decoration:none;text-shadow:0 1px 0 #FFFFFF}.toplevel_page_wf-sn .sn-untested,.toplevel_page_wf-sn .sn-error,.toplevel_page_wf-sn .sn-warning,.toplevel_page_wf-sn .sn-success{padding:2px 6px;margin-bottom:2px;border-radius:4px;-moz-border-radius:4px;-webkit-border-radius:4px;text-align:center;color:#fff;float:left;min-width:60px}.toplevel_page_wf-sn .sn-error{background:#ea2327}.toplevel_page_wf-sn .sn-warning{background:#ff9900}.toplevel_page_wf-sn .sn-success{background:#99cc66}.toplevel_page_wf-sn .sn-untested{background:#ececec;color:#c1c1c1}.column-primary .testdesc{margin-top:10px}.toplevel_page_wf-sn .ui-tabs .widefat td{vertical-align:middle !important}.toplevel_page_wf-sn .ui-tabs .widefat th{font-weight:normal}.toplevel_page_wf-sn .sn-status,.sn-details{width:90px;float:right}span.sn-result-details{clear:both;float:left}.toplevel_page_wf-sn #sn-tests-help ul{list-style-position:inside;list-style-type:circle}.toplevel_page_wf-sn #loading_animation{margin-top:20px}.toplevel_page_wf-sn pre{background:none repeat scroll 0 0 #f1f1f1;display:inline-block;padding:10px;margin:2px;white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}.toplevel_page_wf-sn .blockMsg{border:none !important;padding:15px !important;background-color:#000 !important;color:#fff !important;border-radius:10px !important;font-weight:bold !important}.toplevel_page_wf-sn .wrap{margin:10px 2px 0 2px}.wf-sn-title h2 img{max-height:60px;margin:0 auto;display:block}.toplevel_page_wf-sn .sn-list{list-style-position:inside;list-style-type:disc;margin-left:10px;font-size:14px}.toplevel_page_wf-sn .sn-list ul{list-style-position:inside;list-style-type:circle;margin-left:10px}.toplevel_page_wf-sn .promo_tab:after{content:'\f502';display:inline-block;color:#49a0d8;font-family:'dashicons';position:absolute;top:-19px;right:-10px;font-size:20px}.toplevel_page_wf-sn .sidebar p{font-size:14px}.toplevel_page_wf-sn .green{color:#99cc66}.toplevel_page_wf-sn .orange{color:#ff9900}.toplevel_page_wf-sn .sn-error,.toplevel_page_wf-sn .sn-warning,.toplevel_page_wf-sn .sn-success{text-transform:uppercase;display:inline-block}html.sn-overlay-active{padding-top:0px;overflow:hidden}.security-ninja_page_wf-sn-debug #wpadminbar.sn-overlay-active,.security-ninja_page_wf-sn-tools #wpadminbar.sn-overlay-active,.toplevel_page_wf-sn #wpadminbar.sn-overlay-active{display:none}.security-ninja_page_wf-sn-debug #sn_overlay.open,.security-ninja_page_wf-sn-tools #sn_overlay.open,.toplevel_page_wf-sn #sn_overlay.open{display:block}.security-ninja_page_wf-sn-debug #sn_overlay,.security-ninja_page_wf-sn-tools #sn_overlay,.toplevel_page_wf-sn #sn_overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background-color:#f9f9f9;z-index:99999}.security-ninja_page_wf-sn-debug #sn_overlay.sn-overlay-active,.security-ninja_page_wf-sn-tools #sn_overlay.sn-overlay-active,.toplevel_page_wf-sn #sn_overlay.sn-overlay-active{display:block}.security-ninja_page_wf-sn-debug #sn_overlay .sn-overlay-wrapper,.security-ninja_page_wf-sn-tools #sn_overlay .sn-overlay-wrapper,.toplevel_page_wf-sn #sn_overlay .sn-overlay-wrapper{position:relative;width:100%}.security-ninja_page_wf-sn-debug #sn_overlay .wf-sn-overlay-outer,.security-ninja_page_wf-sn-tools #sn_overlay .wf-sn-overlay-outer,.toplevel_page_wf-sn #sn_overlay .wf-sn-overlay-outer{overflow-y:auto;height:500px;padding-top:0px}.security-ninja_page_wf-sn-debug #sn_overlay .sn-overlay-wrapper .inner,.security-ninja_page_wf-sn-tools #sn_overlay .sn-overlay-wrapper .inner,.toplevel_page_wf-sn #sn_overlay .sn-overlay-wrapper .inner{margin:50px 20px 50px 20px}.security-ninja_page_wf-sn-debug #sn_overlay .wf-sn-title h2,.security-ninja_page_wf-sn-tools #sn_overlay .wf-sn-title h2,.toplevel_page_wf-sn #sn_overlay .wf-sn-title h2{margin:20px !important}.security-ninja_page_wf-sn-debug #sn_overlay .wf-sn-overlay-content,.security-ninja_page_wf-sn-tools #sn_overlay .wf-sn-overlay-content,.toplevel_page_wf-sn #sn_overlay .wf-sn-overlay-content{text-align:center;max-width:800px;margin:0 auto}.security-ninja_page_wf-sn-debug #sn_overlay .wf-sn-overlay-content h3,.security-ninja_page_wf-sn-tools #sn_overlay .wf-sn-overlay-content h3,.toplevel_page_wf-sn #sn_overlay .wf-sn-overlay-content h3{text-align:center;margin:30px 0px;font-size:30px;font-weight:300;line-height:40px}.security-ninja_page_wf-sn-debug #sn_overlay .wf-sn-overlay-content .loader,.security-ninja_page_wf-sn-tools #sn_overlay .wf-sn-overlay-content .loader,.toplevel_page_wf-sn #sn_overlay .wf-sn-overlay-content .loader{text-align:center;display:inline-block}.security-ninja_page_wf-sn-debug #sn_overlay .toggle-close .dashicons-before:before,.security-ninja_page_wf-sn-tools #sn_overlay .toggle-close .dashicons-before:before,.toplevel_page_wf-sn #sn_overlay .toggle-close .dashicons-before:before{line-height:40px;padding-right:10px}.security-ninja_page_wf-sn-debug #sn_overlay .wf-sn-overlay-content .content p,.security-ninja_page_wf-sn-tools #sn_overlay .wf-sn-overlay-content .content p,.toplevel_page_wf-sn #sn_overlay .wf-sn-overlay-content .content p{text-align:left}.security-ninja_page_wf-sn-debug #sn_overlay .wf-sn-overlay-content .content h3,.security-ninja_page_wf-sn-tools #sn_overlay .wf-sn-overlay-content .content h3,.toplevel_page_wf-sn #sn_overlay .wf-sn-overlay-content .content h3{margin:0px}.toplevel_page_wf-sn #sn_overlay .wf-sn-overlay-content .content{padding:10px 30px;box-sizing:border-box}.toplevel_page_wf-sn #sn_overlay .malware-scan-list{margin:0 auto;max-width:500px;width:100%}.toplevel_page_wf-sn #sn_overlay .malware-scan-list li{width:100%;display:block;padding:0px 10px;box-sizing:border-box;background:#c3c7ce;color:#fff;font-weight:300;text-align:left;line-height:40px;margin:10px 0px}.toplevel_page_wf-sn #sn_overlay .malware-scan-list li span.badge{float:right;text-align:right}.toplevel_page_wf-sn #sn_overlay .malware-scan-list li:after{clear:both;display:block;content:''}.toplevel_page_wf-sn #sn_overlay .malware-scan-list li.passed{background:#86c95d}.toplevel_page_wf-sn #sn_overlay .malware-scan-list li.current{background:#ffa800;position:relative;margin:20px 0px;color:#000000;padding-bottom:10px}.toplevel_page_wf-sn #sn_overlay .malware-scan-list li.pending{background:#c3c7ce}.toplevel_page_wf-sn #sn_overlay .malware-scan-list li.separator{text-align:center;background:url("../images/dots32.gif") center center no-repeat;line-height:20px}.toplevel_page_wf-sn #sn_overlay .malware-scan-list li.current:before{text-align:center;background:url("../images/dots32.gif") center center no-repeat;width:100%;height:20px;position:absolute;top:-20px;content:'';display:block}.toplevel_page_wf-sn #sn_overlay .malware-scan-list li.current:after{text-align:center;background:url("../images/dots32.gif") center center no-repeat;width:100%;height:20px;position:absolute;bottom:-20px;content:'';display:block}.toplevel_page_wf-sn #sn_overlay .malware-scan-list li.separator span.circle{display:inline-block;vertical-align:middle;width:8px;height:8px;border-radius:50%;overflow:hidden;background:#c3c7ce;margin:0px 3px}.toplevel_page_wf-sn p.center{text-align:center}.addon-ad td:last-child{vertical-align:top;padding-top:13px}.addon-ad td img{border:1px solid #333}#counters span{display:inline-block;margin:15px 0;font-size:40px;line-height:20px;font-weight:bold;text-align:center;width:24%}#counters span i{display:inline-block;margin:0;padding:0;font-size:13px;line-height:13px;font-weight:normal;color:#444}#counters span.good{color:#99cc66;border-right:1px solid #cccccc}#counters span.warning{color:#ff9900;border-right:1px solid #cccccc}#counters span.bad{color:#ea2327}#counters span.score{color:#111;border-left:1px solid #cccccc}#test-details-dialog p:first-of-type{margin-top:0}#test-details-dialog.ui-dialog-content{padding:25px 25px 20px 25px}#test-details-dialog.ui-dialog-content h3{color:#444444}.sn-dialog .ui-dialog-titlebar{padding:7px 36px 7px 16px;height:inherit}.sn-dialog .ui-button.ui-dialog-titlebar-close{top:9px}#test-details-dialog ul{list-style:disc;list-style-position:inside}.toplevel_page_wf-sn .wp-dialog .ui-dialog-title{padding:3px 18px 5px 3px !important}.sn-fixer{text-align:center;color:#727272}.sn-fixer-message-box-wrapper{position:fixed;width:100%;height:100%;top:0;left:0;display:none;background:rgba(255,255,255,0.67)}.sn-fixer-message-box{width:600px;padding:10px;box-sizing:border-box;border:1px solid #CCC;position:absolute;top:50%;left:50%;margin-top:-100px;margin-left:-240px;background:#FFF;display:block;box-shadow:0px 6px 10px -1px rgba(0,0,0,0.19)}.sn-fixer-cancel,.sn-fixer-apply,.sn-fixer-finish{padding:4px;background:#cccccc;font-weight:600;padding:3px 12px;margin-bottom:2px;border-radius:4px;-moz-border-radius:4px;-webkit-border-radius:4px;text-align:center;color:#fff;float:left;min-width:60px;text-transform:uppercase;display:block;cursor:pointer}.sn-fixer-apply,.sn-fixer-finish{background:#99cc66;float:right}.sn-fixer-cancel:hover,.sn-fixer-apply:hover,.sn-fixer-finish:hover{opacity:0.8}.sn-fixer-loader{background:url("../images/ajax-loader.gif");background-position:center 20px;background-repeat:no-repeat;padding-bottom:19px;text-align:center;font-size:14px;font-weight:600}.do-optimization-desc-done{font-weight:800}.toggle-wrapper{position:relative;overflow:hidden;display:inline-block}.toggle-wrapper input{position:absolute;left:-99em}.toggle-wrapper .toggle{cursor:pointer;display:inline-block;position:relative;width:121px;height:30px;font-weight:600;background:transparent;border:1px solid #ddd;transition:all 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95)}.toggle-wrapper .toggle:before,.toggle-wrapper .toggle:after{position:absolute;line-height:30px;font-size:14px;z-index:2;transition:all 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95)}.toggle-wrapper .toggle:before{content:"off";left:18px;color:#dddddd}.toggle-wrapper .toggle:after{content:"on";right:20px;color:#dddddd}.toggle-wrapper .toggle_handler{display:inline-block;position:relative;z-index:1;background:#cccccc;color:#ffffff;width:55px;height:24px;top:3px;left:3px;transition:all 200ms cubic-bezier(0.445, 0.05, 0.55, 0.95);-webkit-transform:translatex(0px);transform:translatex(0px)}.toggle-wrapper input:checked+.toggle{background:transparent}.toggle-wrapper input:checked+.toggle:before{color:#bfbfbf}.toggle-wrapper input:checked+.toggle:after{color:#fff}.toggle-wrapper input:checked+.toggle .toggle_handler{width:55px;-webkit-transform:translatex(60px);transform:translatex(60px);background:#007cba}
    22/*# sourceMappingURL=sn-style.css.map */
  • security-ninja/trunk/css/min/sn-style.css.map

    r2469061 r2666384  
    1 {"version":3,"sources":["../sn-style.scss"],"names":[],"mappings":"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","file":"sn-style.css"}
     1{"version":3,"sources":["../sn-style.scss"],"names":[],"mappings":"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","file":"sn-style.css"}
  • security-ninja/trunk/css/sn-style.scss

    r2469061 r2666384  
    107107        font-weight: bold;
    108108    }
    109 
     109/*
    110110    #testtimedetails .spinner {
    111111        float: left;
    112112        margin-top: 0px;
    113113    }
    114 
     114*/
    115115    #testtimedetails {
    116116        margin-bottom: 10px;
     
    119119        float: left;
    120120        width: 100%;
     121display: none;
    121122    }
    122123
     
    554555}
    555556
    556 span.sn-result-details {
    557     background: #f1f1f1;
    558     clear: both;
    559     float: left;
    560     padding: 2px;
    561     margin-left: 80px;
    562 }
     557
     558.column-primary .testdesc {
     559    margin-top: 10px;
     560}
     561
    563562
    564563.toplevel_page_wf-sn .ui-tabs .widefat td  {
     
    573572.sn-details {
    574573    width: 90px;
    575 
    576 }
     574float: right;
     575}
     576
     577span.sn-result-details {
     578    clear: both;
     579    float: left;
     580}
     581
    577582/*
    578583.toplevel_page_wf-sn #security-ninja th, #sn-tests-help th {
  • security-ninja/trunk/js/min/sn-common-min.js

    r2469061 r2666384  
    1 "use strict";function sn_block_ui(e){jQuery("html.wp-toolbar").addClass("sn-overlay-active"),jQuery("#wpadminbar").addClass("sn-overlay-active"),jQuery("#sn_overlay .wf-sn-overlay-outer").css("height",jQuery(window).height()-200+"px"),jQuery("#sn_overlay").show(),e&&jQuery(e,"#sn_overlay").show()}function sn_fix_dialog_close(e){jQuery(".ui-widget-overlay").bind("click",(function(){jQuery("#"+e.target.id).dialog("close")}))}function sn_unblock_ui(e){jQuery("html.wp-toolbar").removeClass("sn-overlay-active"),jQuery("#wpadminbar").removeClass("sn-overlay-active"),jQuery("#sn_overlay").hide(),e&&jQuery(e,"#sn_overlay").hide()}function wfsn_freemius_opt_in(e){var t=jQuery("#wfsn-freemius-opt-nonce").val(),s=jQuery(e).data("opt");jQuery.ajax({type:"POST",url:ajaxurl,async:!0,data:{action:"wfsn_freemius_opt_in",opt_nonce:t,choice:s},success:function(e){location.reload()},error:function(e,t,s){console.log(e.statusText),console.log(t),console.log(s)}})}jQuery(document).ready((function(){function e(t,s,a){var n=s[t];jQuery(".test_"+n).addClass("testing"),jQuery(".test_"+n+" .spinner").addClass("is-active"),jQuery(".test_"+n+" .sn-result-details").hide(),jQuery.ajax({type:"POST",url:ajaxurl,data:{_ajax_nonce:wf_sn.nonce_run_tests,testarr:s,action:"sn_run_single_test",stepid:t},dataType:"json",success:function(t){jQuery(".test_"+n+" .spinner").removeClass("is-active"),jQuery(".test_"+n+" .wf-sn-label").replaceWith(t.data.label).fadeIn("slow"),jQuery(".test_"+n).removeClass("testing");var r=t.data.msg;t.data.details&&(r=r+" "+t.data.details),jQuery(".test_"+n+" .sn-result-details").replaceWith('<span class="sn-result-details">'+r+"</span>").fadeIn("slow"),jQuery(".test_"+n).removeClass("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-"+t.data.status),jQuery(".test_"+n+' input[type="checkbox"]').prop("checked",!1),t.data.scores.output&&jQuery("#testscores").html(t.data.scores.output),"-1"==t.data.nexttest||parseInt(t.data.nexttest)>0&&e(parseInt(t.data.nexttest),s,a)}}).fail((function(e){window.console&&window.console.log&&window.console.log(e.statusCode+" "+e.statusText)}))}jQuery(document).on("click","#run-selected-tests",(function(t){t.preventDefault(),jQuery("#run-selected-tests").attr("disabled",!0);var s=[],a="";jQuery("input[name='sntest[]']").each((function(){this.checked&&(a=jQuery(this).val(),jQuery(".test_"+a).addClass("testing"),jQuery(".test_"+a+" .spinner").addClass("is-active"),jQuery(".test_"+a+" .sn-result-details").hide(),s.push(a))})),e(0,s,self),jQuery("#run-selected-tests").attr("disabled",!1)})),jQuery(document).on("click","#sn-quickselect-all",(function(e){e.preventDefault(),jQuery("#security-ninja :checkbox").prop("checked",!0),jQuery("#security-ninja tr.test").fadeIn("fast")})),jQuery(document).on("click","#sn-quickselect-failed",(function(e){e.preventDefault(),jQuery("#security-ninja :checkbox").prop("checked",!1),jQuery("#security-ninja .wf-sn-test-row-status-0 :checkbox").prop("checked",!0),jQuery("#security-ninja .wf-sn-test-row-status-null").fadeOut("fast"),jQuery("#security-ninja .wf-sn-test-row-status-10").fadeOut("fast"),jQuery("#security-ninja .wf-sn-test-row-status-5").fadeOut("fast"),jQuery("#security-ninja .wf-sn-test-row-status-0").fadeIn("fast")})),jQuery(document).on("click","#sn-quickselect-warning",(function(e){e.preventDefault(),jQuery("#security-ninja :checkbox").prop("checked",!1),jQuery("#security-ninja .wf-sn-test-row-status-5 :checkbox").prop("checked",!0),jQuery("#security-ninja .wf-sn-test-row-status-null").fadeOut("fast"),jQuery("#security-ninja .wf-sn-test-row-status-10").fadeOut("fast"),jQuery("#security-ninja .wf-sn-test-row-status-0").fadeOut("fast"),jQuery("#security-ninja .wf-sn-test-row-status-5").fadeIn("fast")})),jQuery(document).on("click","#sn-quickselect-okay",(function(e){e.preventDefault(),jQuery("#security-ninja :checkbox").prop("checked",!1),jQuery("#security-ninja .wf-sn-test-row-status-10 :checkbox").prop("checked",!0),jQuery("#security-ninja .wf-sn-test-row-status-0").fadeOut("fast"),jQuery("#security-ninja .wf-sn-test-row-status-5").fadeOut("fast"),jQuery("#security-ninja .wf-sn-test-row-status-10").fadeIn("fast"),jQuery("#security-ninja .wf-sn-test-row-status-null").fadeOut("fast")})),jQuery(document).on("click","#sn-quickselect-untested",(function(e){e.preventDefault(),console.log("untested"),jQuery("#security-ninja :checkbox").prop("checked",!1),jQuery("#security-ninja .wf-sn-test-row-status-null :checkbox").prop("checked",!0),jQuery("#security-ninja .wf-sn-test-row-status-0").fadeOut("fast"),jQuery("#security-ninja .wf-sn-test-row-status-5").fadeOut("fast"),jQuery("#security-ninja .wf-sn-test-row-status-10").fadeOut("fast"),jQuery("#security-ninja .wf-sn-test-row-status-null").fadeIn("fast")})),jQuery(".wfsn-dismiss-review-notice, .wfsn-review-notice .notice-dismiss").on("click",(function(){jQuery(this).hasClass("wfsn-reviewlink")||event.preventDefault(),jQuery.post(ajaxurl,{action:"wf_sn_dismiss_review"}),jQuery(".wfsn-review-notice").slideUp().remove()})),jQuery("#test-details-dialog").dialog({dialogClass:"wp-dialog sn-dialog",modal:!0,resizable:!1,zIndex:9999,width:750,height:"auto",hide:"fade",open:function(e,t){sn_fix_dialog_close(e,t)},close:function(){jQuery("#test-details-dialog").html("<p>Please wait.</p>")},show:"fade",autoOpen:!1,closeOnEscape:!0}),jQuery(document).on("click",".openhelpscout",(function(){Beacon("open")}));var t=window.location.hash;if(t){var s=jQuery(window).scrollTop();jQuery("#wf-sn-tabs").find("a").removeClass("nav-tab-active"),jQuery(".wf-sn-tab").removeClass("active"),jQuery('a[href="'+t+'"]').addClass("nav-tab-active").removeClass("hidden"),jQuery(t).addClass("active"),jQuery(this).addClass("nav-tab-active"),jQuery(window).scrollTop(s),jQuery('[name="_wp_http_referer"]').val(window.location)}jQuery("#wf-sn-tabs").tabs({activate:function(e,t){var s=jQuery(window).scrollTop();window.location.hash=t.newPanel.attr("id"),jQuery(window).scrollTop(s)}}).fadeIn("fast"),jQuery("#tabs").tabs({activate:function(){jQuery.cookie("sn_tabs_selected",jQuery("#tabs").tabs("option","active"))},active:jQuery("#tabs").tabs({active:jQuery.cookie("sn_tabs_selected")})}),jQuery("#wf-sn-tabs").find("a").on("click",(function(e){e.preventDefault(),jQuery("#wf-sn-tabs").find("a").removeClass("nav-tab-active"),jQuery(".wf-sn-tab").removeClass("active");var t=jQuery(this).attr("id").replace("-tab",""),s=jQuery("#"+t);s.addClass("active"),jQuery(this).addClass("nav-tab-active"),s.hasClass("nosave")?jQuery("#submit").hide():jQuery("#submit").show();var a=jQuery(window).scrollTop();window.location.hash=t,jQuery(window).scrollTop(a),jQuery('[name="_wp_http_referer"]').val(window.location)})),jQuery(document).on("click","#wf-import-settings-button",(function(){return!!confirm("Are you sure you want to import and overwrite the current settings?")})),jQuery("#abort-scan").on("click",(function(e){e.preventDefault(),window.location.reload()})),jQuery(document).on("click","#sn_tests .sn-details a.button",(function(e){e.preventDefault();var t=jQuery(this).data("test-id"),s=jQuery("#"+t+" .test_name").text(),a=jQuery("#"+t+" .test_description").html();return""===s?(s="Unknown test ID",a="Help is not available for this test. Make sure you have the latest version of Security Ninja installed."):(a='<span class="ui-helper-hidden-accessible"><input type="text"></span><div id="testtimedetails"><span class="spinner"></span></div>'+jQuery("#"+t+" .test_description").html(),a+='<div id="auto-fixer-content-cont"><hr><h3>Auto Fixer</h3><div id="auto-fixer-content"></div></div>'),jQuery("#test-details-dialog").html(a),jQuery("#test-details-dialog").dialog("option",{title:s,test_id:t}).dialog("open"),jQuery(document).trigger("sn_test_details_dialog_open",[t,jQuery(this).data("test-status")]),jQuery("#testtimedetails .spinner").addClass("is-active"),jQuery.ajax({type:"POST",url:ajaxurl,data:{_ajax_nonce:wf_sn.nonce_run_tests,action:"sn_get_single_test_details",testid:t},dataType:"json",success:function(e){e.success&&(e.data.runtime&&jQuery("#testtimedetails").prepend('<span id="runtime"> Runtime: '+e.data.runtime+" sec.</span>"),e.data.timestamp&&jQuery("#testtimedetails").prepend('<span id="lasttest">Last test: '+e.data.timestamp+"</span>")),jQuery("#testtimedetails .spinner").remove()},error:function(){jQuery("#testtimedetails .spinner").remove()}}),!1}))}));
     1"use strict";function sn_block_ui(e){jQuery("html.wp-toolbar").addClass("sn-overlay-active"),jQuery("#wpadminbar").addClass("sn-overlay-active"),jQuery("#sn_overlay .wf-sn-overlay-outer").css("height",jQuery(window).height()-200+"px"),jQuery("#sn_overlay").show(),e&&jQuery(e,"#sn_overlay").show()}function sn_fix_dialog_close(e){jQuery(".ui-widget-overlay").bind("click",(function(){jQuery("#"+e.target.id).dialog("close")}))}function sn_unblock_ui(e){jQuery("html.wp-toolbar").removeClass("sn-overlay-active"),jQuery("#wpadminbar").removeClass("sn-overlay-active"),jQuery("#sn_overlay").hide(),e&&jQuery(e,"#sn_overlay").hide()}function wfsn_freemius_opt_in(e){var t=jQuery("#wfsn-freemius-opt-nonce").val(),s=jQuery(e).data("opt");jQuery.ajax({type:"POST",url:ajaxurl,async:!0,data:{action:"wfsn_freemius_opt_in",opt_nonce:t,choice:s},success:function(e){location.reload()},error:function(e,t,s){console.log(e.statusText),console.log(t),console.log(s)}})}jQuery(document).ready((function(){function e(t,s,a){var n=s[t];jQuery(".test_"+n).addClass("testing"),jQuery(".test_"+n+" .spinner").addClass("is-active"),jQuery(".test_"+n+" .sn-result-details").hide(),jQuery.ajax({type:"POST",url:ajaxurl,data:{_ajax_nonce:wf_sn.nonce_run_tests,testarr:s,action:"sn_run_single_test",stepid:t},dataType:"json",success:function(t){jQuery(".test_"+n+" .spinner").removeClass("is-active"),jQuery(".test_"+n+" .wf-sn-label").replaceWith(t.data.label).fadeIn("slow"),jQuery(".test_"+n).removeClass("testing");var r=t.data.msg;t.data.details&&(r=r+" "+t.data.details),jQuery(".test_"+n+" .sn-result-details").replaceWith('<span class="sn-result-details">'+r+"</span>").fadeIn("slow"),jQuery(".test_"+n).removeClass("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-"+t.data.status),jQuery(".test_"+n+' input[type="checkbox"]').prop("checked",!1),t.data.scores.output&&jQuery("#testscores").html(t.data.scores.output),"-1"==t.data.nexttest||parseInt(t.data.nexttest)>0&&e(parseInt(t.data.nexttest),s,a)}}).fail((function(e){window.console&&window.console.log&&window.console.log(e.statusCode+" "+e.statusText)}))}jQuery(document).on("click","#run-selected-tests",(function(t){t.preventDefault(),jQuery("#run-selected-tests").attr("disabled",!0);var s=[],a="";jQuery("input[name='sntest[]']").each((function(){this.checked&&(a=jQuery(this).val(),jQuery(".test_"+a).addClass("testing"),jQuery(".test_"+a+" .spinner").addClass("is-active"),jQuery(".test_"+a+" .sn-result-details").hide(),s.push(a))})),e(0,s,self),jQuery("#run-selected-tests").attr("disabled",!1)})),jQuery(document).on("click","#sn-quickselect-all",(function(e){e.preventDefault(),jQuery("#security-ninja :checkbox").prop("checked",!0),jQuery("#security-ninja tr.test").fadeIn("fast")})),jQuery(document).on("click","#sn-quickselect-failed",(function(e){e.preventDefault(),jQuery("#security-ninja :checkbox").prop("checked",!1),jQuery("#security-ninja .wf-sn-test-row-status-0 :checkbox").prop("checked",!0),jQuery("#security-ninja .wf-sn-test-row-status-null").fadeOut("fast"),jQuery("#security-ninja .wf-sn-test-row-status-10").fadeOut("fast"),jQuery("#security-ninja .wf-sn-test-row-status-5").fadeOut("fast"),jQuery("#security-ninja .wf-sn-test-row-status-0").fadeIn("fast")})),jQuery(document).on("click","#sn-quickselect-warning",(function(e){e.preventDefault(),jQuery("#security-ninja :checkbox").prop("checked",!1),jQuery("#security-ninja .wf-sn-test-row-status-5 :checkbox").prop("checked",!0),jQuery("#security-ninja .wf-sn-test-row-status-null").fadeOut("fast"),jQuery("#security-ninja .wf-sn-test-row-status-10").fadeOut("fast"),jQuery("#security-ninja .wf-sn-test-row-status-0").fadeOut("fast"),jQuery("#security-ninja .wf-sn-test-row-status-5").fadeIn("fast")})),jQuery(document).on("click","#sn-quickselect-okay",(function(e){e.preventDefault(),jQuery("#security-ninja :checkbox").prop("checked",!1),jQuery("#security-ninja .wf-sn-test-row-status-10 :checkbox").prop("checked",!0),jQuery("#security-ninja .wf-sn-test-row-status-0").fadeOut("fast"),jQuery("#security-ninja .wf-sn-test-row-status-5").fadeOut("fast"),jQuery("#security-ninja .wf-sn-test-row-status-10").fadeIn("fast"),jQuery("#security-ninja .wf-sn-test-row-status-null").fadeOut("fast")})),jQuery(document).on("click","#sn-quickselect-untested",(function(e){e.preventDefault(),jQuery("#security-ninja :checkbox").prop("checked",!1),jQuery("#security-ninja .wf-sn-test-row-status-null :checkbox").prop("checked",!0),jQuery("#security-ninja .wf-sn-test-row-status-0").fadeOut("fast"),jQuery("#security-ninja .wf-sn-test-row-status-5").fadeOut("fast"),jQuery("#security-ninja .wf-sn-test-row-status-10").fadeOut("fast"),jQuery("#security-ninja .wf-sn-test-row-status-null").fadeIn("fast")})),jQuery(".wfsn-dismiss-review-notice, .wfsn-review-notice .notice-dismiss").on("click",(function(){jQuery(this).hasClass("wfsn-reviewlink")||event.preventDefault(),jQuery.post(ajaxurl,{action:"wf_sn_dismiss_review"}),jQuery(".wfsn-review-notice").slideUp().remove()})),jQuery("#test-details-dialog").dialog({dialogClass:"wp-dialog sn-dialog",modal:!0,resizable:!1,zIndex:9999,width:750,height:"auto",hide:"fade",open:function(e,t){sn_fix_dialog_close(e,t)},close:function(){jQuery("#test-details-dialog").html("<p>Please wait.</p>")},show:"fade",autoOpen:!1,closeOnEscape:!0}),jQuery(document).on("click",".openhelpscout",(function(){Beacon("open")}));var t=window.location.hash;if(t){var s=jQuery(window).scrollTop();jQuery("#wf-sn-tabs").find("a").removeClass("nav-tab-active"),jQuery(".wf-sn-tab").removeClass("active"),jQuery('a[href="'+t+'"]').addClass("nav-tab-active").removeClass("hidden"),jQuery(t).addClass("active"),jQuery(this).addClass("nav-tab-active"),jQuery(window).scrollTop(s),jQuery('[name="_wp_http_referer"]').val(window.location)}jQuery("#wf-sn-tabs").tabs({activate:function(e,t){var s=jQuery(window).scrollTop();window.location.hash=t.newPanel.attr("id"),jQuery(window).scrollTop(s)}}).fadeIn("fast"),jQuery("#tabs").tabs({activate:function(){jQuery.cookie("sn_tabs_selected",jQuery("#tabs").tabs("option","active"))},active:jQuery("#tabs").tabs({active:jQuery.cookie("sn_tabs_selected")})}),jQuery("#wf-sn-tabs").find("a").on("click",(function(e){e.preventDefault(),jQuery("#wf-sn-tabs").find("a").removeClass("nav-tab-active"),jQuery(".wf-sn-tab").removeClass("active");var t=jQuery(this).attr("id").replace("-tab",""),s=jQuery("#"+t);s.addClass("active"),jQuery(this).addClass("nav-tab-active"),s.hasClass("nosave")?jQuery("#submit").hide():jQuery("#submit").show();var a=jQuery(window).scrollTop();window.location.hash=t,jQuery(window).scrollTop(a),jQuery('[name="_wp_http_referer"]').val(window.location)})),jQuery(document).on("click","#wf-import-settings-button",(function(){return!!confirm("Are you sure you want to import and overwrite the current settings?")})),jQuery("#abort-scan").on("click",(function(e){e.preventDefault(),window.location.reload()})),jQuery(document).on("click","#sn_tests .sn-details a",(function(e){e.preventDefault(),jQuery(this).remove();var t=jQuery(this).data("test-id"),s=jQuery("#"+t+" .test_name").text(),a=jQuery("#"+t+" .test_description").html();return""===s?(s="Unknown test ID",a="Help is not available for this test. Make sure you have the latest version of Security Ninja installed."):(a='<span class="ui-helper-hidden-accessible"><input type="text"></span><span class="spinner"></span>'+jQuery("#"+t+" .test_description").html(),a+='<div id="auto-fixer-content-cont"><hr><h3>Auto Fixer</h3><div id="auto-fixer-content"></div></div>'),jQuery(".tdesc-test-id-"+t).slideUp().html(a).slideDown("slow"),jQuery("."+t+".testtimedetails").prepend('<div class="spinner is-active"></div>'),jQuery.ajax({type:"POST",url:ajaxurl,data:{_ajax_nonce:wf_sn.nonce_run_tests,action:"sn_get_single_test_details",testid:t},dataType:"json",success:function(e){jQuery("."+t+".testtimedetails .spinner").remove(),e.success&&(e.data.runtime&&jQuery("."+t+".testtimedetails .runtime").html("Runtime: "+e.data.runtime+" sec."),e.data.timestamp&&jQuery("."+t+".testtimedetails .lasttest").html("Last test: "+e.data.timestamp),e.data.timestamp&&jQuery("."+t+".testtimedetails .score").html("Score: "+e.data.score),e.data.timestamp&&jQuery("."+t+".testtimedetails .status").html("Status: "+e.data.status),jQuery("."+t+".testtimedetails").show())},error:function(){jQuery("."+t+".testtimedetails .spinner").remove()}}),!1}))}));
    22//# sourceMappingURL=sn-common-min.js.map
  • security-ninja/trunk/js/min/sn-common-min.js.map

    r2564676 r2666384  
    1 {"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","wfsn_freemius_opt_in","element","nonce","val","choice","data","ajax","type","url","ajaxurl","async","action","opt_nonce","success","location","reload","error","xhr","textStatus","_error","console","log","statusText","document","ready","do_test","stepid","self","testid","_ajax_nonce","wf_sn","nonce_run_tests","testarr","dataType","response","replaceWith","label","fadeIn","outputmsg","msg","details","status","prop","scores","output","html","nexttest","parseInt","fail","statusCode","on","e","preventDefault","attr","checkedtests","thistestid","each","this","checked","push","fadeOut","hasClass","post","slideUp","remove","dialogClass","modal","resizable","zIndex","width","open","ui","close","autoOpen","closeOnEscape","Beacon","hash","scrollPos","scrollTop","find","tabs","activate","newPanel","cookie","active","tabtarget","replace","t","confirm","test_id","name","text","content","title","trigger","runtime","prepend","timestamp"],"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 - 2020\r\n*/\r\n\r\n\r\n// FOR THE SECOND COUNTER ON THE OVERLAY\r\n// ***** tODO - delete\r\n/*\r\nfunction SecScanTimeCounter() {\r\n\t++totalSeconds;\r\n\tsecondsLabel.innerHTML = pad(totalSeconds % 60);\r\n\tminutesLabel.innerHTML = pad(parseInt(totalSeconds / 60));\r\n}\r\n\r\nfunction pad(val) {\r\n\tvar valString = val + \"\";\r\n\tif (valString.length < 2) {\r\n\t\treturn \"0\" + valString;\r\n\t} else {\r\n\t\treturn valString;\r\n\t}\r\n}\r\n\r\nvar minutesLabel = document.getElementById(\"counterminutes\");\r\nvar secondsLabel = document.getElementById(\"counterseconds\");\r\nvar totalSeconds = 0;\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\n/**\r\n* Stores opt-in or opt-out choice for user.\r\n* @param {*} element \r\n*/\r\nfunction wfsn_freemius_opt_in(element) {\r\n\tvar nonce = jQuery('#wfsn-freemius-opt-nonce').val();\r\n\tvar choice = jQuery(element).data('opt');\r\n\t\r\n\tjQuery.ajax({\r\n\t\ttype: 'POST',\r\n\t\turl: ajaxurl,\r\n\t\tasync: true,\r\n\t\tdata: {\r\n\t\t\taction: 'wfsn_freemius_opt_in',\r\n\t\t\topt_nonce: nonce,\r\n\t\t\tchoice: choice\r\n\t\t},\r\n\t\tsuccess: function (data) {\r\n\t\t\tlocation.reload();\r\n\t\t},\r\n\t\terror: function (xhr, textStatus, error) {\r\n\t\t\tconsole.log(xhr.statusText);\r\n\t\t\tconsole.log(textStatus);\r\n\t\t\tconsole.log(error);\r\n\t\t}\r\n\t});\r\n}\r\n\r\njQuery(document).ready(function () {\r\n\t\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\tconsole.log('untested');\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.button', function (e) {\r\n\t\t\te.preventDefault();\r\n\t\t\t\r\n\t\t\tvar test_id = jQuery(this).data('test-id');\r\n\t\t\t\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\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// 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><div id=\"testtimedetails\"><span class=\"spinner\"></span></div>' + 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\tjQuery('#test-details-dialog').html(content);\r\n\t\t\t\r\n\t\t\tjQuery('#test-details-dialog').dialog('option', { title: name, test_id: test_id }).dialog('open');\r\n\t\t\tjQuery(document).trigger('sn_test_details_dialog_open', [test_id, jQuery(this).data('test-status')]);\r\n\t\t\t\r\n\t\t\tjQuery('#testtimedetails .spinner').addClass('is-active');\r\n\t\t\t\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\t\r\n\t\t\t\t\tif (response.success) {\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tif (response.data.runtime) {\r\n\t\t\t\t\t\t\tjQuery('#testtimedetails').prepend('<span id=\"runtime\"> Runtime: ' + response.data.runtime + ' sec.</span>');\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('#testtimedetails').prepend('<span id=\"lasttest\">Last test: ' + response.data.timestamp + '</span>');\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\tjQuery('#testtimedetails .spinner').remove();\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('#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});"]}
     1{"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","wfsn_freemius_opt_in","element","nonce","val","choice","data","ajax","type","url","ajaxurl","async","action","opt_nonce","success","location","reload","error","xhr","textStatus","_error","console","log","statusText","document","ready","do_test","stepid","self","testid","_ajax_nonce","wf_sn","nonce_run_tests","testarr","dataType","response","replaceWith","label","fadeIn","outputmsg","msg","details","status","prop","scores","output","html","nexttest","parseInt","fail","statusCode","on","e","preventDefault","attr","checkedtests","thistestid","each","this","checked","push","fadeOut","hasClass","post","slideUp","remove","dialogClass","modal","resizable","zIndex","width","open","ui","close","autoOpen","closeOnEscape","Beacon","hash","scrollPos","scrollTop","find","tabs","activate","newPanel","cookie","active","tabtarget","replace","t","confirm","test_id","name","text","content","slideDown","prepend","runtime","timestamp","score"],"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 - 2020\r\n*/\r\n\r\n\r\n// FOR THE SECOND COUNTER ON THE OVERLAY\r\n// ***** tODO - delete\r\n/*\r\nfunction SecScanTimeCounter() {\r\n\t++totalSeconds;\r\n\tsecondsLabel.innerHTML = pad(totalSeconds % 60);\r\n\tminutesLabel.innerHTML = pad(parseInt(totalSeconds / 60));\r\n}\r\n\r\nfunction pad(val) {\r\n\tvar valString = val + \"\";\r\n\tif (valString.length < 2) {\r\n\t\treturn \"0\" + valString;\r\n\t} else {\r\n\t\treturn valString;\r\n\t}\r\n}\r\n\r\nvar minutesLabel = document.getElementById(\"counterminutes\");\r\nvar secondsLabel = document.getElementById(\"counterseconds\");\r\nvar totalSeconds = 0;\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\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\r\n\tif (content_el) {\r\n\t\tjQuery(content_el, '#sn_overlay').hide();\r\n\t}\r\n}\r\n\r\n\r\n/**\r\n* Stores opt-in or opt-out choice for user.\r\n* @param {*} element \r\n*/\r\nfunction wfsn_freemius_opt_in(element) {\r\n\tvar nonce = jQuery('#wfsn-freemius-opt-nonce').val();\r\n\tvar choice = jQuery(element).data('opt');\r\n\r\n\tjQuery.ajax({\r\n\t\ttype: 'POST',\r\n\t\turl: ajaxurl,\r\n\t\tasync: true,\r\n\t\tdata: {\r\n\t\t\taction: 'wfsn_freemius_opt_in',\r\n\t\t\topt_nonce: nonce,\r\n\t\t\tchoice: choice\r\n\t\t},\r\n\t\tsuccess: function (data) {\r\n\t\t\tlocation.reload();\r\n\t\t},\r\n\t\terror: function (xhr, textStatus, error) {\r\n\t\t\tconsole.log(xhr.statusText);\r\n\t\t\tconsole.log(textStatus);\r\n\t\t\tconsole.log(error);\r\n\t\t}\r\n\t});\r\n}\r\n\r\njQuery(document).ready(function () {\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\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\r\n\t\tjQuery('#run-selected-tests').attr('disabled', false);\r\n\r\n\t});\r\n\r\n\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\r\n\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\r\n\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\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\r\n\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\r\n\t});\r\n\r\n\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\r\n\t});\r\n\r\n\t// stepid = integer\r\n\t// data = array of tests\r\n\tfunction do_test(stepid, data, self) {\r\n\r\n\t\tlet testid = data[stepid];\r\n\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\r\n\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\r\n\t\t\t\tjQuery('.test_' + testid + ' .spinner').removeClass('is-active');\r\n\r\n\t\t\t\tjQuery('.test_' + testid + ' .wf-sn-label').replaceWith(response.data.label).fadeIn('slow');\r\n\r\n\t\t\t\tjQuery('.test_' + testid).removeClass('testing');\r\n\r\n\t\t\t\tvar outputmsg = response.data.msg;\r\n\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\r\n\t\t\t\tjQuery('.test_' + testid + ' .sn-result-details').replaceWith('<span class=\"sn-result-details\">' + outputmsg + '</span>').fadeIn('slow');\r\n\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\r\n\t\t\t\tjQuery('.test_' + testid + ' input[type=\"checkbox\"]').prop('checked', false);\r\n\r\n\t\t\t\tif (response.data.scores.output) {\r\n\t\t\t\t\tjQuery('#testscores').html(response.data.scores.output);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif ('-1' == response.data.nexttest) {\r\n\t\t\t\t\t//\t\t\t\tjQuery('#counters').text('Testing completed - Reloading...');\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tif (parseInt(response.data.nexttest) > 0) {\r\n\t\t\t\t\t\tdo_test(parseInt(response.data.nexttest), data, self);\r\n\t\t\t\t\t}\r\n\r\n\r\n\t\t\t\t}\r\n\r\n\t\t\t}\r\n\t\t}).fail(function (response) {\r\n\t\t\tif (window.console && window.console.log) {\r\n\t\t\t\twindow.console.log(response.statusCode + ' ' + response.statusText);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t}\r\n\r\n\r\n\tjQuery('.wfsn-dismiss-review-notice, .wfsn-review-notice .notice-dismiss').on('click', function () {\r\n\t\tif (!jQuery(this).hasClass('wfsn-reviewlink')) {\r\n\t\t\tevent.preventDefault();\r\n\t\t}\r\n\t\tjQuery.post(ajaxurl, {\r\n\t\t\taction: 'wf_sn_dismiss_review'\r\n\t\t});\r\n\t\tjQuery('.wfsn-review-notice').slideUp().remove();\r\n\t});\r\n\r\n\r\n\r\n\tjQuery('#test-details-dialog').dialog({\r\n\t\t'dialogClass': 'wp-dialog sn-dialog',\r\n\t\t'modal': true,\r\n\t\t'resizable': false,\r\n\t\t'zIndex': 9999,\r\n\t\t'width': 750,\r\n\t\t'height': 'auto',\r\n\t\t'hide': 'fade',\r\n\t\t'open': function (event, ui) {\r\n\t\t\tsn_fix_dialog_close(event, ui);\r\n\t\t},\r\n\t\t'close': function () {\r\n\t\t\tjQuery('#test-details-dialog').html('<p>Please wait.</p>')\r\n\t\t},\r\n\t\t'show': 'fade',\r\n\t\t'autoOpen': false,\r\n\t\t'closeOnEscape': true\r\n\t});\r\n\r\n\r\n\r\n\r\n\t// Opens Help Scout\r\n\tjQuery(document).on('click', '.openhelpscout', function () {\r\n\t\tBeacon(\"open\");\r\n\t});\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\t// sets the active tab via #hash in URL parameters\r\n\tvar hash = window.location.hash;\r\n\r\n\tif (hash) {\r\n\t\tvar scrollPos = jQuery(window).scrollTop();\r\n\t\t// Change to the right tab\r\n\t\tjQuery(\"#wf-sn-tabs\").find(\"a\").removeClass(\"nav-tab-active\");\r\n\t\tjQuery(\".wf-sn-tab\").removeClass(\"active\");\r\n\r\n\t\tjQuery('a[href=\"' + hash + '\"]').addClass('nav-tab-active').removeClass('hidden');\r\n\t\tjQuery(hash).addClass('active');\r\n\r\n\t\tjQuery(this).addClass(\"nav-tab-active\");\r\n\t\tjQuery(window).scrollTop(scrollPos);\r\n\r\n\t\tjQuery('[name=\"_wp_http_referer\"]').val(window.location);\r\n\t}\r\n\r\n\r\n\r\n\tjQuery('#wf-sn-tabs').tabs({\r\n\t\tactivate: function (event, ui) {\r\n\t\t\t// save current scroll position\r\n\t\t\tvar scrollTop = jQuery(window).scrollTop();\r\n\t\t\t// add hash to url\r\n\t\t\twindow.location.hash = ui.newPanel.attr('id');\r\n\t\t\t// keep scroll at current position\r\n\t\t\tjQuery(window).scrollTop(scrollTop);\r\n\t\t}\r\n\t}).fadeIn('fast');\r\n\r\n\r\n\r\n\r\n\r\n\t// init tabs\r\n\tjQuery('#tabs').tabs({\r\n\t\tactivate: function () {\r\n\t\t\tjQuery.cookie('sn_tabs_selected', jQuery('#tabs').tabs('option', 'active'));\r\n\t\t},\r\n\t\tactive: jQuery('#tabs').tabs({ active: jQuery.cookie('sn_tabs_selected') })\r\n\t});\r\n\r\n\r\n\t// Tab handling\r\n\tjQuery(\"#wf-sn-tabs\").find(\"a\").on('click', function (e) {\r\n\t\te.preventDefault();\r\n\t\tjQuery(\"#wf-sn-tabs\").find(\"a\").removeClass(\"nav-tab-active\"),\r\n\t\t\tjQuery(\".wf-sn-tab\").removeClass(\"active\");\r\n\t\tvar tabtarget = jQuery(this).attr(\"id\").replace(\"-tab\", \"\");\r\n\t\tvar t = jQuery(\"#\" + tabtarget);\r\n\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\tvar scrollPos = jQuery(window).scrollTop();\r\n\t\twindow.location.hash = tabtarget;\r\n\t\tjQuery(window).scrollTop(scrollPos);\r\n\t\tjQuery('[name=\"_wp_http_referer\"]').val(window.location);\r\n\t});\r\n\r\n\r\n\r\n\t// Asks before importing settings\r\n\tjQuery(document).on('click', '#wf-import-settings-button', function () {\r\n\t\tif (!confirm('Are you sure you want to import and overwrite the current settings?')) { //i8n\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t});\r\n\r\n\t// abort scan by refreshing\r\n\tjQuery('#abort-scan').on('click', function (e) {\r\n\t\te.preventDefault();\r\n\t\twindow.location.reload();\r\n\t}); // abort scan\r\n\r\n\r\n\r\n\t// show test details/help/fix dialog\r\n\r\n\tjQuery(document).on('click', '#sn_tests .sn-details a', function (e) {\r\n\t\te.preventDefault();\r\n\r\n\t\tjQuery(this).remove();\r\n\t\tvar test_id = jQuery(this).data('test-id');\r\n\r\n\t\tvar name = jQuery('#' + test_id + ' .test_name').text();\r\n\t\tvar content = jQuery('#' + test_id + ' .test_description').html();\r\n\r\n\t\t// get_single_test_details\r\n\r\n\t\tif (name === '') {\r\n\t\t\tname = 'Unknown test ID';\r\n\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}\r\n\t\telse {\r\n\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\r\n\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// @i8n\r\n\t\t}\r\n\r\n\t\tvar target = '.tdesc-test-id-' + test_id;\r\n\r\n\t\tjQuery(target).slideUp().html(content).slideDown('slow');\r\n\r\n\t\tjQuery('.' + test_id + '.testtimedetails').prepend('<div class=\"spinner is-active\"></div>');\r\n\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'action': 'sn_get_single_test_details',\r\n\t\t\t\t'testid': test_id\r\n\t\t\t},\r\n\t\t\tdataType: \"json\",\r\n\t\t\tsuccess: function (response) {\r\n\t\t\t\tjQuery('.' + test_id + '.testtimedetails .spinner').remove();\r\n\t\t\t\tif (response.success) {\r\n\t\t\t\t\t// todo - target via classes instead - one per test\r\n\t\t\t\t\tif (response.data.runtime) {\r\n\t\t\t\t\t\tjQuery('.' + test_id + '.testtimedetails .runtime').html('Runtime: ' + response.data.runtime + ' sec.');\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (response.data.timestamp) {\r\n\t\t\t\t\t\tjQuery('.' + test_id + '.testtimedetails .lasttest').html('Last test: ' + response.data.timestamp);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (response.data.timestamp) {\r\n\t\t\t\t\t\tjQuery('.' + test_id + '.testtimedetails .score').html('Score: ' + response.data.score);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (response.data.timestamp) {\r\n\t\t\t\t\t\tjQuery('.' + test_id + '.testtimedetails .status').html('Status: ' + response.data.status);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tjQuery('.' + test_id + '.testtimedetails').show();\r\n\r\n\t\t\t\t}\r\n\r\n\r\n\t\t\t},\r\n\t\t\terror: function () {\r\n\t\t\t\tjQuery('.' + test_id + '.testtimedetails .spinner').remove();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\r\n\r\n\r\n\r\n\t\treturn false;\r\n\t}); // show test details dialog\r\n\r\n\r\n\r\n});"]}
  • security-ninja/trunk/misc/sidebar.php

    r2628902 r2666384  
    1212<?php
    1313
    14 if ( !$secnin_fs->is_registered() && !$secnin_fs->is_pending_activation() ) {
     14if ( !$secnin_fs->is_registered() && !$secnin_fs->is_pending_activation() && !is_multisite() ) {
    1515    ?>
    1616    <div class="sidebarsection feature">
     
    105105
    106106?>
    107 
    108 
    109 
    110 <div class="sidebarsection feature">
    111 <h3><span class="dashicons dashicons-welcome-learn-more"></span> Learn more</h3>
    112 <ul class="linklist">
    113 <li><a href="<?php
     107    <div class="sidebarsection feature">
     108        <h3><span class="dashicons dashicons-welcome-learn-more"></span> Learn more</h3>
     109        <ul class="linklist">
     110            <li><a href="<?php
    114111echo  esc_url( wf_sn::generate_sn_web_link( 'sidebar_link', '/security-tests/' ) ) ;
    115112?>" target="_blank" rel="noopener">About the tests</a></li>
    116 
    117 
    118 <li><a href="<?php
     113            <li><a href="<?php
    119114echo  esc_url( wf_sn::generate_sn_web_link( 'sidebar_link', '/why-is-insignificant-small-site-attacked-by-hackers/' ) ) ;
    120115?>" target="_blank" rel="noopener">Even small sites are attacked by hackers</a></li>
    121 
    122 <li><a href="<?php
     116            <li><a href="<?php
    123117echo  esc_url( wf_sn::generate_sn_web_link( 'sidebar_link', '/wordpress-beginner-mistakes/' ) ) ;
    124118?>" target="_blank" rel="noopener">New to WordPress? avoid these beginner mistakes</a></li>
    125 
    126 <li><a href="<?php
     119            <li><a href="<?php
    127120echo  esc_url( wf_sn::generate_sn_web_link( 'sidebar_link', '/your-guide-to-wordpress-password-and-username-security/' ) ) ;
    128121?>" target="_blank" rel="noopener">Guide to Password and Username Security</a></li>
    129 
    130 <li><a href="<?php
     122            <li><a href="<?php
    131123echo  esc_url( wf_sn::generate_sn_web_link( 'sidebar_link', '/signs-wordpress-site-is-hacked/' ) ) ;
    132124?>" target="_blank" rel="noopener">Signs that your site has been hacked</a></li>
    133 
    134 <li><a href="<?php
     125            <li><a href="<?php
    135126echo  esc_url( admin_url( 'admin.php?page=security-ninja-welcome' ) ) ;
    136127?>" rel="noopener">Reopen the welcome page</a></li>
    137 <?php
     128            <?php
    138129?>
    139 
    140 
    141 </ul>
    142 </div>
    143 
    144 
     130        </ul>
     131    </div><!-- .sidebarsection -->
    145132</div><!-- #sidebar-container -->
  • security-ninja/trunk/readme.txt

    r2628902 r2666384  
    55License URI: http://www.gnu.org/licenses/gpl-2.0.html
    66Requires at least: 4.7
    7 Tested up to: 5.8.2
    8 Stable tag: 5.125
     7Tested up to: 5.9
     8Stable tag: 5.129
    99Requires PHP: 5.6
    1010
     
    173173Yes. It's your site you can do whatever you want with it. Running tests on other people's sites is illegal but Security Ninja can only perform tests on the WordPress page it's installed on.
    174174
    175 = It's not working!!! Arrrrrrrrr =
     175= It's not working!!! =
    176176
    177177We did our very best to make Security Ninja compatible with all plugins and themes, but problems can still happen.
     
    188188== Changelog ==
    189189
    190 = 5.125 =
     190= 5.129 =
     191* Improved test interface, less clicks needed.
     192* Pro: New feature, enforce secure cookies on your website. Easy 1-click fix.
     193* Improved PHP 8 compatibility
     194* Updated 3rd party libraries.
     195* Tested up to WP 5.9
     196
     197= 5.126 =
    191198* NEW - Rename login. Hide your login page from automated scripts.
    192199* NEW - Core Scanner now runs automatically every day. No need to manually scan the core WordPress files. This now happens automatically for you :-)
     
    195202* Updated 3rd party libraries.
    196203* Tested up to WP 5.8.2
     204
     205= 5.125 =
     206* Version skipped.
    197207
    198208= 5.124 =
  • security-ninja/trunk/security-ninja.php

    r2628902 r2666384  
    66Description: Check your site for <strong>security vulnerabilities</strong> and get precise suggestions for corrective actions on passwords, user accounts, file permissions, database security, version hiding, plugins, themes, security headers and other security aspects.
    77Author: WP Security Ninja
    8 Version: 5.125
     8Version: 5.129
    99Author URI: https://wpsecurityninja.com/
    1010Text Domain: security-ninja
     
    647647                $admin_name .= ' ' . $current_user->user_lastname;
    648648            }
    649             // @todo - do not do a repeat if user signs up
    650649           
    651650            if ( PAnD::is_admin_notice_active( 'wfs-newsletter-30' ) ) {
     
    22552254            $out .= '<input id="cb-select-all-1" type="checkbox"></td>';
    22562255            $out .= '<th class="column-primary">' . __( 'Security Test', 'security-ninja' ) . '</th>';
    2257             $out .= '<th>&nbsp;</th>';
     2256            //  $out .= '<th>&nbsp;</th>';
    22582257            $out .= '</tr></thead>';
    22592258            $out .= '<tbody>';
     
    23032302                   
    23042303                    $out .= '<th scope="row" class="check-column"><input id="cb-select-' . $stepid . '" type="checkbox" name="sntest[]" value="' . sanitize_key( $test_name ) . '" ' . $checkedoutput . '/></th>';
    2305                     $out .= '<td class="column-primary" data-colname="Test">' . $outlabel . '<span class="spinner"></span> <label for="cb-select-' . $stepid . '"><span class="wf-sn-test-title">' . $details['title'] . '</span></label>';
     2304                    $out .= '<td class="column-primary" data-colname="Test">' . $outlabel . '<label for="cb-select-' . $stepid . '"><span class="wf-sn-test-title">' . $details['title'] . '</span></label>';
    23062305                   
    23072306                    if ( isset( $testsresults['test'][$test_name]['msg'] ) ) {
     
    23182317                    }
    23192318                   
    2320                     $out .= '<button type="button" class="toggle-row">
    2321                                                                     <span class="screen-reader-text">show details</span>
    2322                                                                     </button></td>';
     2319                    $out .= '<button type="button" class="toggle-row"> <span class="screen-reader-text">show details</span> </button>';
     2320                    $testcssid = 'tdesc-test-id-' . $test_name;
     2321                    $out .= '<div class="testdesc ' . esc_attr( $testcssid ) . '"></div>';
     2322                    //$out .= '</td>';
    23232323                    //     <td>' . $details['msg'] . '</td>';
    23242324                   
     
    23292329                    }
    23302330                   
    2331                     $out .= '<td class="sn-details"><a data-test-id="' . $test_name . '" href="#' . $test_name . '" class="button action">' . $details_label . '</a></td>';
     2331                    //$out .= '<td class="sn-details"><a data-test-id="' . $test_name . '" href="#' . $test_name . '" class="button action button-small">' . $details_label . '</a></td>';
     2332                    $out .= '<div class="testtimedetails ' . esc_attr( $test_name ) . '"><span class="spinner"></span><span class="lasttest"></span><span class="runtime"></span><span class="score"></span></div>';
     2333                    $out .= '<div class="sn-details"><a data-test-id="' . esc_attr( $test_name ) . '" href="#' . esc_attr( $test_name ) . '" class="action">' . $details_label . '</a></div>';
    23322334                    $out .= '</tr>';
    23332335                }
     
    23382340            $out .= '<td class="manage-column column-cb check-column"><label class="screen-reader-text" for="cb-select-all-2">Select All</label><input id="cb-select-all-2" type="checkbox"></td>';
    23392341            $out .= '<th class="column-primary">' . __( 'Security Test', 'security-ninja' ) . '</th>';
    2340             $out .= '<th>&nbsp;</th>';
    23412342            $out .= '</tr></tfoot>';
    23422343            $out .= '</table>';
     
    27132714       
    27142715        // run_all_tests
    2715         // convert status integer to button
     2716        /**
     2717         * convert status integer to button
     2718         *
     2719         * @author  Lars Koudal
     2720         * @since   v0.0.1
     2721         * @version v1.0.0  Tuesday, December 7th, 2021.
     2722         * @access  public static
     2723         * @param   mixed   $int   
     2724         * @return  mixed
     2725         */
    27162726        public static function status( $int )
    27172727        {
     
    27292739       
    27302740        // status
    2731         // reset pointers on activation and save some info
     2741        /**
     2742         * reset pointers on activation and save some info
     2743         *
     2744         * @author  Lars Koudal
     2745         * @since   v0.0.1
     2746         * @version v1.0.0  Tuesday, December 7th, 2021.
     2747         * @access  public static
     2748         * @return  void
     2749         */
    27322750        public static function activate()
    27332751        {
    27342752            $options = self::get_options();
    2735             // runs on first activation
     2753            // Runs on first activation
    27362754           
    27372755            if ( empty($options['first_version']) || empty($options['first_install']) ) {
     2756                // Set first install and initial version installed
    27382757                $options['first_version'] = self::get_plugin_version();
    27392758                $options['first_install'] = time();
     
    27412760            }
    27422761           
    2743             // create table
    27442762            global  $wpdb ;
    2745             include_once ABSPATH . 'wp-admin/includes/upgrade.php';
     2763            // Maybe create table
    27462764            $table_name = $wpdb->prefix . WF_SN_TESTS_TABLE;
    2747            
    2748             if ( $wpdb->get_var( "SHOW TABLES LIKE '{$table_name}'" ) !== $table_name ) {
    2749                 // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared
    2750                 $sql = "CREATE TABLE IF NOT EXISTS {$table_name} (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`testid` varchar(30) NOT NULL,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`timestamp` datetime NOT NULL,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`title` text,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`status` tinyint(4) NOT NULL,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`score` tinyint(4) NOT NULL,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`runtime` float DEFAULT NULL,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`msg` text,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t`details` text,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPRIMARY KEY  (`testid`),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tKEY `id` (`id`)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) DEFAULT CHARSET=utf8";
    2751                 dbDelta( $sql );
    2752             }
    2753        
     2765            require_once ABSPATH . 'wp-admin/includes/upgrade.php';
     2766            global  $wpdb ;
     2767            $charset = $wpdb->get_charset_collate();
     2768            $main_sql_create = "CREATE TABLE {$table_name} (\n\t\t\t\t\t\t\t\tid bigint(20) unsigned NOT NULL AUTO_INCREMENT,\n\t\t\t\t\t\t\t\ttestid varchar(30) NOT NULL,\n\t\t\t\t\t\t\t\ttimestamp datetime NOT NULL,\n\t\t\t\t\t\t\t\ttitle text,\n\t\t\t\t\t\t\t\tstatus tinyint(4) NOT NULL,\n\t\t\t\t\t\t\t\tscore tinyint(4) NOT NULL,\n\t\t\t\t\t\t\t\truntime float DEFAULT NULL,\n\t\t\t\t\t\t\t\tmsg text,\n\t\t\t\t\t\t\t\tdetails text,\n\t\t\t\t\t\t\t\tPRIMARY KEY  (testid),\n\t\t\t\t\t\t\t\tKEY id (id)\n\t\t\t\t\t\t\t\t) {$charset};";
     2769            maybe_create_table( $table_name, $main_sql_create );
    27542770        }
    27552771       
  • security-ninja/trunk/vendor/composer/installed.json

    r2628902 r2666384  
    156156        {
    157157            "name": "phpseclib/bcmath_compat",
    158             "version": "1.0.6",
    159             "version_normalized": "1.0.6.0",
     158            "version": "1.0.7",
     159            "version_normalized": "1.0.7.0",
    160160            "source": {
    161161                "type": "git",
    162162                "url": "https://github.com/phpseclib/bcmath_compat.git",
    163                 "reference": "f6f03d3af2ef95fc35b30abdd29f20ee11276a65"
    164             },
    165             "dist": {
    166                 "type": "zip",
    167                 "url": "https://api.github.com/repos/phpseclib/bcmath_compat/zipball/f6f03d3af2ef95fc35b30abdd29f20ee11276a65",
    168                 "reference": "f6f03d3af2ef95fc35b30abdd29f20ee11276a65",
     163                "reference": "b3c522368f70414441ab34573d034c610f121582"
     164            },
     165            "dist": {
     166                "type": "zip",
     167                "url": "https://api.github.com/repos/phpseclib/bcmath_compat/zipball/b3c522368f70414441ab34573d034c610f121582",
     168                "reference": "b3c522368f70414441ab34573d034c610f121582",
    169169                "shasum": ""
    170170            },
     
    173173            },
    174174            "provide": {
    175                 "ext-bcmath": "8.0.0"
     175                "ext-bcmath": "8.1.0"
    176176            },
    177177            "require-dev": {
     
    182182                "ext-gmp": "Will enable faster math operations"
    183183            },
    184             "time": "2020-12-22T16:34:18+00:00",
     184            "time": "2021-12-16T02:35:38+00:00",
    185185            "type": "library",
    186186            "installation-source": "dist",
     
    204204                }
    205205            ],
    206             "description": "PHP 5.x/7.x polyfill for bcmath extension",
     206            "description": "PHP 5.x-8.x polyfill for bcmath extension",
    207207            "keywords": [
    208208                "BigInteger",
     
    212212                "polyfill"
    213213            ],
     214            "support": {
     215                "email": "[email protected]",
     216                "issues": "https://github.com/phpseclib/bcmath_compat/issues",
     217                "source": "https://github.com/phpseclib/bcmath_compat"
     218            },
    214219            "install-path": "../phpseclib/bcmath_compat"
    215220        },
    216221        {
    217222            "name": "phpseclib/phpseclib",
    218             "version": "2.0.34",
    219             "version_normalized": "2.0.34.0",
     223            "version": "2.0.35",
     224            "version_normalized": "2.0.35.0",
    220225            "source": {
    221226                "type": "git",
    222227                "url": "https://github.com/phpseclib/phpseclib.git",
    223                 "reference": "98a6fe587f3481aea319eef7e656d02cfe1675ec"
    224             },
    225             "dist": {
    226                 "type": "zip",
    227                 "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/98a6fe587f3481aea319eef7e656d02cfe1675ec",
    228                 "reference": "98a6fe587f3481aea319eef7e656d02cfe1675ec",
     228                "reference": "4e16cf3f5f927a7d3f5317820af795c0366c0420"
     229            },
     230            "dist": {
     231                "type": "zip",
     232                "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/4e16cf3f5f927a7d3f5317820af795c0366c0420",
     233                "reference": "4e16cf3f5f927a7d3f5317820af795c0366c0420",
    229234                "shasum": ""
    230235            },
     
    243248                "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations."
    244249            },
    245             "time": "2021-10-27T02:46:30+00:00",
     250            "time": "2021-11-28T23:30:39+00:00",
    246251            "type": "library",
    247252            "installation-source": "dist",
     
    306311                "x509"
    307312            ],
    308             "support": {
    309                 "issues": "https://github.com/phpseclib/phpseclib/issues",
    310                 "source": "https://github.com/phpseclib/phpseclib/tree/2.0.34"
    311             },
    312313            "funding": [
    313314                {
  • security-ninja/trunk/vendor/composer/installed.php

    r2628902 r2666384  
    11<?php return array(
    22    'root' => array(
    3         'pretty_version' => 'dev-develop',
    4         'version' => 'dev-develop',
     3        'pretty_version' => 'dev-master',
     4        'version' => 'dev-master',
    55        'type' => 'library',
    66        'install_path' => __DIR__ . '/../../',
    77        'aliases' => array(),
    8         'reference' => 'f79083b9b3fd8bd2c0f86f0b32d9ecadf4cad3a3',
     8        'reference' => 'ca7c62f447014ab256dfac6e6a0225ca1a05bc83',
    99        'name' => '__root__',
    1010        'dev' => false,
     
    1212    'versions' => array(
    1313        '__root__' => array(
    14             'pretty_version' => 'dev-develop',
    15             'version' => 'dev-develop',
     14            'pretty_version' => 'dev-master',
     15            'version' => 'dev-master',
    1616            'type' => 'library',
    1717            'install_path' => __DIR__ . '/../../',
    1818            'aliases' => array(),
    19             'reference' => 'f79083b9b3fd8bd2c0f86f0b32d9ecadf4cad3a3',
     19            'reference' => 'ca7c62f447014ab256dfac6e6a0225ca1a05bc83',
    2020            'dev_requirement' => false,
    2121        ),
     
    4848        ),
    4949        'phpseclib/bcmath_compat' => array(
    50             'pretty_version' => '1.0.6',
    51             'version' => '1.0.6.0',
     50            'pretty_version' => '1.0.7',
     51            'version' => '1.0.7.0',
    5252            'type' => 'library',
    5353            'install_path' => __DIR__ . '/../phpseclib/bcmath_compat',
    5454            'aliases' => array(),
    55             'reference' => 'f6f03d3af2ef95fc35b30abdd29f20ee11276a65',
     55            'reference' => 'b3c522368f70414441ab34573d034c610f121582',
    5656            'dev_requirement' => false,
    5757        ),
    5858        'phpseclib/phpseclib' => array(
    59             'pretty_version' => '2.0.34',
    60             'version' => '2.0.34.0',
     59            'pretty_version' => '2.0.35',
     60            'version' => '2.0.35.0',
    6161            'type' => 'library',
    6262            'install_path' => __DIR__ . '/../phpseclib/phpseclib',
    6363            'aliases' => array(),
    64             'reference' => '98a6fe587f3481aea319eef7e656d02cfe1675ec',
     64            'reference' => '4e16cf3f5f927a7d3f5317820af795c0366c0420',
    6565            'dev_requirement' => false,
    6666        ),
  • security-ninja/trunk/vendor/phpseclib/bcmath_compat/README.md

    r2447082 r2666384  
    44[![Build Status][ico-travis]][link-travis]
    55
    6 PHP 5.x/7.x polyfill for bcmath extension
     6PHP 5.x-8.x polyfill for bcmath extension
    77
    88## Installation
  • security-ninja/trunk/vendor/phpseclib/bcmath_compat/composer.json

    r2447082 r2666384  
    11{
    22    "name":         "phpseclib/bcmath_compat",
    3     "description":  "PHP 5.x/7.x polyfill for bcmath extension",
     3    "description":  "PHP 5.x-8.x polyfill for bcmath extension",
    44    "keywords": [
    55            "bcmath",
     
    4545    },
    4646    "provide": {
    47       "ext-bcmath": "8.0.0"
     47      "ext-bcmath": "8.1.0"
    4848    }
    4949}
  • security-ninja/trunk/vendor/phpseclib/bcmath_compat/src/BCMath.php

    r2447082 r2666384  
    7272            $temp[1] = str_repeat('0', $scale);
    7373        }
    74         return $sign . rtrim(implode('.', $temp), '.');
     74        $result = rtrim(implode('.', $temp), '.');
     75        if ($sign == '-' && preg_match('#^0\.?0*$#', $result)) {
     76            $sign = '';
     77        }
     78        return $sign . $result;
    7579    }
    7680
     
    134138
    135139        $z = $x->abs()->multiply($y->abs());
    136         $sign = (self::isNegative($x) ^ self::isNegative($y)) ? '-' : '';
    137 
    138         return $sign . self::format($z, $scale, 2 * $pad);
     140        $result = self::format($z, $scale, 2 * $pad);
     141
     142        $sign = (self::isNegative($x) ^ self::isNegative($y)) && !preg_match('#^0\.?0*$#', $result) ? '-' : '';
     143
     144        return $sign . $result;
    139145    }
    140146
     
    225231        $min = defined('PHP_INT_MIN') ? PHP_INT_MIN : ~PHP_INT_MAX;
    226232        if (bccomp($y, PHP_INT_MAX) > 0 || bccomp($y, $min) <= 0) {
    227             trigger_error(
    228                 "bcpow(): exponent too large",
    229                 E_USER_WARNING
    230             );
     233            throw new \ValueError('bcpow(): Argument #2 ($exponent) is too large');
    231234        }
    232235
     
    406409        }
    407410        foreach ($numbers as $i => $arg) {
     411            $num = $i + 1;
    408412            switch (true) {
    409413                case is_bool($arg):
     
    411415                case is_string($arg):
    412416                case is_object($arg) && method_exists($arg, '__toString'):
     417                    if (!is_bool($arg) && !is_numeric("$arg")) {
     418                        throw new \ValueError("bc$name: bcmath function argument is not well-formed");
     419                    }
     420                    break;
     421                // PHP >= 8.1 has deprecated the passing of nulls to string parameters
    413422                case is_null($arg):
    414                     if (!is_bool($arg) && !is_null($arg) && !is_numeric("$arg")) {
    415                         trigger_error("bc$name: bcmath function argument is not well-formed", E_USER_WARNING);
    416                     }
     423                    $error = "bc$name(): Passing null to parameter #$num (\$$names[$i]) of type string is deprecated";
     424                    trigger_error($error, E_USER_DEPRECATED);
    417425                    break;
    418426                default:
    419427                    $type = is_object($arg) ? get_class($arg) : gettype($arg);
    420                     throw new \TypeError("bc$name(): Argument #$i (\$$names[$i]) must be of type string, $type given");
     428                    $error = "bc$name(): Argument #$num (\$$names[$i]) must be of type string, $type given";
     429                    throw new \TypeError($error);
    421430            }
    422431        }
  • security-ninja/trunk/vendor/phpseclib/phpseclib/BACKERS.md

    r2286425 r2666384  
    77- Zane Hooper
    88- [Setasign](https://www.setasign.com/)
     9- Allan Simon
  • security-ninja/trunk/vendor/phpseclib/phpseclib/README.md

    r2447082 r2666384  
    6767* [Browse the Support Forum](http://www.frostjedi.com/phpbb/viewforum.php?f=46) (no longer in use)
    6868
     69## Special Thanks
     70
     71Special Thanks to our Patreon sponsors!:
     72
     73- Allan Simon
     74
    6975## Contributing
    7076
  • security-ninja/trunk/vendor/phpseclib/phpseclib/phpseclib/Net/SFTP.php

    r2628902 r2666384  
    32013201        foreach ($this->attributes as $key => $value) {
    32023202            switch ($flags & $key) {
     3203                case NET_SFTP_ATTR_UIDGID:
     3204                    if ($this->version > 3) {
     3205                        continue 2;
     3206                    }
     3207                    break;
     3208                case NET_SFTP_ATTR_CREATETIME:
     3209                case NET_SFTP_ATTR_MODIFYTIME:
     3210                case NET_SFTP_ATTR_ACL:
     3211                case NET_SFTP_ATTR_OWNERGROUP:
     3212                case NET_SFTP_ATTR_SUBSECOND_TIMES:
     3213                    if ($this->version < 4) {
     3214                        continue 2;
     3215                    }
     3216                    break;
     3217                case NET_SFTP_ATTR_BITS:
     3218                    if ($this->version < 5) {
     3219                        continue 2;
     3220                    }
     3221                    break;
     3222                case NET_SFTP_ATTR_ALLOCATION_SIZE:
     3223                case NET_SFTP_ATTR_TEXT_HINT:
     3224                case NET_SFTP_ATTR_MIME_TYPE:
     3225                case NET_SFTP_ATTR_LINK_COUNT:
     3226                case NET_SFTP_ATTR_UNTRANSLATED_NAME:
     3227                case NET_SFTP_ATTR_CTIME:
     3228                    if ($this->version < 6) {
     3229                        continue 2;
     3230                    }
     3231            }
     3232            switch ($flags & $key) {
    32033233                case NET_SFTP_ATTR_SIZE:             // 0x00000001
    32043234                    // The size attribute is defined as an unsigned 64-bit integer.
     
    36983728    function getSupportedVersions()
    36993729    {
    3700         if (!($this->bitmap & NET_SSH2_MASK_LOGIN)) {
     3730        if (!($this->bitmap & SSH2::MASK_LOGIN)) {
    37013731            return false;
    37023732        }
  • security-ninja/trunk/vendor/phpseclib/phpseclib/phpseclib/Net/SSH2.php

    r2628902 r2666384  
    10461046
    10471047    /**
     1048     * Smart multi-factor authentication flag
     1049     *
     1050     * @var bool
     1051     * @access private
     1052     */
     1053    var $smartMFA = true;
     1054
     1055    /**
    10481056     * Default Constructor.
    10491057     *
     
    22492257        }
    22502258
    2251         foreach ($args as $arg) {
    2252             if ($this->_login_helper($username, $arg)) {
    2253                 return true;
     2259        while (count($args)) {
     2260            if (!$this->auth_methods_to_continue || !$this->smartMFA) {
     2261                $newargs = $args;
     2262                $args = array();
     2263            } else {
     2264                $newargs = array();
     2265                foreach ($this->auth_methods_to_continue as $method) {
     2266                    switch ($method) {
     2267                        case 'publickey':
     2268                            foreach ($args as $key => $arg) {
     2269                                if (is_object($arg)) {
     2270                                    $newargs[] = $arg;
     2271                                    unset($args[$key]);
     2272                                    break;
     2273                                }
     2274                            }
     2275                            break;
     2276                        case 'keyboard-interactive':
     2277                            $hasArray = $hasString = false;
     2278                            foreach ($args as $arg) {
     2279                                if ($hasArray || is_array($arg)) {
     2280                                    $hasArray = true;
     2281                                    break;
     2282                                }
     2283                                if ($hasString || is_string($arg)) {
     2284                                    $hasString = true;
     2285                                    break;
     2286                                }
     2287                            }
     2288                            if ($hasArray && $hasString) {
     2289                                foreach ($args as $key => $arg) {
     2290                                    if (is_array($arg)) {
     2291                                        $newargs[] = $arg;
     2292                                        break 2;
     2293                                    }
     2294                                }
     2295                            }
     2296                        case 'password':
     2297                            foreach ($args as $key => $arg) {
     2298                                $newargs[] = $arg;
     2299                                unset($args[$key]);
     2300                                break;
     2301                            }
     2302                    }
     2303                }
     2304            }
     2305
     2306            foreach ($newargs as $arg) {
     2307                if ($this->_login_helper($username, $arg)) {
     2308                    return true;
     2309                }
    22542310            }
    22552311        }
     
    34653521
    34663522        if (!strlen($raw)) {
    3467             return '';
     3523            user_error('No data received from server');
     3524            return false;
    34683525        }
    34693526
     
    35563613                    $flevel = ($flg & 0xC0) >> 6;
    35573614
    3558                     $this->decompress_context = inflate_init(ZLIB_ENCODING_RAW, ['window' => $cinfo + 8]);
     3615                    $this->decompress_context = inflate_init(ZLIB_ENCODING_RAW, array('window' => $cinfo + 8));
    35593616                    $payload = substr($payload, 2);
    35603617                }
     
    53125369        return $this->auth_methods_to_continue;
    53135370    }
     5371
     5372    /**
     5373     * Enables "smart" multi-factor authentication (MFA)
     5374     */
     5375    function enableSmartMFA()
     5376    {
     5377        $this->smartMFA = true;
     5378    }
     5379
     5380    /**
     5381     * Disables "smart" multi-factor authentication (MFA)
     5382     */
     5383    function disableSmartMFA()
     5384    {
     5385        $this->smartMFA = false;
     5386    }
    53145387}
  • security-ninja/trunk/vendor/phpseclib/phpseclib/phpseclib/bootstrap.php

    r2237352 r2666384  
    88if (extension_loaded('mbstring')) {
    99    // 2 - MB_OVERLOAD_STRING
    10     if (ini_get('mbstring.func_overload') & 2) {
     10    // mbstring.func_overload is deprecated in php 7.2 and removed in php 8.0.
     11    if (version_compare(PHP_VERSION, '8.0.0') < 0 && ini_get('mbstring.func_overload') & 2) {
    1112        throw new \UnexpectedValueException(
    1213            'Overloading of string functions using mbstring.func_overload ' .
Note: See TracChangeset for help on using the changeset viewer.