OwlCyberSecurity - MANAGER
Edit File: 967.1fad9c9e018dabf426b0.js
"use strict";(self.webpackChunkreally_simple_ssl=self.webpackChunkreally_simple_ssl||[]).push([[967],{2387:(e,t,l)=>{l.d(t,{Z:()=>n});var s=l(270),a=l(8473);const n=(0,s.Ue)(((e,t)=>({filter:"all",progressText:"",notices:[],error:!1,percentageCompleted:0,progressLoaded:!1,setFilter:t=>{sessionStorage.rsssl_task_filter=t,e((e=>({filter:t})))},fetchFilter:()=>{if("undefined"!=typeof Storage&&sessionStorage.rsssl_task_filter){let t=sessionStorage.rsssl_task_filter;e((e=>({filter:t})))}},getProgressData:async()=>{const{percentage:t,text:l,notices:s,error:n}=await a.SA("progressData","refresh").then((e=>e));e((e=>({notices:s,percentageCompleted:t,progressText:l,progressLoaded:!0,error:n})))},dismissNotice:async l=>{let s=t().notices;s=s.filter((function(e){return e.id!==l})),e((e=>({notices:s})));const{percentage:n}=await a.SA("dismiss_task",l);e({percentageCompleted:n})}})))},3909:(e,t,l)=>{l.d(t,{Z:()=>u});var s=l(9307),a=l(5736),n=l(3882),r=l(9818),i=l(8473),o=l(4064),c=l(4559),d=l(2387),m=l(2485);const u=e=>{const{dismissNotice:t}=(0,d.Z)(),{getField:l,setHighLightField:u,fetchFieldsData:p}=(0,c.Z)(),{setSelectedSubMenuItem:_}=(0,m.Z)();let f=e.notice,h="premium"===f.output.icon,y=f.output.url&&-1!==f.output.url.indexOf("really-simple-ssl.com");return(0,s.createElement)("div",{className:"rsssl-task-element"},(0,s.createElement)("span",{className:"rsssl-task-status rsssl-"+f.output.icon},f.output.label),(0,s.createElement)("p",{className:"rsssl-task-message",dangerouslySetInnerHTML:{__html:f.output.msg}}),y&&f.output.url&&(0,s.createElement)("a",{target:"_blank",href:f.output.url},(0,a.__)("More info","really-simple-ssl")),f.output.clear_cache_id&&(0,s.createElement)("span",{className:"rsssl-task-enable button button-secondary",onClick:()=>(e=>{let t={};t.cache_id=e,i.Kw("clear_cache",t).then((e=>{(0,r.dispatch)("core/notices").createNotice("success",(0,a.__)("Re-started test","really-simple-ssl"),{__unstableHTML:!0,id:"rsssl_clear_cache",type:"snackbar",isDismissible:!0}).then((0,o.Z)(3e3)).then((e=>{(0,r.dispatch)("core/notices").removeNotice("rsssl_clear_cache")})),p()}))})(f.output.clear_cache_id)},(0,a.__)("Re-check","really-simple-ssl")),!h&&!y&&f.output.url&&(0,s.createElement)("a",{className:"rsssl-task-enable button button-secondary",href:f.output.url},(0,a.__)("View","really-simple-ssl")),!h&&f.output.highlight_field_id&&(0,s.createElement)("span",{className:"rsssl-task-enable button button-secondary",onClick:()=>(async()=>{u(e.notice.output.highlight_field_id);let t=l(e.notice.output.highlight_field_id);await _(t.menu_id)})()},(0,a.__)("View","really-simple-ssl")),f.output.plusone&&(0,s.createElement)("span",{className:"rsssl-plusone"},"1"),f.output.dismissible&&"completed"!==f.output.status&&(0,s.createElement)("div",{className:"rsssl-task-dismiss"},(0,s.createElement)("button",{type:"button",onClick:e=>t(f.id)},(0,s.createElement)(n.Z,{name:"times"}))))}},7372:(e,t,l)=>{l.d(t,{Z:()=>_});var s=l(9307),a=l(5609),n=l(8473),r=l(5736),i=l(3882),o=l(4531),c=l(2485),d=l(4559),m=l(2387),u=l(9810),p=l(870);const _=e=>{const{fetchFieldsData:t,updateField:l,updateFieldsData:_,getFieldValue:f}=(0,d.Z)(),{getProgressData:h}=(0,m.Z)(),{fetchVulnerabilities:y}=(0,p.Z)(),{dismissModal:g,actionHandler:v,getSteps:b,error:E,certificateValid:k,networkwide:w,sslEnabled:N,dataLoaded:S,processing:C,setProcessing:F,steps:D,currentStep:L,currentStepIndex:x,setCurrentStepIndex:Z,overrideSSL:T,setOverrideSSL:I,networkActivationStatus:R,setNetworkActivationStatus:A,networkProgress:M,refreshSSLStatus:P,activateSSLNetworkWide:O,email:H,setEmail:j,saveEmail:V,includeTips:K,setIncludeTips:B,sendTestEmail:U,setSendTestEmail:z}=(0,u.Z)(),{setSelectedMainMenuItem:W,selectedMainMenuItem:q}=(0,c.Z)(),Y={inactive:{icon:"info",color:"orange"},warning:{icon:"circle-times",color:"orange"},error:{icon:"circle-times",color:"red"},success:{icon:"circle-check",color:"green"},processing:{icon:"file-download",color:"red"}};if((0,s.useEffect)((()=>{w&&"main_site_activated"===R&&O()}),[R,M]),(0,s.useEffect)((()=>{(async()=>{await b(!1),S&&N&&0===x&&Z(1),""!==f("notifications_email_address")&&""===H&&j(f("notifications_email_address"))})()}),[]),(0,s.useEffect)((()=>{(async()=>{if(L&&L.items){let e=L.items.find((e=>"hardening"===e.id));e&&"success"===e.status&&(await t("hardening"),await h(),await y())}})()}),[L]),E)return(0,s.createElement)(o.Z,{lines:"3",error:E});let G=L,Q=C?"rsssl-processing":"";return(0,s.createElement)(s.Fragment,null,!S&&(0,s.createElement)(s.Fragment,null,(0,s.createElement)("div",{className:"rsssl-onboarding-placeholder"},(0,s.createElement)("ul",null,(0,s.createElement)("li",null,(0,s.createElement)(i.Z,{name:"file-download",color:"grey"}),(0,r.__)("Fetching next step...","really-simple-ssl"))),(0,s.createElement)(o.Z,{lines:"3"}))),S&&(0,s.createElement)("div",{className:"rsssl-modal-content-step "+Q},(0,s.createElement)("ul",null,($=G.items)&&$.map(((e,t)=>{let{title:l,description:n,current_action:o,action:c,status:d,button:m,id:u,read_more:p}=e;"ssl_enabled"===u&&w&&(M>=100?(d="success",l=(0,r.__)("SSL has been activated network wide","really-simple-ssl")):(d="processing",l=(0,r.__)("Processing activation of subsites networkwide","really-simple-ssl")));const _="success"!==e.status&&e.is_plugin&&"none"===e.current_action?"empty":Y[d].icon,f=Y[d].color,h={activate_setting:(0,r.__)("Activating...","really-simple-ssl"),activate:(0,r.__)("Activating...","really-simple-ssl"),install_plugin:(0,r.__)("Installing...","really-simple-ssl"),error:(0,r.__)("Failed","really-simple-ssl"),completed:(0,r.__)("Finished","really-simple-ssl")};let y="";m&&(y=m,"none"!==o&&(y=h[o],"failed"===o&&(y=h.error)));let g=m&&m===y,b="success"!==e.status&&e.is_plugin&&"none"===e.current_action,E=b?"rsssl-is-plugin":"";return l=b?(0,s.createElement)("b",null,l):l,(0,s.createElement)("li",{key:"pluginItem-"+t,className:E},(0,s.createElement)(i.Z,{name:_,color:f}),l,n&&(0,s.createElement)(s.Fragment,null," - ",n),"ssl_enabled"===u&&w&&"main_site_activated"===R&&(0,s.createElement)(s.Fragment,null," - ",M<100&&(0,s.createElement)(s.Fragment,null,(0,r.__)("working","really-simple-ssl")," ",M,"%"),M>=100&&(0,r.__)("completed","really-simple-ssl")),m&&(0,s.createElement)(s.Fragment,null," - ",g&&(0,s.createElement)(a.Button,{isLink:!0,onClick:e=>v(u,c,e)},y),!g&&(0,s.createElement)(s.Fragment,null,y)),b&&p&&(0,s.createElement)("a",{target:"_blank",href:p,className:"button button-default rsssl-read-more"},(0,r.__)("Read More","really-simple-ssl")))}))),"email"===L.id&&(0,s.createElement)(s.Fragment,null,(0,s.createElement)("div",null,(0,s.createElement)("input",{type:"email",value:H,placeholder:(0,r.__)("Your email address","really-simple-ssl"),onChange:e=>j(e.target.value)})),(0,s.createElement)("div",null,(0,s.createElement)("label",null,(0,s.createElement)("input",{onChange:e=>B(e.target.checked),type:"checkbox",checked:K}),(0,r.__)("Include 6 Tips & Tricks to get started with Really Simple SSL.","really-simple-ssl")," ",(0,s.createElement)("a",{href:"https://really-simple-ssl.com/legal/privacy-statement/",target:"_blank"},(0,r.__)("Privacy Statement","really-simple-ssl")))),(0,s.createElement)("div",null,(0,s.createElement)("label",null,(0,s.createElement)("input",{onChange:e=>z(e.target.checked),type:"checkbox",checked:U}),(0,r.__)("Send a notification test email - Notification emails are sent from your server.","really-simple-ssl")))),k&&G.info_text&&(0,s.createElement)("div",{className:"rsssl-modal-description",dangerouslySetInnerHTML:{__html:G.info_text}}),0===x&&!k&&(0,s.createElement)("div",{className:"rsssl-modal-description"},(0,s.createElement)("a",{href:"#",onClick:e=>P(e)},(0,r.__)("Refresh SSL status","really-simple-ssl"))," ",(0,r.__)("The SSL detection method is not 100% accurate.","really-simple-ssl")," ",(0,r.__)("If you’re certain an SSL certificate is present, and refresh SSL status does not work, please check “Override SSL detection” to continue activating SSL.","really-simple-ssl")),(0,s.createElement)("div",{className:"rsssl-modal-content-step-footer"},(()=>{let i=w?(0,r.__)("Activate SSL networkwide","really-simple-ssl"):(0,r.__)("Activate SSL","really-simple-ssl");return 0===x?(0,s.createElement)(s.Fragment,null,(0,s.createElement)("button",{disabled:C||!k&&!T,className:"button button-primary",onClick:()=>{F(!0),n.SA("activate_ssl").then((async e=>{F(!1),Z(x+1),e.success&&(e.site_url_changed?window.location.reload():w&&A("main_site_activated"))})).then((async()=>{await h(),await t(q)}))}},i),k&&!rsssl_settings.pro_plugin_active&&(0,s.createElement)("a",{target:"_blank",href:rsssl_settings.upgrade_link,className:"button button-default"},(0,r.__)("Improve Security with PRO","really-simple-ssl")),!k&&(0,s.createElement)("button",{className:"button button-default",onClick:()=>{e.isModal&&g(),window.location.href=rsssl_settings.letsencrypt_url}},(0,r.__)("Install SSL","really-simple-ssl")),!k&&(0,s.createElement)(a.ToggleControl,{label:(0,r.__)("Override SSL detection","really-simple-ssl"),checked:T,onChange:e=>{I(e);let t={};t.overrideSSL=e,n.Kw("override_ssl_detection",t)}})):x>0&&x<D.length-1?(0,s.createElement)(s.Fragment,null,(0,s.createElement)("button",{disabled:C,className:"button button-primary",onClick:()=>(async()=>{await V(),l("send_notifications_email",!0),l("notifications_email_address",H),_()})()},(0,r.__)("Save and continue","really-simple-ssl")),(0,s.createElement)("button",{disabled:C,className:"button button-default",onClick:()=>{Z(x+1)}},(0,r.__)("Skip","really-simple-ssl"))):D.length-1===x?(0,s.createElement)(s.Fragment,null,(0,s.createElement)("button",{className:"button button-primary",onClick:()=>{e.isModal&&g(),W("dashboard")}},(0,r.__)("Go to Dashboard","really-simple-ssl")),(0,s.createElement)("button",{className:"button button-default",onClick:()=>g()},(0,r.__)("Dismiss","really-simple-ssl"))):void 0})())));var $}},7967:(e,t,l)=>{l.r(t),l.d(t,{default:()=>ae});var s=l(9307),a=l(5609),n=l(5736),r=l(3909),i=l(8473),o=l(4559),c=l(1789);const d=e=>{const{fields:t,setChangedField:l,updateField:a}=(0,o.Z)(),{licenseStatus:d,setLicenseStatus:m}=(0,c.Z)(),[u,p]=(0,s.useState)(!1),[_,f]=(0,s.useState)(!1),[h,y]=(0,s.useState)(!1);(0,s.useEffect)((()=>{i.SA("licenseNotices","refresh").then((e=>e)).then((e=>{m(e.licenseStatus),y(e.notices),p(!0)}))}),[t]);let g=e.field;return(0,s.createElement)("div",{className:"components-base-control"},(0,s.createElement)("div",{className:"components-base-control__field"},(0,s.createElement)("label",{className:"components-base-control__label",htmlFor:g.id},g.label),(0,s.createElement)("div",{className:"rsssl-license-field"},(0,s.createElement)("input",{className:"components-text-control__input",type:"password",id:g.id,value:g.value,onChange:e=>{return t=e.target.value,l(g.id,t),void a(g.id,t);var t}}),(0,s.createElement)("button",{className:"button button-default",onClick:()=>(()=>{if(p(!1),"valid"===d)i.SA("deactivate_license").then((e=>{m(e.licenseStatus),y(e.notices),p(!0)}));else{let t={};t.license=e.field.value,i.Kw("activate_license",t).then((e=>{m(e.licenseStatus),y(e.notices),p(!0)}))}})()},"valid"===d&&(0,s.createElement)(s.Fragment,null,(0,n.__)("Deactivate","really-simple-ssl")),"valid"!==d&&(0,s.createElement)(s.Fragment,null,(0,n.__)("Activate","really-simple-ssl"))))),u&&h.map(((e,t)=>(0,s.createElement)(r.Z,{key:t,index:t,notice:e,highLightField:""}))))},m=e=>{const{updateField:t,setChangedField:l}=(0,o.Z)();return(0,s.createElement)("div",{className:"components-base-control"},(0,s.createElement)("div",{className:"components-base-control__field"},(0,s.createElement)("label",{className:"components-base-control__label",htmlFor:e.field.id},e.field.label),(0,s.createElement)("input",{className:"components-text-control__input",type:"password",id:e.field.id,value:e.field.value,onChange:s=>{return a=s.target.value,t(e.field.id,a),void l(e.field.id,a);var a}})))},u=e=>{let t=e.field,l=!Array.isArray(e.disabled)&&e.disabled,a=!!Array.isArray(e.disabled)&&e.disabled;return(0,s.createElement)(s.Fragment,null,(0,s.createElement)("div",{className:"components-base-control"},(0,s.createElement)("div",{className:"components-base-control__field"},(0,s.createElement)("div",{"data-wp-component":"HStack",className:"components-flex components-select-control"},(0,s.createElement)("label",{htmlFor:t.id,className:"components-toggle-control__label"},e.label),(0,s.createElement)("select",{disabled:l,value:e.value,onChange:t=>e.onChangeHandler(t.target.value)},e.options.map(((e,t)=>(0,s.createElement)("option",{key:t,value:e.value,disabled:a&&a.includes(e.value)},e.label))))))),t.comment&&(0,s.createElement)("div",{className:"rsssl-comment",dangerouslySetInnerHTML:{__html:t.comment}}))},p=e=>{const{updateField:t,setChangedField:l,saveFields:n,handleNextButtonDisabled:r}=(0,o.Z)(),i=(0,s.useRef)(!1);let c=e.field.value,d=e.field,m=[];if(d.options)for(var u in d.options)if(d.options.hasOwnProperty(u)){let e={};e.label=d.options[u],e.value=u,m.push(e)}return(0,s.createElement)(a.SelectControl,{label:d.label,onChange:s=>(async s=>{let a=e.field;r(!0),i.current=!0,t(a.id,s),l(a.id,s),await n(!0,!1),r(!1),i.current=!1})(s),value:c,options:m,disabled:i.current})};var _=l(9950),f=l(4064),h=l(9818),y=l(7839),g=l(2485);const v=e=>{const{addHelpNotice:t,updateField:l,setChangedField:r,saveFields:c,fetchFieldsData:d}=(0,o.Z)(),{setSelectedSubMenuItem:m}=(0,g.Z)();let u=e.action;if((0,y.Z)((()=>{u&&"challenge_directory_reachable"===u.action&&"error"===u.status&&t(e.field.id,"default",(0,n.__)("The challenge directory is used to verify the domain ownership.","really-simple-ssl")),u&&"check_key_directory"===u.action&&"error"===u.status&&t(e.field.id,"default",(0,n.__)("The key directory is needed to store the generated keys.","really-simple-ssl")+" "+(0,n.__)("By placing it outside the root folder, it is not publicly accessible.","really-simple-ssl")),u&&"check_certs_directory"===u.action&&"error"===u.status&&t(e.field.id,"default",(0,n.__)("The certificate will get stored in this directory.","really-simple-ssl")+" "+(0,n.__)("By placing it outside the root folder, it is not publicly accessible.","really-simple-ssl"))})),!u)return(0,s.createElement)(s.Fragment,null);const p=async()=>{l("verification_type","dns"),r("verification_type","dns"),await c(!0,!0),await i.Kr("update_verification_type","dns").then((e=>{(0,h.dispatch)("core/notices").createNotice("success",(0,n.__)("Switched to DNS","really-simple-ssl"),{__unstableHTML:!0,id:"rsssl_switched_to_dns",type:"snackbar",isDismissible:!0}).then((0,f.Z)(3e3)).then((e=>{(0,h.dispatch)("core/notices").removeNotice("rsssl_switched_to_dns")}))})),await m("le-dns-verification"),await d("le-directories")};return(0,s.createElement)("div",{className:"rsssl-test-results"},"error"===u.status&&(0,s.createElement)("h4",null,(0,n.__)("Next step","really-simple-ssl")),"error"===u.status&&"challenge_directory_reachable"===u.action&&(0,s.createElement)("div",null,(0,s.createElement)("p",null,(0,n.__)("If the challenge directory cannot be created, or is not reachable, you can either remove the server limitation, or change to DNS verification.","really-simple-ssl")),(0,s.createElement)(a.Button,{variant:"secondary",onClick:()=>p()},(0,n.__)("Switch to DNS verification","really-simple-ssl"))),"cpanel"===rsssl_settings.hosting_dashboard&&(0,s.createElement)(s.Fragment,null,(0,s.createElement)("p",null,(0,s.createElement)(_.Z,{target:"_blank",text:(0,n.__)("If you also want to secure subdomains like mail.domain.com, cpanel.domain.com, you have to use the %sDNS%s challenge.","really-simple-ssl"),url:"https://really-simple-ssl.com/lets-encrypt-authorization-with-dns"})," ",(0,n.__)("Please note that auto-renewal with a DNS challenge might not be possible.","really-simple-ssl")),(0,s.createElement)(a.Button,{variant:"secondary",onClick:()=>p()},(0,n.__)("Switch to DNS verification","really-simple-ssl"))),"error"===u.status&&"check_challenge_directory"===u.action&&(0,s.createElement)("div",null,(0,s.createElement)("h4",null,(0,n.__)("Create a challenge directory","really-simple-ssl")),(0,s.createElement)("p",null,(0,n.__)("Navigate in FTP or File Manager to the root of your WordPress installation:","really-simple-ssl")),(0,s.createElement)("ul",null,(0,s.createElement)("li",{className:"rsssl-tooltip-icon dashicons-before rsssl-icon arrow-right-alt2 dashicons-arrow-right-alt2"},(0,n.__)("Create a folder called “.well-known”","really-simple-ssl")),(0,s.createElement)("li",{className:"rsssl-tooltip-icon dashicons-before rsssl-icon arrow-right-alt2 dashicons-arrow-right-alt2"},(0,n.__)("Inside the folder called “.well-known” create a new folder called “acme-challenge”, with 644 writing permissions.","really-simple-ssl")),(0,s.createElement)("li",{className:"rsssl-tooltip-icon dashicons-before rsssl-icon arrow-right-alt2 dashicons-arrow-right-alt2"},(0,n.__)("Click the refresh button.","really-simple-ssl"))),(0,s.createElement)("h4",null,(0,n.__)("Or you can switch to DNS verification","really-simple-ssl")),(0,s.createElement)("p",null,(0,n.__)("If the challenge directory cannot be created, you can either remove the server limitation, or change to DNS verification.","really-simple-ssl")),(0,s.createElement)(a.Button,{variant:"secondary",onClick:()=>p()},(0,n.__)("Switch to DNS verification","really-simple-ssl"))),"error"===u.status&&"check_key_directory"===u.action&&(0,s.createElement)("div",null,(0,s.createElement)("h4",null,(0,n.__)("Create a key directory","really-simple-ssl")),(0,s.createElement)("p",null,(0,n.__)("Navigate in FTP or File Manager to one level above the root of your WordPress installation:","really-simple-ssl")),(0,s.createElement)("ul",null,(0,s.createElement)("li",{className:"rsssl-tooltip-icon dashicons-before rsssl-icon arrow-right-alt2 dashicons-arrow-right-alt2"},(0,n.__)("Create a folder called “ssl”","really-simple-ssl")),(0,s.createElement)("li",{className:"rsssl-tooltip-icon dashicons-before rsssl-icon arrow-right-alt2 dashicons-arrow-right-alt2"},(0,n.__)("Inside the folder called “ssl” create a new folder called “keys”, with 644 writing permissions.","really-simple-ssl")),(0,s.createElement)("li",{className:"rsssl-tooltip-icon dashicons-before rsssl-icon arrow-right-alt2 dashicons-arrow-right-alt2"},(0,n.__)("Click the refresh button.","really-simple-ssl")))),"error"===u.status&&"check_certs_directory"===u.action&&(0,s.createElement)("div",null,(0,s.createElement)("h4",null,(0,n.__)("Create a certs directory","really-simple-ssl")),(0,s.createElement)("p",null,(0,n.__)("Navigate in FTP or File Manager to one level above the root of your WordPress installation:","really-simple-ssl")),(0,s.createElement)("ul",null,(0,s.createElement)("li",{className:"rsssl-tooltip-icon dashicons-before rsssl-icon arrow-right-alt2 dashicons-arrow-right-alt2"},(0,n.__)("Create a folder called “ssl”","really-simple-ssl")),(0,s.createElement)("li",{className:"rsssl-tooltip-icon dashicons-before rsssl-icon arrow-right-alt2 dashicons-arrow-right-alt2"},(0,n.__)("Inside the folder called “ssl” create a new folder called “certs”, with 644 writing permissions.","really-simple-ssl")),(0,s.createElement)("li",{className:"rsssl-tooltip-icon dashicons-before rsssl-icon arrow-right-alt2 dashicons-arrow-right-alt2"},(0,n.__)("Click the refresh button.","really-simple-ssl")))))},b=e=>{const{fields:t,addHelpNotice:l,updateField:r,setChangedField:c,saveFields:d,fetchFieldsData:m,getFieldValue:u}=(0,o.Z)(),{selectedSubMenuItem:p,setSelectedSubMenuItem:v}=(0,g.Z)(),[b,E]=(0,s.useState)(!1);let k=e.action;return(0,y.Z)((()=>{k&&"challenge_directory_reachable"===k.action&&"error"===k.status&&l(e.field.id,"default",(0,n.__)("The challenge directory is used to verify the domain ownership.","really-simple-ssl"));let t=!!k&&k.output;void 0!==t&&0!==t.length||(t=!1),t&&E(t)})),"dir"===u("verification_type")?(0,s.createElement)(s.Fragment,null):(0,s.createElement)(s.Fragment,null,b&&b.length>0&&(0,s.createElement)("div",{className:"rsssl-test-results"},(0,s.createElement)("h4",null,(0,n.__)("Next step","really-simple-ssl")),(0,s.createElement)("p",null,(0,n.__)("Add the following token as text record to your DNS records. We recommend to use a short TTL during installation, in case you need to change it.","really-simple-ssl"),(0,s.createElement)(_.Z,{target:"_blank",text:(0,n.__)("Read more","really-simple-ssl"),url:"https://really-simple-ssl.com/how-to-add-a-txt-record-to-dns"})),(0,s.createElement)("div",{className:"rsssl-dns-text-records"},(0,s.createElement)("div",null,(0,s.createElement)("div",{className:"rsssl-dns-domain"},"@/",(0,n.__)("domain","really-simple-ssl")),(0,s.createElement)("div",{className:"rsssl-dns-field"},(0,n.__)("Value","really-simple-ssl"))),b.map(((e,t)=>(0,s.createElement)("div",null,(0,s.createElement)("div",{className:"rsssl-dns-"},"_acme-challenge.",e.domain),(0,s.createElement)("div",{className:"rsssl-dns-field rsssl-selectable"},e.token)))))),(0,s.createElement)("div",{className:"rsssl-test-results"},(0,s.createElement)("p",null,(0,n.__)("DNS verification active. You can switch back to directory verification here.","really-simple-ssl")),(0,s.createElement)(a.Button,{variant:"secondary",onClick:()=>(async()=>{await v("le-directories"),await r("verification_type","dir"),await c("verification_type","dir"),await d(!0,!0),await i.Kr("update_verification_type","dir").then((e=>{(0,h.dispatch)("core/notices").createNotice("success",(0,n.__)("Switched to Directory","really-simple-ssl"),{__unstableHTML:!0,id:"rsssl_switched_to_dns",type:"snackbar",isDismissible:!0}).then((0,f.Z)(3e3)).then((e=>{(0,h.dispatch)("core/notices").removeNotice("rsssl_switched_to_dns")}))})),await m("le-directories")})()},(0,n.__)("Switch to directory verification","really-simple-ssl"))))},E=e=>{let t=e.action;return t?(0,s.createElement)("div",{className:"rsssl-test-results"},"error"===t.status&&"verify_dns"===t.action&&(0,s.createElement)(s.Fragment,null,(0,s.createElement)("p",null,(0,n.__)("We could not check the DNS records. If you just added the record, please check in a few minutes.","really-simple-ssl")," ",(0,s.createElement)(_.Z,{target:"_blank",text:(0,n.__)("You can manually check the DNS records in an %sonline tool%s.","really-simple-ssl"),url:"https://mxtoolbox.com/SuperTool.aspx"}),(0,n.__)("If you're sure it's set correctly, you can click the button to skip the DNS check.","really-simple-ssl")," "),(0,s.createElement)(a.Button,{variant:"secondary",onClick:()=>i.Kr("skip_dns_check").then((t=>{e.restartTests(),(0,h.dispatch)("core/notices").createNotice("success",(0,n.__)("Skip DNS verification","really-simple-ssl"),{__unstableHTML:!0,id:"rsssl_skip_dns",type:"snackbar",isDismissible:!0}).then((0,f.Z)(3e3)).then((e=>{(0,h.dispatch)("core/notices").removeNotice("rsssl_skip_dns")}))}))},(0,n.__)("Skip DNS check","really-simple-ssl")))):(0,s.createElement)(s.Fragment,null)};var k=l(7372);const w=()=>(0,s.createElement)("div",{className:"rsssl-lets-encrypt-tests"},(0,s.createElement)(k.Z,null)),N=e=>{const{addHelpNotice:t}=(0,o.Z)(),[l,a]=(0,s.useState)(!1);let r=e.action;(0,y.Z)((()=>{r&&"warning"===r.status&&l&&l.generated_by_rsssl&&(t(e.field.id,"default",(0,n.__)("This is the certificate, which you need to install in your hosting dashboard.","really-simple-ssl"),(0,n.__)("Certificate (CRT)","really-simple-ssl")),t(e.field.id,"default",(0,n.__)("The private key can be uploaded or pasted in the appropriate field on your hosting dashboard.","really-simple-ssl"),(0,n.__)("Private Key (KEY)","really-simple-ssl")),t(e.field.id,"default",(0,n.__)("The CA Bundle will sometimes be automatically detected. If not, you can use this file.","really-simple-ssl"),(0,n.__)("Certificate Authority Bundle (CABUNDLE)","really-simple-ssl"))),!r||"error"!==r.status&&"warning"!==r.status||i.Kr("installation_data").then((e=>{e&&a(e.output)}))}));const c=e=>{let t,l=document.querySelector(".rsssl-"+e).innerText;const s=document.createElement("textarea");s.value=l,document.body.appendChild(s),s.select();try{t=document.execCommand("copy")}catch(e){t=!1}document.body.removeChild(s),(0,h.dispatch)("core/notices").createNotice("success",(0,n.__)("Copied!","really-simple-ssl"),{__unstableHTML:!0,id:"rsssl_copied_data",type:"snackbar",isDismissible:!0}).then((0,f.Z)(3e3)).then((e=>{(0,h.dispatch)("core/notices").removeNotice("rsssl_copied_data")}))};return r&&l?(0,s.createElement)("div",{className:"rsssl-test-results"},!l.generated_by_rsssl&&(0,s.createElement)(s.Fragment,null,(0,n.__)("The certificate is not generated by Really Simple SSL, so there are no installation files here","really-simple-ssl")),l.generated_by_rsssl&&"warning"===r.status&&(0,s.createElement)(s.Fragment,null,(0,s.createElement)("h4",null,(0,n.__)("Next step","really-simple-ssl")),(0,s.createElement)("div",{className:"rsssl-template-intro"},(0,n.__)("Install your certificate.","really-simple-ssl")),(0,s.createElement)("h4",null,(0,n.__)("Certificate (CRT)","really-simple-ssl")),(0,s.createElement)("div",{className:"rsssl-certificate-data rsssl-certificate",id:"rsssl-certificate"},l.certificate_content),(0,s.createElement)("a",{href:l.download_url+"&type=certificate",className:"button button-secondary"},(0,n.__)("Download","really-simple-ssl")),(0,s.createElement)("button",{type:"button",onClick:e=>c("certificate"),className:"button button-primary"},(0,n.__)("Copy content","really-simple-ssl")),(0,s.createElement)("h4",null,(0,n.__)("Private Key (KEY)","really-simple-ssl")),(0,s.createElement)("div",{className:"rsssl-certificate-data rsssl-key",id:"rsssl-key"},l.key_content),(0,s.createElement)("a",{href:l.download_url+"&type=private_key",className:"button button-secondary"},(0,n.__)("Download","really-simple-ssl")),(0,s.createElement)("button",{type:"button",className:"button button-primary",onClick:e=>c("key")},(0,n.__)("Copy content","really-simple-ssl")),(0,s.createElement)("h4",null,(0,n.__)("Certificate Authority Bundle (CABUNDLE)","really-simple-ssl")),(0,s.createElement)("div",{className:"rsssl-certificate-data rsssl-cabundle",id:"rsssl-cabundle"},l.ca_bundle_content),(0,s.createElement)("a",{href:l.download_url+"&type=intermediate",className:"button button-secondary"},(0,n.__)("Download","really-simple-ssl")),(0,s.createElement)("button",{type:"button",className:"button button-primary",onClick:e=>c("cabundle")},(0,n.__)("Copy content","really-simple-ssl")))):(0,s.createElement)(s.Fragment,null)};var S=l(3882),C=l(8914);const F=e=>{const{handleNextButtonDisabled:t,getFieldValue:l}=(0,o.Z)(),{actionsList:a,setActionsList:r,setActionsListItem:c,setActionsListProperty:d,actionIndex:m,setActionIndex:u,attemptCount:p,setAttemptCount:_,progress:h,setProgress:y,refreshTests:g,setRefreshTests:k}=(0,C.Z)(),F=(0,s.useRef)(1e3),D=((0,s.useRef)(!1),(0,s.useRef)(-1)),L=(0,s.useRef)(1),x=(0,s.useRef)(0),Z=(0,s.useRef)({});(0,s.useEffect)((()=>{I()}),[e.field.id]),(0,s.useEffect)((()=>{a.length>0&&-1===m&&(u(0),A(0,0))}),[a]),(0,s.useEffect)((()=>{}),[]),(0,s.useEffect)((()=>{D.current=m,y(100/L.current*m);let e=a[m];e&&"retry"===e.do&&p>1&&y(90)}),[m]),(0,s.useEffect)((()=>{x.current=h}),[h]),(0,s.useEffect)((()=>{g&&(k(!1),I(),a.forEach((function(e,t){d(t,"status","inactive")})))}),[g]);const T={inactive:{icon:"circle-times",color:"grey"},warning:{icon:"circle-times",color:"orange"},error:{icon:"circle-times",color:"red"},success:{icon:"circle-check",color:"green"}},I=()=>{t(!0),r((()=>{let t=e.field.actions;return"generation"===e.field.id&&(t=R(t)),L.current=t.length,t})()),y(0),x.current=0,u(-1),D.current=-1},R=e=>{let t=l("verification_type");if(t||(t="dir"),"dns"===t){let t=!1;e.forEach((function(e,l){"verify_dns"===e.action&&(t=!0)}));let l=-1;if(e.forEach((function(e,t){"create_bundle_or_renew"===e.action&&(l=t)})),!t&&l>0){let t=[...e],s=t[l],a={action:"verify_dns"};a.description=(0,n.__)("Verifying DNS records...","really-simple-ssl"),a.attempts=2,t[l]=a,t.push(s),e=t}}return e},A=async l=>{let s={...a[l]};if(!s)return;let n=s.action;const r=new Date;await i.Kr(n,e.field.id).then((e=>{let t=new Date-r;const a=Math.round(t);s.status=e.status?e.status:"inactive",s.hide=!1,s.description=e.message,s.do=e.action,s.output=!!e.output&&e.output,F.current=500,a<1500&&(F.current=1500-a),c(l,s)})).then((0,f.Z)(F.current)).then((()=>{(async(e,l)=>{"success"===e.status?_(0):(Number.isInteger(e.attemptCount)||_(0),_(p+1));let s=new CustomEvent("rsssl_le_response",{detail:e});document.dispatchEvent(s),"finalize"===e.do?(a.forEach((function(e,t){t>l&&d(t,"hide",!0)})),u(L.current+1),t(!1)):"continue"===e.do||"skip"===e.do?(_(1),"skip"===e.do&&d(l,"hide",!0),L.current-1>l?(u(l+1),await A(l+1)):(u(l+1),t(!1))):"retry"===e.do?p>=e.attempts?u(L.current):(u(l),await A(l)):"stop"===e.do&&u(L.current)})(s,l)}))},M=e=>T.hasOwnProperty(e.status)?T[e.status].icon:T.inactive.icon,P=e=>T.hasOwnProperty(e.status)?T[e.status].color:T.inactive.color;if(!e.field.actions)return(0,s.createElement)(s.Fragment,null);let O=h;L.current===m+1&&(O=100);let H=a.filter((e=>!0!==e.hide)),j=a[m];j?Z.current=j:j=Z.current;let V="error"===j.status?"rsssl-orange":"";return(0,s.createElement)(s.Fragment,null,(0,s.createElement)("div",{className:"rsssl-lets-encrypt-tests"},(0,s.createElement)("div",{className:"rsssl-progress-bar"},(0,s.createElement)("div",{className:"rsssl-progress"},(0,s.createElement)("div",{className:"rsssl-bar "+V,style:(K=O,Object.assign({},{width:K+"%"}))}))),(0,s.createElement)("div",{className:"rsssl_letsencrypt_container rsssl-progress-container field-group"},(0,s.createElement)("ul",null,H.map(((e,t)=>(0,s.createElement)("li",{key:"action-"+t},(0,s.createElement)(S.Z,{name:M(e),color:P(e)}),"retry"===e.do&&p>=1&&(0,s.createElement)(s.Fragment,null,(0,n.__)("Attempt %s.","really-simple-ssl").replace("%s",p)," ")," ",(0,s.createElement)("span",{dangerouslySetInnerHTML:{__html:e.description}})))))),"directories"===e.field.id&&(0,s.createElement)(v,{field:e.field,action:j}),"dns-verification"===e.field.id&&(0,s.createElement)(b,{field:e.field,action:j}),"generation"===e.field.id&&(0,s.createElement)(E,{field:e.field,action:j}),"installation"===e.field.id&&(0,s.createElement)(N,{field:e.field,action:j}),"activate"===e.field.id&&(0,s.createElement)(w,{field:e.field,action:j})));var K};var D=l(5097);const L=e=>{const{handleModal:t}=(0,D.Z)();return(0,s.createElement)("button",{className:"button button-"+e.btnStyle,onClick:l=>{t(!0,e.modalData,e.item)}},e.btnText)};var x=l(270);const Z=(0,x.Ue)(((e,t)=>({mixedContentData:[],dataLoaded:!1,fixedItemId:!1,action:"",nonce:"",completedStatus:"never",progress:0,scanStatus:!1,fetchMixedContentData:async()=>{e({scanStatus:"running"});const{data:t,progress:l,state:s,action:a,nonce:n,completed_status:r}=await T(!1);e({scanStatus:s,mixedContentData:t,progress:l,action:a,nonce:n,completedStatus:r,dataLoaded:!0})},start:async()=>{const{data:t,progress:l,state:s,action:a,nonce:n,completed_status:r}=await T("start");e({scanStatus:s,mixedContentData:t,progress:l,action:a,nonce:n,completedStatus:r,dataLoaded:!0})},runScanIteration:async()=>{let l=t().scanStatus;if("stop"===l)return;const{data:s,progress:a,state:n,action:r,nonce:i,completed_status:o}=await T(l);"stop"!==t().scanStatus&&e({scanStatus:n,mixedContentData:s,progress:a,action:r,nonce:i,completedStatus:o,dataLoaded:!0})},stop:async()=>{e({scanStatus:"stop"});const{data:t,progress:l,state:s,action:a,nonce:n,completed_status:r}=await T("stop");e({scanStatus:"stop",mixedContentData:t,progress:l,action:a,nonce:n,completedStatus:r})},removeDataItem:l=>{let s=t().mixedContentData;for(const e of s)e.id===l.id&&(e.fixed=!0);e({mixedContentData:s})},ignoreDataItem:l=>{let s=t().mixedContentData;for(const e of s)e.id===l.id&&(e.ignored=!0);e({mixedContentData:s})}}))),T=async e=>await i.SA("mixed_content_scan",e).then((t=>{let l=t.data;return"object"==typeof l&&(l=Object.values(l)),Array.isArray(l)||(l=[]),t.data=l,"stop"===e&&(t.state="stop"),t})),I=e=>{const{fixedItems:t,ignoredItems:r}=(0,D.Z)(),{fetchMixedContentData:i,mixedContentData:o,runScanIteration:c,start:d,stop:m,dataLoaded:u,action:p,scanStatus:_,progress:f,completedStatus:h,nonce:y,removeDataItem:g,ignoreDataItem:v}=Z(),[b,E]=(0,s.useState)(!1),[k,w]=(0,s.useState)(!1),[N,C]=(0,s.useState)(null),[F,x]=(0,s.useState)(null);(0,s.useEffect)((()=>{Promise.resolve().then(l.bind(l,44)).then((e=>{let{default:t,createTheme:l}=e;C((()=>t)),x((()=>l("really-simple-plugins",{divider:{default:"transparent"}},"light")))}))}),[]),(0,s.useEffect)((()=>{i()}),[]),(0,s.useEffect)((()=>{"running"===_&&c()}),[f,_]);let T=e.field,I=[];T.columns.forEach((function(e,t){let l={name:e.name,sortable:e.sortable,grow:e.grow,selector:t=>t[e.column],right:!!e.right};I.push(l)}));let R=u?o:[];for(const l of R)l.warningControl=(0,s.createElement)("span",{className:"rsssl-task-status rsssl-warning"},(0,n.__)("Warning","really-simple-ssl")),t.includes(l.id)&&(l.fixed=!0),r.includes(l.id)&&(l.ignored=!0),l.fix&&(l.fix.url=l.blocked_url,l.fix.nonce=y),l.details&&(l.details.url=l.blocked_url,l.details.nonce=y,l.details.ignored=l.ignored),l.location.length>0&&(-1!==l.location.indexOf("http://")||-1!==l.location.indexOf("https://")?l.locationControl=(0,s.createElement)("a",{href:l.location,target:"_blank"},(0,n.__)("View","really-simple-ssl")):l.locationControl=l.location),l.detailsControl=l.details&&(0,s.createElement)(L,{handleModal:e.handleModal,item:l,id:l.id,btnText:(0,n.__)("Details","really-simple-ssl"),btnStyle:"secondary",modalData:l.details}),l.fixControl=l.fix&&(0,s.createElement)(L,{className:"button button-primary",handleModal:e.handleModal,item:l,id:l.id,btnText:(0,n.__)("Fix","really-simple-ssl"),btnStyle:"primary",modalData:l.fix});b||(R=R.filter((e=>!e.ignored))),R=R.filter((e=>!e.fixed));let A=f+"%",M="running"===_,P="running"!==_;return(0,s.createElement)(s.Fragment,null,(0,s.createElement)("div",{className:"rsssl-progress-container"},(0,s.createElement)("div",{className:"rsssl-progress-bar",style:{width:A}})),"running"===_&&(0,s.createElement)("div",{className:"rsssl-current-scan-action"},p),0===R.length&&(0,s.createElement)(s.Fragment,null,(0,s.createElement)("div",{className:"rsssl-mixed-content-description"},"running"!==_&&"never"===h&&(0,n.__)("No results. Start your first scan","really-simple-ssl"),"running"!==_&&"completed"===h&&(0,n.__)("Everything is now served over SSL","really-simple-ssl")),("running"===_||"completed"!==h)&&(0,s.createElement)("div",{className:"rsssl-mixed-content-placeholder"},(0,s.createElement)("div",null),(0,s.createElement)("div",null),(0,s.createElement)("div",null)),"running"!==_&&"completed"===h&&(0,s.createElement)("div",{className:"rsssl-shield-overlay"},(0,s.createElement)(S.Z,{name:"shield",size:"80px"}))),N&&R.length>0&&(0,s.createElement)("div",{className:"rsssl-mixed-content-datatable"},(0,s.createElement)(N,{columns:I,data:R,dense:!0,pagination:!0,paginationResetDefaultPage:k,noDataComponent:(0,n.__)("No results","really-simple-ssl"),theme:F,customStyles:{headCells:{style:{paddingLeft:"0",paddingRight:"0"}},cells:{style:{paddingLeft:"0",paddingRight:"0"}}}})),(0,s.createElement)("div",{className:"rsssl-grid-item-content-footer"},(0,s.createElement)("button",{className:"button",disabled:M,onClick:()=>d()},(0,n.__)("Start scan","really-simple-ssl")),(0,s.createElement)("button",{className:"button",disabled:P,onClick:()=>m()},(0,n.__)("Stop","really-simple-ssl")),(0,s.createElement)(a.ToggleControl,{checked:1==b,onChange:e=>{E(!b)}}),(0,s.createElement)("label",null,(0,n.__)("Show ignored URLs","really-simple-ssl"))))},R=e=>{const{fields:t,updateField:r,updateSubField:i,setChangedField:c,saveFields:d}=(0,o.Z)(),[m,u]=(0,s.useState)(0),[p,_]=(0,s.useState)(null),[f,h]=(0,s.useState)(null);(0,s.useEffect)((()=>{Promise.resolve().then(l.bind(l,44)).then((e=>{let{default:t,createTheme:l}=e;_((()=>t)),h((()=>l("really-simple-plugins",{divider:{default:"transparent"}},"light")))}))}),[]),(0,s.useEffect)((()=>{let e=t.filter((e=>"enable_permissions_policy"===e.id))[0];u(e.value)}),[]);const y=(t,l)=>{let s=e.field;"object"==typeof s.value&&r(s.id,Object.values(s.value)),i(s.id,l.id,t),c(s.id,t),d(!0,!1)},g=(e,l)=>{e.preventDefault();let s=t.filter((e=>"enable_permissions_policy"===e.id))[0];u(l),r(s.id,l),c(s.id,s.value),d(!0,!1)};let v=e.field,b=(v.value,e.options);columns=[],v.columns.forEach((function(e,t){let l={name:e.name,sortable:e.sortable,width:e.width,selector:t=>t[e.column]};columns.push(l)}));let E=v.value;"object"==typeof E&&(E=Object.values(E)),Array.isArray(E)||(E=[]);let k=[];for(const e of E){let t={...e};t.valueControl=(0,s.createElement)(a.SelectControl,{help:"",value:e.value,disabled:!1,options:b,label:"",onChange:t=>y(t,e)}),k.push(t)}return p&&f?(0,s.createElement)("div",null,(0,s.createElement)(p,{columns,data:k,dense:!0,pagination:!1,customStyles:{headCells:{style:{paddingLeft:"0",paddingRight:"0"}},cells:{style:{paddingLeft:"0",paddingRight:"0"}}},theme:f}),1!=m&&(0,s.createElement)("button",{className:"button button-primary",onClick:e=>g(e,!0)},(0,n.__)("Enforce","really-simple-ssl")),1==m&&(0,s.createElement)("div",{className:"rsssl-locked"},(0,s.createElement)("div",{className:"rsssl-shield-overlay"},(0,s.createElement)(S.Z,{name:"shield",size:"80px"})),(0,s.createElement)("div",{className:"rsssl-locked-overlay"},(0,s.createElement)("span",{className:"rsssl-progress-status rsssl-learning-mode-enforced"},(0,n.__)("Enforced","really-simple-ssl")),e.disabled&&(0,s.createElement)(s.Fragment,null,(0,n.__)("Permissions Policy is set outside Really Simple SSL.","really-simple-ssl")," "),!e.disabled&&(0,s.createElement)(s.Fragment,null,(0,n.__)("Permissions Policy is enforced.","really-simple-ssl")," "),!e.disabled&&(0,s.createElement)("a",{className:"rsssl-learning-mode-link",href:"#",onClick:e=>g(e,!1)},(0,n.__)("Disable","really-simple-ssl")))),e.disabled&&1!=m&&(0,s.createElement)("div",{className:"rsssl-locked"},(0,s.createElement)("div",{className:"rsssl-locked-overlay"},(0,s.createElement)("span",{className:"rsssl-progress-status rsssl-disabled"},(0,n.__)("Disabled","really-simple-ssl")),(0,n.__)("The Permissions Policy has been disabled.","really-simple-ssl")))):null},A=e=>{const[t,a]=(0,s.useState)(!1),[n,r]=(0,s.useState)(!1);(0,s.useEffect)((()=>{n||Promise.resolve().then(l.t.bind(l,5609,23)).then((e=>{let{default:t}=e;r((()=>t))}))}),[]);const i=t=>{n&&e.field.warning&&e.field.warning.length>0&&!e.field.value?a(!0):o()},o=t=>{let l=!e.field.value;e.onChangeHandler(l)};let c=e.field,d=c.value?"is-checked":"",m=e.disabled?"is-disabled":"";return(0,s.createElement)(s.Fragment,null,n&&(0,s.createElement)(n,{isOpen:t,onConfirm:async()=>{a(!1),o()},onCancel:()=>{a(!1)}},c.warning),(0,s.createElement)("div",{className:"components-base-control components-toggle-control"},(0,s.createElement)("div",{className:"components-base-control__field"},(0,s.createElement)("div",{"data-wp-component":"HStack",className:"components-flex components-h-stack"},(0,s.createElement)("span",{className:"components-form-toggle "+d+" "+m},(0,s.createElement)("input",{onKeyDown:e=>(e=>{"Enter"===e.key&&(e.preventDefault(),i())})(e),checked:c.value,className:"components-form-toggle__input",onChange:e=>i(),id:c.id,type:"checkbox",disabled:e.disabled}),(0,s.createElement)("span",{className:"components-form-toggle__track"}),(0,s.createElement)("span",{className:"components-form-toggle__thumb"})),(0,s.createElement)("label",{htmlFor:c.id,className:"components-toggle-control__label"},e.label)))))},M=()=>{const[e,t]=(0,s.useState)(""),[l,r]=(0,s.useState)(!1);let o=l||0===e.length;return(0,s.createElement)(s.Fragment,null,(0,s.createElement)(a.TextareaControl,{disabled:l,placeholder:(0,n.__)("Type your question here","really-simple-ssl"),onChange:e=>(e=>{t(e)})(e)}),(0,s.createElement)(a.Button,{disabled:o,variant:"secondary",onClick:t=>(r(!0),i.SA("supportData","refresh").then((t=>{let l=e.replace(/(?:\r\n|\r|\n)/g,"--br--"),s="https://really-simple-ssl.com/support?customername="+encodeURIComponent(t.customer_name)+"&email="+t.email+"&domain="+t.domain+"&scanresults="+encodeURIComponent(t.scan_results)+"&licensekey="+encodeURIComponent(t.license_key)+"&supportrequest="+encodeURIComponent(l)+"&htaccesscontents="+t.htaccess_contents+"&debuglog="+t.system_status;window.location.assign(s)})))},(0,n.__)("Send","really-simple-ssl")))},P=(0,x.Ue)(((e,t)=>({learningModeData:[],dataLoaded:!1,fetchLearningModeData:async t=>{let l={};l.type=t,l.lm_action="get";let s=await i.Kw("learning_mode_data",l).then((e=>e));"object"==typeof s&&(s=Object.values(s)),Array.isArray(s)||(s=[]),e({learningModeData:s,dataLoaded:!0})},updateStatus:async(l,s,a)=>{let n=t().learningModeData,r={};r.type=a,r.updateItemId=s.id,r.enabled=1==l?0:1,r.lm_action="update";for(const e of n)s.id===e.id&&e.status&&(e.status=r.enabled);e({learningModeData:n}),n=await i.Kw("learning_mode_data",r).then((e=>e)),"object"==typeof n&&(n=Object.values(n)),Array.isArray(n)||(n=[]),e({learningModeData:n,dataLoaded:!0})},deleteData:async(l,s)=>{let a=t().learningModeData,n={};n.type=s,n.updateItemId=l.id,n.lm_action="delete",a.forEach((function(e,t){e.id===l.id&&a.splice(t,1)})),e({learningModeData:a}),a=await i.Kw("learning_mode_data",n).then((e=>e)),"object"==typeof a&&(a=Object.values(a)),Array.isArray(a)||(a=[]),e({learningModeData:a,dataLoaded:!0})}}))),O=e=>{const{updateStatus:t}=P();let l=1==e.item.status?"button button-primary rsssl-status-allowed":"button button-default rsssl-status-revoked",a=1==e.item.status?(0,n.__)("Revoke","really-simple-ssl"):(0,n.__)("Allow","really-simple-ssl");return(0,s.createElement)("button",{onClick:()=>t(e.item.status,e.item,e.field.id),className:l},a)},H=e=>{const{deleteData:t}=P();return(0,s.createElement)("button",{type:"button",className:" rsssl-learning-mode-delete",onClick:()=>t(e.item,e.field.id)},(0,s.createElement)("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 320 512",height:"16"},(0,s.createElement)("path",{fill:"#000000",d:"M310.6 361.4c12.5 12.5 12.5 32.75 0 45.25C304.4 412.9 296.2 416 288 416s-16.38-3.125-22.62-9.375L160 301.3L54.63 406.6C48.38 412.9 40.19 416 32 416S15.63 412.9 9.375 406.6c-12.5-12.5-12.5-32.75 0-45.25l105.4-105.4L9.375 150.6c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0L160 210.8l105.4-105.4c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25l-105.4 105.4L310.6 361.4z"})))},j=e=>{const{updateField:t,getFieldValue:a,getField:r,setChangedField:i,highLightField:c,saveFields:d}=(0,o.Z)(),{fetchLearningModeData:m,learningModeData:u,dataLoaded:p}=P(),[_,f]=(0,s.useState)(0),[h,y]=(0,s.useState)(0),[g,v]=(0,s.useState)(0),[b,E]=(0,s.useState)(0),[k,w]=(0,s.useState)(!1),[N,C]=(0,s.useState)(0),[F,D]=(0,s.useState)(-1),[L,x]=(0,s.useState)(!1),[Z,T]=(0,s.useState)(null),[I,R]=(0,s.useState)(null);(0,s.useEffect)((()=>{Promise.resolve().then(l.bind(l,44)).then((e=>{let{default:t,createTheme:l}=e;T((()=>t)),R((()=>l("really-simple-plugins",{divider:{default:"transparent"}},"light")))}))}),[]),(0,s.useEffect)((()=>{(async()=>{await m(e.field.id);let t=r(e.field.control_field),l="enforced-by-thirdparty"===t.value,s=l||"enforce"===t.value;x(t),f(l),E("completed"===t.value),w("error"===t.value),C(a(e.field.control_field+"_lm_enabled_once")),y(s),v("learning_mode"===t.value)})()}),[h,g]);const A=(e,l)=>{e.preventDefault();let s=1==l?"enforce":"disabled";y(l),E(0),v(0),i(L.id,s),t(L.id,s),d(!0,!1),m()},M=async l=>{l.preventDefault();let s,a=r(e.field.control_field+"_lm_enabled_once");g&&(C(1),t(a.id,1)),g||b?(v(0),s="disabled"):(v(1),s="learning_mode"),E(0),i(L.id,s),t(L.id,s),i(a.id,a.value),t(a,a.value),await d(!0,!1)};let j=e.field,V=(0,n.__)(" The %s is now in report-only mode and will collect directives. This might take a while. Afterwards you can Exit, Edit and Enforce these Directives.","really-simple-ssl").replace("%s",j.label),K=(0,n.__)("%s has been disabled.","really-simple-ssl").replace("%s",j.label),B=(0,n.__)("%s is enforced.","really-simple-ssl").replace("%s",j.label),U=!N;_&&(K=(0,n.__)("%s is already set outside Really Simple SSL.","really-simple-ssl").replace("%s",j.label));let z="rsssl-field-wrap";e.field.id;let W=[];j.columns.forEach((function(e,t){let l={name:e.name,sortable:e.sortable,width:e.width,selector:t=>t[e.column]};W.push(l)}));let q=u;q=q.filter((e=>e.status<2)),-1!=F&&(q=q.filter((e=>e.status==F)));for(const t of q)t.login_status&&(t.login_statusControl=1==t.login_status?(0,n.__)("success","really-simple-ssl"):(0,n.__)("failed","really-simple-ssl")),t.statusControl=(0,s.createElement)(O,{item:t,field:e.field}),t.deleteControl=(0,s.createElement)(H,{item:t,field:e.field});return Z&&I?(0,s.createElement)(s.Fragment,null,(0,s.createElement)("div",null,!p||0==q.length&&(0,s.createElement)(s.Fragment,null,(0,s.createElement)("div",{className:"rsssl-learningmode-placeholder"},(0,s.createElement)("div",null),(0,s.createElement)("div",null),(0,s.createElement)("div",null),(0,s.createElement)("div",null))),q.length>0&&(0,s.createElement)(s.Fragment,null,(0,s.createElement)(Z,{columns:W,data:q,dense:!0,pagination:!0,noDataComponent:(0,n.__)("No results","really-simple-ssl"),persistTableHead:!0,theme:I,customStyles:{headCells:{style:{paddingLeft:"0",paddingRight:"0"}},cells:{style:{paddingLeft:"0",paddingRight:"0"}}},conditionalRowStyles:[{when:e=>0==e.status,classNames:["rsssl-datatables-revoked"]}]})),(0,s.createElement)("div",{key:"2",className:"rsssl-learning-mode-footer "},k&&(0,s.createElement)("div",{className:"rsssl-locked"},(0,s.createElement)("div",{className:"rsssl-locked-overlay"},(0,s.createElement)("span",{className:"rsssl-progress-status rsssl-learning-mode-error"},(0,n.__)("Error detected","really-simple-ssl")),(0,n.__)("%s cannot be implemented due to server limitations. Check your notices for the detected issue.","really-simple-ssl").replace("%s",j.label)," ",(0,s.createElement)("a",{className:"rsssl-learning-mode-link",href:"#",onClick:e=>A(e,!1)},(0,n.__)("Disable","really-simple-ssl")))),!k&&(0,s.createElement)(s.Fragment,null,1!=h&&(0,s.createElement)("button",{disabled:U,className:"button button-primary",onClick:e=>A(e,!0)},(0,n.__)("Enforce","really-simple-ssl")),!_&&1==h&&(0,s.createElement)("button",{className:"button",onClick:e=>A(e,!1)},(0,n.__)("Disable","really-simple-ssl")),(0,s.createElement)("label",null,(0,s.createElement)("input",{type:"checkbox",disabled:h,checked:1==g,value:g,onChange:e=>M(e)}),(0,n.__)("Enable Learning Mode to configure automatically","really-simple-ssl")),1==h&&(0,s.createElement)("div",{className:"rsssl-locked"},(0,s.createElement)("div",{className:"rsssl-shield-overlay"},(0,s.createElement)(S.Z,{name:"shield",size:"80px"})),(0,s.createElement)("div",{className:"rsssl-locked-overlay"},(0,s.createElement)("span",{className:"rsssl-progress-status rsssl-learning-mode-enforced"},(0,n.__)("Enforced","really-simple-ssl")),B," ",(0,s.createElement)("a",{className:"rsssl-learning-mode-link",href:"#",onClick:e=>A(e)},(0,n.__)("Disable to configure","really-simple-ssl")))),1==g&&(0,s.createElement)("div",{className:"rsssl-locked"},(0,s.createElement)("div",{className:"rsssl-locked-overlay"},(0,s.createElement)("span",{className:"rsssl-progress-status rsssl-learning-mode"},(0,n.__)("Learning Mode","really-simple-ssl")),V," ",(0,s.createElement)("a",{className:"rsssl-learning-mode-link",href:"#",onClick:e=>M(e)},(0,n.__)("Exit","really-simple-ssl")))),1==b&&(0,s.createElement)("div",{className:"rsssl-locked"},(0,s.createElement)("div",{className:"rsssl-locked-overlay"},(0,s.createElement)("span",{className:"rsssl-progress-status rsssl-learning-mode-completed"},(0,n.__)("Learning Mode","really-simple-ssl")),(0,n.__)("We finished the configuration.","really-simple-ssl")," ",(0,s.createElement)("a",{className:"rsssl-learning-mode-link",href:"#",onClick:e=>M(e)},(0,n.__)("Review the settings and enforce the policy","really-simple-ssl")))),rsssl_settings.pro_plugin_active&&e.disabled&&(0,s.createElement)("div",{className:"rsssl-locked "},(0,s.createElement)("div",{className:"rsssl-locked-overlay"},!_&&(0,s.createElement)("span",{className:"rsssl-progress-status rsssl-disabled"},(0,n.__)("Disabled","really-simple-ssl")),_&&(0,s.createElement)("span",{className:"rsssl-progress-status rsssl-learning-mode-enforced"},(0,n.__)("Enforced","really-simple-ssl")),K))),(0,s.createElement)((()=>(0,s.createElement)(s.Fragment,null,(0,s.createElement)("select",{onChange:e=>D(e.target.value),value:F},(0,s.createElement)("option",{value:"-1"},(0,n.__)("All","really-simple-ssl")),(0,s.createElement)("option",{value:"1"},(0,n.__)("Allowed","really-simple-ssl")),(0,s.createElement)("option",{value:"0"},(0,n.__)("Blocked","really-simple-ssl"))))),null)))):null};var V=l(9196),K=l(870);const B=e=>{const{riskData:t,dummyRiskData:a,processing:n,dataLoaded:r,fetchVulnerabilities:i,updateRiskData:c}=(0,K.Z)(),{fields:d,fieldAlreadyEnabled:m,getFieldValue:u,setChangedField:p,updateField:_,saveFields:f}=(0,o.Z)(),[h,y]=(0,V.useState)(!1),[g,v]=(0,V.useState)(!1),[b,E]=(0,V.useState)(null),[k,w]=(0,V.useState)(null);(0,V.useEffect)((()=>{Promise.resolve().then(l.bind(l,44)).then((e=>{let{default:t,createTheme:l}=e;E((()=>t)),w((()=>l("really-simple-plugins",{divider:{default:"transparent"}},"light")))}))}),[]),(0,V.useEffect)((()=>{m("enable_vulnerability_scanner")&&(r||i());let e=m("enable_vulnerability_scanner");v(e);let t=1==u("measures_enabled");y(t)}),[d]),(0,V.useEffect)((()=>{let e=1==u("measures_enabled");y(e)}),[]);let N=[];e.field.columns.forEach((function(e,t){let l={name:(s=e).name,sortable:s.sortable,width:s.width,selector:e=>e[s.column],grow:s.grow};var s;N.push(l)}));let S=e.field.options;S=Object.entries(S).map((e=>({label:e[1],value:e[0]})));let C=[...t];C=0===C.length?[...a]:C;let F=!g||!h;for(const e in C){let t={...C[e]};t.riskSelection=(0,s.createElement)("select",{disabled:n||F,value:t.value,onChange:e=>{return l=e.target.value,void c(t.id,l);var l}},S.map(((e,l)=>(0,s.createElement)("option",{key:l,value:e.value,disabled:t.disabledRiskLevels&&t.disabledRiskLevels.includes(e.value)},e.label)))),C[e]=t}let D=F?"rsssl-processing":"";return(0,s.createElement)("div",{className:D},b&&(0,s.createElement)(b,{columns:N,data:Object.values(C),theme:k}))};var U=l(44);const z=(0,x.Ue)(((e,t)=>({step:0,setStep:t=>e({step:t})})));var W=l(2387);const q=e=>{const[t,l]=(0,s.useState)(!0),{setChangedField:a,updateField:n,saveFields:r}=(0,o.Z)(),{getProgressData:i}=(0,W.Z)(),{step:c,setStep:d}=z(),{fetchFirstRun:m,fetchVulnerabilities:u,setIntroCompleted:p}=(0,K.Z)();let _=t?"icon-spin":"";(0,s.useEffect)((()=>{0===c&&1===e.currentStep?f():1===c&&2===e.currentStep?h():2===c&&3===e.currentStep?y():3===c&&4===e.currentStep&&g()}),[c]);const f=async()=>{await m(),v()},h=async()=>{await u(),v()},y=async()=>{await i(),v()},g=async()=>{p(!0),a("vulnerabilities_intro_shown",!0),n("vulnerabilities_intro_shown",!0),await r(!0,!1),v()},v=()=>{setTimeout((function(){l(!1),d(c+1)}),1e3)};return(0,s.createElement)("div",{className:"rsssl-details"},(0,s.createElement)("div",{className:"rsssl-detail-icon "+_},t?(0,s.createElement)(S.Z,{name:"spinner"}):(0,s.createElement)(S.Z,{name:"circle-check",color:"green"})),(0,s.createElement)("div",{className:"rsssl-detail"},(0,s.createElement)("div",{className:"rsssl-detail-title"},e.title)))},Y=()=>{const[e,t]=(0,s.useState)(!1),[l,r]=(0,s.useState)(!0),{step:i}=z();return(0,s.useEffect)((()=>{4===i&&r(!1)}),[i]),e?null:(0,s.createElement)(s.Fragment,null,(0,s.createElement)(a.Modal,{title:(0,n.__)("Introducing vulnerabilities","really-simple-ssl"),className:"rsssl-modal",onRequestClose:()=>{l||t(!0)},shouldCloseOnClickOutside:!0,shouldCloseOnEsc:!0,overlayClassName:"rsssl-modal-overlay"},(0,s.createElement)("div",{className:"rsssl-header-extension"},(0,s.createElement)("div",null,(0,s.createElement)("p",null,(0,n.__)("You have enabled vulnerability detection! Really Simple SSL will check your plugins, themes and WordPress core daily and report if any known vulnerabilities are found.","really-simple-ssl")),(0,s.createElement)("img",{className:"rsssl-intro-logo",src:rsssl_settings.plugin_url+"/assets/img/really-simple-ssl-intro.svg"}))),(0,s.createElement)("div",{className:"rsssl-ssl-intro-container"},(0,s.createElement)(q,{title:(0,n.__)("Preparing vulnerability detection","really-simple-ssl"),name:"first_runner",loading:!0,currentStep:1}),(0,s.createElement)(q,{title:(0,n.__)("Collecting plugin, theme and core data","really-simple-ssl"),name:"second_runner",loading:!0,currentStep:2}),(0,s.createElement)(q,{title:(0,n.__)("Scanning your WordPress configuration","really-simple-ssl"),name:"third_runner",loading:!0,currentStep:3}),(0,s.createElement)(q,{title:(0,n.__)("Reporting enabled","really-simple-ssl"),name:"fourth_runner",loading:!0,currentStep:4})),(0,s.createElement)("div",{className:"rsssl-modal-footer"},(0,s.createElement)(a.Button,{disabled:l,isPrimary:!0,onClick:()=>{t(!0),window.location.hash="dashboard"}},(0,n.__)("Dashboard","really-simple-ssl")),(0,s.createElement)(a.Button,{disabled:l,isSecondary:!0,onClick:()=>{t(!0)}},(0,n.__)("Dismiss","really-simple-ssl")))))},G=e=>{const{getProgressData:t}=(0,W.Z)(),{dataLoaded:l,vulList:a,introCompleted:r,fetchVulnerabilities:i,setDataLoaded:c,fetchFirstRun:d}=(0,K.Z)(),{fields:m,fieldAlreadyEnabled:u,getFieldValue:p}=(0,o.Z)(),[_,f]=(0,V.useState)(!1);let h=[],y=e.field,g=!1;const v={headCells:{style:{paddingLeft:"0",paddingRight:"0"}},cells:{style:{paddingLeft:"0",paddingRight:"0"}}};(0,U.createTheme)("really-simple-plugins",{divider:{default:"transparent"}},"light");y.columns.forEach((function(e,t){let l={name:(s=e).name,sortable:s.sortable,width:s.width,visible:s.visible,selector:e=>e[s.column]};var s;h.push(l)})),(0,V.useEffect)((()=>{u("enable_vulnerability_scanner")&&(1==p("vulnerabilities_intro_shown")||r?l||b():f(!0))}),[m,l]),(0,V.useEffect)((()=>{1!=p("enable_vulnerability_scanner")||u("enable_vulnerability_scanner")||c(!1)}),[m]);const b=async()=>{await d(),await i(),await t()};return m.forEach((function(e,t){"enable_vulnerability_scanner"===e.id&&(g=e.value)})),g?(0,s.createElement)(s.Fragment,null,_&&(0,s.createElement)(s.Fragment,null,(0,s.createElement)(Y,null)),(0,s.createElement)(U.default,{columns:h,data:a,dense:!0,pagination:!0,persistTableHead:!0,noDataComponent:(0,n.__)("No vulnerabilities found","really-simple-ssl"),theme:"really-simple-plugins",customStyles:v})):(0,s.createElement)(s.Fragment,null,_&&(0,s.createElement)(s.Fragment,null,(0,s.createElement)(Y,null)),(0,s.createElement)(U.default,{columns:h,data:[["","","","",""],["","","","",""],["","","","",""]],dense:!0,pagination:!0,noDataComponent:(0,n.__)("No results","really-simple-ssl"),persistTableHead:!0,theme:"really-simple-plugins",customStyles:v}),(0,s.createElement)("div",{className:"rsssl-locked"},(0,s.createElement)("div",{className:"rsssl-locked-overlay"},(0,s.createElement)("span",{className:"rsssl-task-status rsssl-open"},(0,n.__)("Disabled","really-simple-ssl")),(0,s.createElement)("span",null,(0,n.__)("Activate vulnerability detection to enable this block.","really-simple-ssl")))))},Q=e=>{const{addHelpNotice:t}=(0,o.Z)();return(0,s.createElement)(s.Fragment,null,e.field.url&&(0,s.createElement)(_.Z,{className:"button button-default",text:e.field.button_text,url:e.field.url}),e.field.action&&(0,s.createElement)("button",{onClick:()=>{return l=e.field.action,void i.Kw(l,{}).then((l=>{let s=l.success?"success":"warning",a=(0,n.__)("Test notification by email","really-simple-ssl"),r=l.message;t(e.field.id,s,r,a,!1)}));var l},className:"button button-default"},e.field.button_text))};var $=l(7462),J=l(1898),X=l(6989),ee=l.n(X);const te=e=>{let{field:t}=e;const[a,r]=(0,V.useState)([]),[i,c]=(0,V.useState)(""),{updateField:d,setChangedField:m}=(0,o.Z)(),[u,p]=(0,V.useState)(null),[_,f]=(0,V.useState)(null),[h,y]=(0,V.useState)(null);return(0,V.useEffect)((()=>{l.e(964).then(l.bind(l,9964)).then((e=>{let{default:t}=e;y((()=>t))})),l.e(812).then(l.bind(l,2812)).then((e=>{let{createTheme:t,ThemeProvider:l}=e;p((()=>l)),f((()=>t({typography:{fontSize:12,fontFamily:"inherit"},overrides:{MuiInputBase:{root:{fontSize:"12px",fontFamily:"inherit",height:"40px"}},MuiList:{root:{fontSize:"8px"}},MuiAutocomplete:{inputRoot:{"& .MuiAutocomplete-input":{padding:"0 !important",border:0},flexWrap:"inherit"},popper:{fontSize:"12px"},paper:{fontSize:"12px"},option:{fontSize:"12px"},root:{padding:0}}}})))}))}),[]),(0,V.useEffect)((()=>{ee()({path:"/wp/v2/pages?per_page=100"}).then((e=>{const t=e.map((e=>({title:e.title.rendered,id:e.id})));r([{title:"404 (default)",id:"404_default"},...t])}))}),[]),(0,V.useEffect)((()=>{"404_default"!==t.value?ee()({path:`wp/v2/pages/${t.value}`}).then((e=>{e.title?c({title:e.title.rendered,id:t.value}):c({title:"404 (default)",id:"404_default"})})):c({title:"404 (default)",id:"404_default"})}),[t.value]),h&&u&&_?(0,s.createElement)("div",null,(0,s.createElement)("label",{htmlFor:"rsssl-filter-post-input"},(0,n.__)("Redirect to this post when someone tries to access /wp-admin or /wp-login.php. The default is a 404 page.","really-simple-ssl")),(0,s.createElement)(u,{theme:_},(0,s.createElement)(h,{options:a,getOptionLabel:e=>e.title?e.title:"",renderInput:e=>(0,s.createElement)(J.Z,(0,$.Z)({},e,{variant:"outlined",placeholder:(0,n.__)("Search for a post.","really-simple-ssl")})),getOptionSelected:(e,t)=>e.id===t.id,onChange:(e,l)=>{let s=l&&l.id?l.id:"404_default";d(t.id,s),m(t.id,s)},value:i}))):null},le=e=>{const{fetchVulnerabilities:t,riskLevels:l}=(0,K.Z)(),{field:a}=e,[r,c]=(0,V.useState)(!0),[d,m]=(0,V.useState)(!0),[u,p]=(0,V.useState)(!1),[_,f]=(0,V.useState)(!1),{addHelpNotice:h,fields:y,getFieldValue:g,updateField:v,setChangedField:b,fieldAlreadyEnabled:E,fetchFieldsData:k,updateFieldAttribute:w}=(0,o.Z)();(0,V.useEffect)((()=>{let e=1==g("send_notifications_email"),t=E("enable_vulnerability_scanner");m(e),c(!(e&&t)),m(e),f(t),p(1==g("enable_vulnerability_scanner"))}),[y]),(0,V.useEffect)((()=>{let e=g("vulnerability_notification_dashboard");e=l.hasOwnProperty(e)?l[e]:0;let t=e>0?e-1:e,s=Array.from(Array(t).keys()).map((e=>e));if(s=s.map((e=>Object.keys(l).find((t=>l[t]===e)))),s.length>0){w("vulnerability_notification_sitewide","disabled",s);let t=g("vulnerability_notification_sitewide");if(t=l.hasOwnProperty(t)?l[t]:0,t<e){let t=Object.keys(l).find((t=>l[t]===e));v("vulnerability_notification_sitewide",t),b("vulnerability_notification_sitewide",t)}}else w("vulnerability_notification_sitewide","disabled",!1)}),[g("vulnerability_notification_dashboard")]);let N={...a};return d?u&&!_&&(N.tooltip=(0,n.__)("The notification test only works if you save the setting first.","really-simple-ssl"),N.warning=!0):(N.tooltip=(0,n.__)("You have not enabled the email notifications in the general settings.","really-simple-ssl"),N.warning=!0),(0,s.createElement)(s.Fragment,null,(0,s.createElement)("label",null,e.labelWrap(N)),(0,s.createElement)("button",{onClick:()=>(async()=>{c(!0),i.Kw("vulnerabilities_test_notification").then((()=>{c(!1),k("vulnerabilities"),t(),h(a.id,"success",(0,n.__)("All notifications are triggered successfully, please check your email to double-check if you can receive emails.","really-simple-ssl"),(0,n.__)("Test notifications","really-simple-ssl"),!1)}))})(),disabled:r,className:"button button-default"},a.button_text))};var se=l(5902);const ae=e=>{let t=React.createRef();const{updateField:l,setChangedField:r,highLightField:i}=(0,o.Z)(),[c,f]=(0,s.useState)(null);(0,s.useEffect)((()=>{f((0,se.Z)("anchor")),h(),i===e.field.id&&t.current&&t.current.scrollIntoView({behavior:"smooth",block:"start"})}),[]),(0,s.useEffect)((()=>{h()}),[c]),window.addEventListener("hashchange",(e=>{f((0,se.Z)("anchor"))}));const h=()=>{c&&c===e.field.id&&t.current.scrollIntoView({behavior:"smooth",block:"start"})},y=t=>{let s=e.field;if(s.pattern){const e=new RegExp(s.pattern,"g"),l=t.match(e);t=l?l.join(""):""}l(s.id,t);let a=!1;if(s.configure_on_activation){s.configure_on_activation.hasOwnProperty("condition")&&e.field.value==s.configure_on_activation.condition&&(a=!0);let t=s.configure_on_activation[0];for(let e in t)a&&t.hasOwnProperty(e)&&l(e,t[e])}r(s.id,t)},g=e=>{let t=e.warning?"red":"black";return(0,s.createElement)(s.Fragment,null,(0,s.createElement)("div",{className:"cmplz-label-text"},e.label),e.tooltip&&(0,s.createElement)(S.Z,{name:"info-open",tooltip:e.tooltip,color:t}))};let v=e.field,b=v.value,E=v.disabled,k="rsssl-field-wrap";i===e.field.id&&(k="rsssl-field-wrap rsssl-highlight");let N=[];if(v.options)for(var C in v.options)if(v.options.hasOwnProperty(C)){let e={};e.label=v.options[C],e.value=C,N.push(e)}if(!rsssl_settings.networkwide_active&&v.networkwide_required&&(E=!0,v.comment=(0,s.createElement)(s.Fragment,null,(0,n.__)("This feature is only available networkwide.","really-simple-ssl"),(0,s.createElement)(_.Z,{target:"_blank",text:(0,n.__)("Network settings","really-simple-ssl"),url:rsssl_settings.network_link}))),v.conditionallyDisabled&&(E=!0),!v.visible)return(0,s.createElement)(s.Fragment,null);if("checkbox"===v.type)return(0,s.createElement)("div",{className:k,ref:t},(0,s.createElement)(A,{label:g(v),field:v,disabled:E,onChangeHandler:e=>y(e)}),v.comment&&(0,s.createElement)("div",{className:"rsssl-comment",dangerouslySetInnerHTML:{__html:v.comment}}));if("hidden"===v.type)return(0,s.createElement)("input",{type:"hidden",value:v.value});if("radio"===v.type)return(0,s.createElement)("div",{className:k,ref:t},(0,s.createElement)(a.RadioControl,{label:g(v),onChange:e=>y(e),selected:b,options:N}));if("text"===v.type||"email"===v.type)return(0,s.createElement)("div",{className:k,ref:t},(0,s.createElement)(a.TextControl,{required:v.required,placeholder:v.placeholder,disabled:E,help:v.comment,label:g(v),onChange:e=>y(e),value:b}));if("button"===v.type)return(0,s.createElement)("div",{className:"rsssl-field-button "+k,ref:t},(0,s.createElement)("label",null,v.label),(0,s.createElement)(Q,{field:v}));if("password"===v.type)return(0,s.createElement)("div",{className:k,ref:t},(0,s.createElement)(m,{index:e.index,field:v}));if("textarea"===v.type)return(0,s.createElement)("div",{className:k,ref:t},(0,s.createElement)(a.TextareaControl,{label:v.label,help:v.comment,value:b,onChange:e=>y(e),disabled:v.disabled}));if("license"===v.type){let l=e.field,a=l.value;return(0,s.createElement)("div",{className:k,ref:t},(0,s.createElement)(d,{index:e.index,field:l,fieldValue:a}))}return"number"===v.type?(0,s.createElement)("div",{className:k,ref:t},(0,s.createElement)(a.__experimentalNumberControl,{onChange:e=>y(e),help:v.comment,label:v.label,value:b})):"email"===v.type?(0,s.createElement)("div",{className:(void 0).highLightClass,ref:(void 0).scrollAnchor},(0,s.createElement)(a.TextControl,{help:v.comment,label:v.label,onChange:e=>(void 0).onChangeHandler(e),value:b})):"host"===v.type?(0,s.createElement)("div",{className:k,ref:t},(0,s.createElement)(p,{index:e.index,field:e.field})):"select"===v.type?(0,s.createElement)("div",{className:k,ref:t},(0,s.createElement)(u,{disabled:E,label:g(v),onChangeHandler:e=>y(e),value:b,options:N,field:v})):"support"===v.type?(0,s.createElement)("div",{className:k,ref:t},(0,s.createElement)(M,null)):"postdropdown"===v.type?(0,s.createElement)("div",{className:k,ref:t},(0,s.createElement)(te,{field:e.field})):"permissionspolicy"===v.type?(0,s.createElement)("div",{className:k,ref:t},(0,s.createElement)(R,{disabled:E,field:e.field,options:N})):"learningmode"===v.type?(0,s.createElement)("div",{className:k,ref:t},(0,s.createElement)(j,{disabled:E,field:e.field})):"riskcomponent"===v.type?(0,s.createElement)("div",{className:k,ref:t},(0,s.createElement)(B,{field:e.field})):"mixedcontentscan"===v.type?(0,s.createElement)("div",{className:k,ref:t},(0,s.createElement)(I,{field:e.field})):"vulnerabilitiestable"===v.type?(0,s.createElement)("div",{className:k,ref:t},(0,s.createElement)(G,{field:e.field})):"notificationtester"===v.type?(0,s.createElement)("div",{className:"rsssl-field-button "+k,ref:t},(0,s.createElement)(le,{field:e.field,labelWrap:g})):"letsencrypt"===v.type?(0,s.createElement)(F,{field:v}):"activate"===v.type?(0,s.createElement)(w,{field:v}):"not found field type "+v.type}},870:(e,t,l)=>{l.d(t,{Z:()=>o});var s=l(9307),a=l(270),n=l(8473),r=l(5736),i=l(2902);l(9196);const o=(0,a.Ue)(((e,t)=>({dummyRiskData:[{id:"force_update",name:"Force Update",value:"l",description:(0,r.__)("Force update the plugin or theme","really-simple-ssl")},{id:"quarantine",name:"Quarantine",value:"m",description:(0,r.__)("Isolates the plugin or theme if no update can be performed","really-simple-ssl")}],riskData:[],riskLevels:{l:1,m:2,h:3,c:4},vulnerabilities:[],processing:!1,dataLoaded:!1,updates:0,HighestRisk:!1,lastChecked:"",vulEnabled:!1,riskNaming:{},introCompleted:!1,vulList:[],setDataLoaded:t=>e({dataLoaded:t}),updateRiskData:async(l,s)=>{e({processing:!0}),e((0,i.Uy)((e=>{let a=e.riskData.findIndex((e=>e.id===l));e.riskData[a].value=s,e.riskData=t().enforceCascadingRiskLevels(e.riskData)})));try{await n.Kw("vulnerabilities_measures_set",{riskData:t().riskData}),e({dataLoaded:!0,processing:!1})}catch(e){console.log(e)}},setIntroCompleted:t=>{e({introCompleted:t})},enforceCascadingRiskLevels:e=>{if(0===e.length)return e;let l=e.filter((e=>"force_update"===e.id))[0].value,s=e.filter((e=>"quarantine"===e.id))[0].value;l=t().riskLevels.hasOwnProperty(l)?t().riskLevels[l]:5,s=t().riskLevels.hasOwnProperty(s)?t().riskLevels[s]:5;let a=e.findIndex((e=>"quarantine"===e.id));s<l&&(e[a].value=Object.keys(t().riskLevels).find((e=>t().riskLevels[e]===l))),5===l&&(e[a].value="*");let n=l>0?l:0,r=Array.from(Array(n).keys()).map((e=>e));return r=r.map((e=>Object.keys(t().riskLevels).find((l=>t().riskLevels[l]===e)))),e[a].disabledRiskLevels=r,e},fetchFirstRun:async()=>{await n.Kw("vulnerabilities_scan_files")},fetchVulnerabilities:async()=>{let l={};try{const a=await n.Kw("hardening_data",l);let o=[],c=0;a.data.vulList&&(c=a.data.vulnerabilities,o=a.data.vulList,"object"==typeof o&&(o=Object.values(o)),o.forEach((function(e,t){let l=e.update_available?rsssl_settings.plugins_url+"?plugin_status=upgrade":"#settings/vulnerabilities";e.vulnerability_action=(0,s.createElement)("div",{className:"rsssl-vulnerability-action"},(0,s.createElement)("a",{className:"button",href:"https://really-simple-ssl.com/vulnerabilities/"+e.rss_identifier,target:"_blank"},(0,r.__)("Details","really-simple-ssl")),(0,s.createElement)("a",{disabled:!e.update_available,href:l,className:"button button-primary"},(0,r.__)("Update","really-simple-ssl")))})));let d=a.data.riskData;Array.isArray(d)||(d=[]),d=t().enforceCascadingRiskLevels(d),e((0,i.Uy)((e=>{e.vulnerabilities=c,e.vulList=o,e.updates=a.data.updates,e.dataLoaded=!0,e.riskNaming=a.data.riskNaming,e.lastChecked=a.data.lastChecked,e.vulEnabled=a.data.vulEnabled,e.riskData=d})))}catch(e){console.error(e)}},vulnerabilityCount:()=>{let e=t().vulList,l=[];return Object.keys(e).forEach((function(t){l.push(e[t])})),["c","h","m","l"].map((function(e){return{level:e,count:l.filter((function(t){return t.risk_level===e})).length}}))},vulnerabilityScore:()=>{let e=0,l=t().vulList;return Object.keys(l).forEach((function(t){"c"===l[t].risk_level?e=5:e<1&&(e=1)})),e},hardeningScore:()=>{let e=0,l=t().vulnerabilities;for(let t=0;t<l.length;t++)e+=l[t].hardening_score;return e},activateVulnerabilityScanner:async()=>{try{(await n.Kw("rsssl_scan_files")).request_success&&(async()=>{await t().fetchVulnerabilities()})()}catch(e){console.error(e)}}})))}}]);