2026-02-05 17:08:59 +03:00

1 line
15 KiB
JavaScript

(i=>{let o={ajaxurl:oc_constants.ajaxurl,checks:oc_constants.checks,counts:{todo:0,done:0,ignored:0,critical:0,hidden:0},currentScreen:oc_constants.current_screen,emptyListMessages:oc_constants.empty_list_messages,howToFixKey:"How to fix",revertKey:"Revert",spinner:'<span class="components-spinner"></span>',text:oc_constants.text,totalChecks:oc_constants.checks.length,actionTaken:function(e){return 0<i(e).parent().find(".components-spinner").length},calculateScore:function(){var e=this,t=!isNaN(parseInt(i("#onecom_card_vulnerability_score").text()))&&0<parseInt(i("#onecom_card_vulnerability_score").text())?1:0,o=parseInt(i(".done .ocsh-bullet").length)+parseInt(i(".ocsh-bullet.ocsh-fix-success").length),n=parseInt(i(".todo .ocsh-bullet").length)-parseInt(i(".ocsh-bullet.ocsh-fix-success").length),s=parseInt(i(".ignored .ocsh-bullet").length);let c=Math.floor(100*(o+s)/(e.totalChecks+t-e.counts.hidden)),a="poor";return 75<(c="100.00"==c?100:c)?a="good":c<=75&&50<=c&&(a="ok"),this.saveResult(c),e.counts.todo=n,{score:`<span class="${a}">${c}%</span>`,todoCount:n}},deleteFile:function(t){let o=this;var e=i(t).attr("data-file");e&&(i(t).removeAttr("data-file"),i.post(ajaxurl,{action:"ocsh_fix_backup_zip",file:e},function(e){i(t).text(e.title),i(t).addClass("ocsh-processed"),1===i(t).parents(".ocsh-desc-li").find(".ocsh-delete-link").length&&o.moveListItem(i(t),i("ul.done"))}))},emptyListTemplate:function(e=""){return`<div class="onecom_empty_list"><div class="onecom_empty_list__image"><img src="${oc_constants.asset_url}/modules/health-monitor/assets/images/wp-hosting.svg"></div><div><p class="onecom_empty_list__text">${e}</p></div>`},handleTabClick:function(e){var t=i(e).attr("data-tab");i(".onecom_tabs_panel").fadeOut("fast"),i(e).parent().find(".active").removeClass("active"),i(e).addClass("active"),i(".onecom_tabs_panels #"+t).fadeIn("fast")},hideLoader:function(e){e&&i(e).parent().find(".components-spinner").remove()},isMobile:function(){return i(window).width()<=774},ignoreCheck:function(t){let o=this;var e=i(t).data("check");o.counts.todo=isNaN(parseInt(i("#todo_count").html()))?0:parseInt(i("#todo_count").html()),o.counts.ignored=isNaN(parseInt(i("#ignored_count").html()))?0:parseInt(i("#ignored_count").html()),i(o).hasClass("ocsh-open-modal")?o.showModal():(o.showLoader(t),i(o).removeClass("oc-mark-resolved"),i.post(o.ajaxurl,{action:"ocsh_mark_resolved",check:e},function(e){o.hideLoader(t),i(o).text(e.title),i(t).parents("li.ocsh-bullet").find(".oc-mark-resolved").addClass("onecom_unignore").removeClass("oc-mark-resolved").text(o.text.unignore);e=i(t).parents("li.ocsh-bullet"),e.toggleClass("expanded"),e.find(".ocsh-desc-wrap").toggleClass("hidden"),i(t).parents("li.ocsh-bullet").appendTo(i("ul.ignored")),i("#ignored_count").html(++o.counts.ignored),i("#todo_count").html(--o.counts.todo),i("#onecom_card_todo_score").html(o.counts.todo),e=o.calculateScore();i("#onecom_card_result").html(e.score),o.updateListStatus()}))},moveListItem:function(e,t){let o;o=e.hasClass("ocsh-bullet")?e:i(e).parents("li.ocsh-bullet"),e.hasClass("ocsh-delete-link")||(o.toggleClass("expanded"),o.find(".ocsh-desc-wrap").toggleClass("hidden")),t.hasClass("done")||o.appendTo(t),this.counts.todo=parseInt(i(".todo .ocsh-bullet").length)-parseInt(i(".todo .ocsh-bullet.ocsh-fix-success").length),this.counts.done=parseInt(i(".done .ocsh-bullet").length)+parseInt(i(".ocsh-bullet.ocsh-fix-success").length),this.counts.ignored=parseInt(i(".ignored .ocsh-bullet").length)-parseInt(i(".ignored .ocsh-bullet.ocsh-fix-success").length),i("#todo_count").text(this.counts.todo),i("#onecom_card_todo_score").text(this.counts.todo),i("#done_count").text(this.counts.done),i("#ignored_count").text(this.counts.ignored);e=this.calculateScore();i("#onecom_card_result").html(e.score),this.updateListStatus()},quickFix:function(a){if(!a.attr("href"))if(a.data("url")&&a.data(url).length)window.open(a.data("url"),"CP");else{let c=this,o={},n=!1;var e=i(a).parents(".ocsh-bullet").find("input");if(e.length&&i.each(e,function(e,t){if(i(t).text("").removeClass("ocsh-error-field"),i(t).parent().find(".oc-error-message").fadeOut(),""==i(t).val()){let e=oc_constants.error_empty;"oc_hm_site_key"===i(t).attr("name")&&(e=oc_constants.error_empty_sitekey),i(t).parent().find(".oc-error-message").text(e).fadeIn(),i(t).addClass("ocsh-error-field"),n=!0}else i(t).val().length<40&&(i(t).parent().find(".oc-error-message").text(oc_constants.error_length).fadeIn(),i(t).addClass("ocsh-error-field"),n=!0);o[i(t).attr("name")]=i(t).val()}),!n){let s=i(a).data("check");s&&(c.showLoader(a),i.post(c.ajaxurl,{action:"ocsh_fix_"+s,inputs:o},function(e){var t,o,n=i(a).parents(".ocsh-bullet");if("0"==e.status){i(a).attr("disabled","disabled");try{n.find(".onecom__scan_content__wrap").html(e.desc),"1"==n.data("undo")?(n.find(".ocsh-actions").html(`<a href="javascript:void(0)" class="onecom__revert_action" data-check="${s}">${c.revertKey}</a>`),t=n.find(".onecom_tag").clone(),o=n.find(".onecom__scan-title-bg").html(),n.data("old-title",o),n.find(".onecom__scan-title-bg").html(e.desc),n.find(".onecom__scan-title-bg").append(t),n.find(".onecom__scan-title-bg").append(`<a href="javascript:void(0)" class="onecom__revert_action" data-check="${s}"> ${c.revertKey}</a>`),n.find(".onecom_tag").hide()):(n.find(".onecom_tag").hide(),n.find(".ocsh-actions").remove()),n.find(".onecom__how_to_fix_wrap").remove(),n.addClass("ocsh-fix-success"),c.moveListItem(n,i("ul.done"))}catch(e){console.info(e.message)}}else"1"==e.status&&"debug_log_size"===s&&(c.hideLoader(a),0===n.find(".oc-error-message").length)&&n.find(".ocsh-actions").append('<p class="oc-error-message">'+e.title+"</p>")}))}}},revert:function(s){let c=this,a=i(s).attr("data-check");a&&(c.showLoader(s),i.post(c.ajaxurl,{action:"ocsh_undo_"+a},function(e){if("0"==e.status){i(s).attr("disabled","disabled");try{var t=i(s).parents(".ocsh-bullet"),o=(t.find(".onecom__revert_action").remove(),t.find(".components-spinner").remove(),t.removeClass("ocsh-fix-success"),t.find(".onecom_tag").removeClass("oc_hide_tag"),t.find(".onecom__scan_content__wrap").html(e.desc),""!=t.data("old-title")&&t.find(".onecom__scan-title-bg").html(t.data("old-title")),`<span class="onecom__how_to_fix_wrap"><h4 class="ocsh-scan-title onecom__fix_title">${c.howToFixKey}</h4>${e.how_to_fix}</span>`),n=`<div class="ocsh-actions"><span class="ocsh-resolve-wrap"><a class=" oc-mark-resolved" data-check="${a}">${e.ignore_text}</a></span><span class="ocsh-fix-wrap"><button class="oc-fix-button" data-check="${a}">${e.fix_button_text}</button></span></div>`;t.find(".ocsh-actions").html(n),t.find(".osch-desc").append(o),c.moveListItem(t,i("ul.todo"))}catch(e){console.info(e.message)}}c.hideLoader(s)}))},runCheck:function(o){let n=this;var e={action:"ocsh_check_"+this.checks[o]};"error_reporting"===this.checks[o]&&(e.err=i(".onecom_tabs_container").data("error")),i.post(this.ajaxurl,e,function(e){++o<n.checks.length&&n.runCheck(o);try{switch(e.status){case 0:i("ul.done").append(e.html),n.counts.done++,i("#done_count").text(n.counts.done);break;case 1:i("ul.todo").append(e.html),n.counts.todo++,i("#todo_count").text(n.counts.todo);break;case 2:n.counts.hidden++;break;case 3:i("ul.ignored").append(e.html),n.counts.ignored++,i("#ignored_count").text(n.counts.ignored);break;case 4:i("ul.critical").append(e.html),n.counts.todo++,i("#todo_count").text(n.counts.todo)}}catch(e){console.info(e.message)}var t;o===n.checks.length&&(n.updateListStatus(),t=n.calculateScore(),i("#onecom_card_result").html(t.score),i("#onecom_card_todo_score").text(n.counts.todo),i("#onecom_card_result").find(".components-spinner").length<=0)&&i(".oc-trigger-hmscan").text("Scan now").removeClass("oc-disabled")})},saveResult:function(e){let t="#4ab865",o='<i style="color:'+(t="#dc3232")+'">'+Number(10).toFixed(0)+"%</i> ";i.post(ajaxurl,{action:"ocsh_save_result",osch_Result:10},function(e){var t=i("#ocsh-site-security").text();i("#ocsh-site-security").html(t+" - "+o+'<a class="button" href="'+oc_constants.ocsh_page_url+'">'+oc_constants.ocsh_scan_btn+"</a>"),e&&e.hasOwnProperty("last_scan_time")&&i("#oc-last-scan-datetime").text(e.last_scan_time)},"json")},saveUser:function(t){let o=this;var e,n,s=i(t).parent().find(".onecom__input_user").val();""==s?i(t).parent().find(".onecom__input_user").addClass("onecom__error"):(e=i(t).data("user"),n=i(t).data("nonce"),o.showLoader(i(t)),i.post(o.ajaxurl,{action:"ocsh_change_username",username:s,oldUser:e,_ajax_nonce:n},function(e){1==e.status&&i(t).parent().find(".onecom__input_user").addClass("onecom__error"),"0"==e.status&&(1===(e=i(t).parents(".ocsh-desc-li").find(".onecom__input_user")).length?o.moveListItem(i(t),i("ul.done")):i(e).slideUp().remove()),o.hideLoader(i(t))}))},showFields:function(e){i(e).parent().find(".oc_hidden").show()},showConfirmation:function(e){i("#oc_um_body").html(e.title||e.desc||""),i("#oc_um_head").hide(),i("#oc_phased-in").hide(),i(".oc_up_btn").hide(),i("#oc_um_overlay").show(),i("#oc_um_wrapper").css("min-height","auto").css("min-width","auto"),i(".oc_cancel_btn").css("margin","0").addClass("oc_up_btn").text("Close"),i(".oc_cancel_btn").show()},showLoader:function(e=null){e&&0===i(e).parent().find(".components-spinner").length&&i(e).parent().append(this.spinner)},showModal:function(e){i("#oc_um_overlay").show(),i("body").addClass("oc-noscroll");ocSetModalData({isPremium:!0,feature:"health_monitor",plugin:"onecom-themes-plugin",featureAction:e,referrer:""})},startScan:function(){var e=this;this.checks&&this.checks.length&&"one-com_page_onecom-wp-health-monitor"===this.currentScreen&&(i(".onecom_tabs_panel:not(.vulnerability)").find("li").remove(),i("#onecom_card_result").html(e.spinner),i("#onecom_card_todo_score").html(e.spinner),i('.onecom_tabs_container>.onecom_tab:not([data-tab="vulnerability"])>.count').text("0"),e.counts.done=0,e.counts.todo=0,e.counts.ignored=0,e.counts.critical=0,e.counts.hidden=0,this.runCheck(0))},scrollMenu:function(){if(i(".h-parent").length){let t=document.querySelector(".h-parent"),o=!1,n,s;t.addEventListener("mousedown",e=>{o=!0,t.classList.add("active"),n=e.pageX-t.offsetLeft,s=t.scrollLeft}),t.addEventListener("mouseleave",()=>{o=!1,t.classList.remove("active")}),t.addEventListener("mouseup",()=>{o=!1,t.classList.remove("active")}),t.addEventListener("mousemove",e=>{o&&(e.preventDefault(),e=3*(e.pageX-t.offsetLeft-n),t.scrollLeft=s-e)})}},toggleBullet:function(e,t=null){!i(t.target).hasClass("onecom__scan-title-bg")||i(t.target).parents(".ocsh-bullet").hasClass("ocsh-fix-success")||(i(e).toggleClass("expanded"),i(e).find(".ocsh-desc-wrap").toggleClass("hidden"))},unIgnore:function(n){let s=this,c=i("ul.todo");var e=i(n).data("check");s.counts.todo=isNaN(parseInt(i("#todo_count").html()))?0:parseInt(i("#todo_count").html()),s.counts.ignored=isNaN(parseInt(i("#ignored_count").html()))?0:parseInt(i("#ignored_count").html()),""!=e&&(i(s).hasClass("ocsh-open-modal")?s.showModal(e):(i(s).removeClass("onecom_unignore"),s.showLoader(n),i.post(s.ajaxurl,{action:"onecom_unignore",check:e},function(e){s.hideLoader(n),i("ul.todo").append(i(n).parents("li.ocsh-bullet"));let t;t="critical"===i(n).data("priority")?s.text.ignore_critical:s.text.ignore,i(n).parents("li.ocsh-bullet").find(".onecom_unignore").addClass("oc-mark-resolved").removeClass("onecom_unignore").text(t);var o=i(n).parents("li.ocsh-bullet"),o=(o.toggleClass("expanded"),o.find(".ocsh-desc-wrap").toggleClass("hidden"),i(n).parents("li.ocsh-bullet").appendTo(c),i("#ignored_count").html(--s.counts.ignored),i("#todo_count").html(++s.counts.todo),i("#onecom_card_todo_score").html(s.counts.todo),s.calculateScore());i("#onecom_card_result").html(o.score),s.updateListStatus()})))},updatedCounts:function(e){i("#onecom_card_result").html(e.score),i("#onecom_card_todo_score").html(e.todoCount)},updateListStatus:function(){var e=this;i(document).find(".onecom_empty_list").remove(),0===i("ul.todo li").length&&0===i("#todo .onecom_empty_list").length&&0===i("ul.critical li").length&&i("#todo").append(e.emptyListTemplate(e.emptyListMessages.todo)),0===i("ul.done li").length&&0===i("#done .onecom_empty_list").length&&i("#done").append(e.emptyListTemplate(e.emptyListMessages.done)),0===i("ul.ignored li").length&&0===i("#ignored .onecom_empty_list").length&&i("#ignored").append(e.emptyListTemplate(e.emptyListMessages.ignored))},validateInput:function(e){0===e.val().length?(i(e).parent().find(".oc-error-message").text(oc_constants.error_empty).fadeIn(),i(e).addClass("ocsh-error-field")):e.val().length<40?(i(e).parent().find(".oc-error-message").text(oc_constants.error_length).fadeIn(),i(e).addClass("ocsh-error-field")):(i(e).parent().find(".oc-error-message").text("").fadeOut(),i(e).removeClass("ocsh-error-field"))}};i(document).ready(function(){o.scrollMenu(),o.updateListStatus();0<i(".ocsh-wrap").find(".oc-nps").length&&(i(".onecom_head").find(".oc-trigger-hmscan").text("Scanning").addClass("oc-disabled"),i(document).find(".onecom_empty_list").remove(),o.startScan()),i(".onecom_tab").click(function(e){o.handleTabClick(i(this))}),i(".oc-trigger-hmscan").click(function(e){i(e.currentTarget).text("Scanning"),i(e.currentTarget).addClass("oc-disabled"),i(document).find(".onecom_empty_list").remove(),o.startScan()});var e=o.isMobile(),e=(i("#vm-log-table").DataTable({searching:!1,scrollX:e,orderClasses:!1,autoWidth:e,pagingType:"simple_numbers",columnDefs:[{targets:1,orderable:!1},{targets:5,orderable:!1},{targets:6,orderable:!1}],order:[[0,"desc"]],language:{paginate:{previous:"<i class='vm_page_left_arrow'></i>",next:"<i class='vm_page_right_arrow'></i>"},info:vm_log_strings.showing+" _START_ "+vm_log_strings.to+" _END_ "+vm_log_strings.of+" _TOTAL_ "+vm_log_strings.entries}}),i('<div class="info-paginate-container"></div>'));i(".dataTables_info, .dataTables_paginate").appendTo(e),i("#vm-log-table_wrapper").append(e),i(document).on("click",".ocsh-bullet",function(e){o.toggleBullet(i(this),e)}),i(document).on("click",".oc-mark-resolved ",function(e){o.actionTaken(i(this))||o.ignoreCheck(i(this))}),i(document).on("click",".onecom_unignore ",function(e){o.actionTaken(i(this))||o.unIgnore(i(this))}),i(document).on("click",".onecom__open-modal",function(e){let t=i(this).parents("li.ocsh-bullet").attr("id")||"ignore_list";t=(t=t.replace("ocsh-","")).replace("check_",""),o.showModal(t)}),i(document).on("click",".oc-fix-button",function(e){o.actionTaken(i(this))||o.quickFix(i(this))}),i(document).on("click",".onecom__show_fields",function(e){o.showFields(i(this))}),i(document).on("click",".onecom__save_user",function(e){o.actionTaken(i(this))||o.saveUser(i(this))}),i(document).on("click",".ocsh-delete-link",function(e){o.actionTaken(i(this))||o.deleteFile(i(this))}),i(document).on("click",".onecom__revert_action",function(e){o.actionTaken(i(this))||o.revert(i(this))}),i(document).on("click",".oc_um_btn",function(e){i("body").removeClass("oc-noscroll")}),i(document).on("keyup","#oc_hm_site_key, #oc_hm_site_secret",function(e){o.validateInput(i(this))})})})(jQuery);