diff --git a/css/spbc-settings-media.min.css b/css/spbc-settings-media.min.css index f8296baed..76519faad 100644 --- a/css/spbc-settings-media.min.css +++ b/css/spbc-settings-media.min.css @@ -1 +1 @@ -@media screen and (max-width:782px){.spbc_manual_link,.spbc_page_header_info__state_block,.spbc_page_header_info_left_column,.spbc_page_header_info_right_column{width:100%}.spbc_page_header_info_common_wrapper{margin-bottom:15px}.spbc_page_buttons_wrapper{display:grid;gap:10px}.spbc_page_mob_info__about_block{display:block}.spbc_page_desktop_info__about_block,.wp-list-table tfoot{display:none}.spbc_long_text_field input[type=text]{width:auto}.spbc_setting__textarea{width:100%;height:150px}} \ No newline at end of file +@media screen and (max-width:782px){.spbc_manual_link,.spbc_page_header_info__state_block,.spbc_page_header_info_left_column,.spbc_page_header_info_right_column{width:100%}.spbc_page_header_info_common_wrapper{margin-bottom:15px}.spbc_page_buttons_wrapper{display:grid;gap:10px}.spbc_page_mob_info__about_block{display:block}.spbc_page_desktop_info__about_block,.wp-list-table tfoot{display:none}.spbc_long_text_field input[type=text]{width:auto}.spbc_setting__textarea{width:100%;height:150px}}@media screen and (max-width:900px){.spbc-quicknav--bar_wrapper{position:relative;top:0}.spbc-settings-general-wrapper{flex-direction:column-reverse}} \ No newline at end of file diff --git a/css/spbc-settings.min.css b/css/spbc-settings.min.css index 8c89fde88..427c79e4b 100644 --- a/css/spbc-settings.min.css +++ b/css/spbc-settings.min.css @@ -1 +1 @@ -.circle{border-radius:50%;align-items:center;justify-content:center;position:relative;background-color:#03A9F4;clip-path:polygon(50% 0,100% 0,100% 100%,0 100%,0 100%,0 0,50% 0,50% 50%,50% 50%)}.circle-inner{width:100%;height:100%;border-radius:50%;background:#f7f7f7;transform:scale(.7)}.circle--small{width:16px;height:16px}.circle--mid{width:30px;height:30px}.-animation--circle{animation:animation-circle 2s linear forwards}.-animation--30s{animation-duration:30s!important}.-animation--2min{animation-duration:120s!important}@keyframes animation-circle{12.5%{clip-path:polygon(50% 0,100% 0,100% 100%,0 100%,0 100%,0 0,0 0,50% 50%,50% 50%)}25%{clip-path:polygon(50% 0,100% 0,100% 100%,0 100%,0 100%,0 50%,0 50%,50% 50%,50% 50%)}37.5%{clip-path:polygon(50% 0,100% 0,100% 100%,0 100%,0 100%,0 100%,0 100%,50% 50%,50% 50%)}50%{clip-path:polygon(50% 0,100% 0,100% 100%,50% 100%,50% 100%,50% 100%,50% 100%,50% 50%,50% 50%)}62.5%{clip-path:polygon(50% 0,100% 0,100% 100%,100% 100%,100% 100%,100% 100%,100% 100%,50% 50%,50% 50%)}75%{clip-path:polygon(50% 0,100% 0,100% 50%,100% 50%,100% 50%,100% 50%,100% 50%,50% 50%,50% 50%)}87.5%{clip-path:polygon(50% 0,100% 0,100% 0,100% 0,100% 0,100% 0,100% 0,50% 50%,50% 50%)}100%{clip-path:polygon(50% 0,50% 0,50% 0,50% 0,50% 0,50% 0,50% 0,50% 50%,50% 50%)}}#confirmation-code--resend .circle{margin-left:5px;display:inline-block;vertical-align:text-bottom}.spbc---hidden,.spbc_waf_reason{display:none}#spbcTopWarning{margin-bottom:5px}#spbcTopWarning h3{margin:10px 0 5px}#spbcTopWarning h4{margin:10px}#spbcTopWarning h4 span{margin-top:5px}#spbc_gdpr_open_modal:hover{cursor:pointer}.spbc---gray{color:gray}.spbc---red{color:red}.spbc_bold{font-weight:800}.spbc---top{z-index:9999!important}.spbc_waf_reason_title{text-decoration:underline}.spbc_waf_reason_title:hover+.spbc_waf_reason{display:inline}.spbc_warning_counter{margin:0 5px;padding:0 7px;font-size:14px;height:23px;display:inline-block;text-align:center;border-radius:3px}.spbc_sub_setting{margin-left:30px!important}.spbc_sub2_setting{margin-left:60px!important}.spbc_affiliate_shortcode{width:inherit!important;min-width:inherit!important}.spbc_warning_counter--black{color:#fff;background-color:#000}.spbc_warning_counter--red{color:#000;background-color:red}.spbc_warning_counter--orange{color:#000;background-color:orange}.spbc_warning_counter--green{color:#000;background-color:green}.spbc_highlighted{outline-offset:5px;outline-color:red;outline-width:3px!important;outline-style:solid!important}.spbc_status_icon{vertical-align:text-bottom;margin:0 5px}.spbc_progressbar_counter{position:absolute;height:22px;width:100%;left:0;top:0;text-align:center}.spbc_progressbar_counter span{vertical-align:sub;line-height:22px;font-weight:600;font-size:18px}.spbc_preloader,.spbc_preloader_button{margin-left:5px;vertical-align:text-top;display:none}.spbc_compare_file_row_wrapper,.spbc_view_file_row,.spbc_view_file_row_wrapper{line-height:19px}.ui-progressbar-value{background-image:url(../images/pbar-ani.gif)!important}.spbc_preloader{width:20px}.spbc_preloader_button{height:15px}.spbc_spinner_big{display:block;margin:40px auto}.spbc_scan_result_row td{text-align:center}.spbc_scan_result_row td:nth-child(1){text-align:left}.spbc_scan_result_row td:nth-child(2){text-align:right}.spbc_scan_result_row td:last-child button{margin-left:3px}.spbc_view_file_row_wrapper:nth-child(odd){background:#ccc}.spbc_view_file_row_wrapper:nth-child(even){background:#ddd}.spbc_view_file_row_num{display:inline-block;width:30px;margin:0 0 0 5px;border-right:1px solid #000}.spbc_view_file_row{display:inline;margin:0 0 0 5px;font-size:1em;word-break:break-all}.spbc_compare_file_headings{text-align:center;width:100%;display:inline-block;font-weight:700}.spbc_compare_file_row_wrapper:nth-child(odd){background:#ccc}.spbc_compare_file_row_wrapper:nth-child(even){background:#ddd}.spbc_compare_file_row_num{display:inline-block;width:20px;box-shadow:-2px 0 0 0 #000,2px 0 0 0 #000;padding:0 1%}.spbc_compare_file_row{display:inline-block;width:45%;margin:0;padding:0 1%}table.spbc_table_general{width:100%;border:0;border-spacing:0;border-collapse:collapse}table.spbc_table_general td,table.spbc_table_general th{position:relative;border:1px solid #666;padding:2px 10px}.spbcShortText{display:inline-block;width:100%}.spbcFullText,.spbcFullText-right{display:none;position:absolute;background:rgba(150,150,150,.9);padding:7px;z-index:20;color:#fff}.spbcFullText{top:-5px;border:1px solid #333;border-radius:5px}.spbcFullText-right{top:0;right:0;border:1px solid #333;border-radius:5px}.spbcFullText a{color:#fff}.spbcFullText a:hover{color:#ddd}#spbc_scan_accordion .column-primary{position:initial}#spbc_scan_accordion tbody tr{position:relative}.spbc_accordion_category_wrapper{padding:0 5px 10px;border:1px solid #d3d3d3;border-radius:3px;margin-bottom:5px}.spbc_accordion_category_header{color:#026E88;font-weight:800;margin-left:10px!important}div.pagination{margin:10px}ul.pagination{display:inline-block;margin:0}li.pagination{display:inline-block;margin-left:10px}span.current_page{font-size:1.3em;font-weight:600}.spbc_new{color:red;position:relative;font-size:10px;vertical-align:bottom;top:-8px}.spbc_wrapper_settings{margin:10px 0 0}.spbc_page_header_info_common_wrapper{display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:1%}.spbc_page_header_info__block_label{top:3px;left:3px;position:relative;background:#f4f4f4;border:1px solid #DDD;border-radius:3px;padding:2px 5px;font-size:10px;color:gray}.spbc_page_header_info__block_body{border:1px solid #DDD;background:#f4f4f4;padding:1%}.spbc_page_header_info__block_row{overflow-wrap:anywhere;font-size:13px}.spbc_page_header_info_left_column{width:66%}.spbc_page_header_info__state_block{width:60%}.spbc_page_header_info_right_column{width:33%}.spbc_page_header_info__about_block{width:100%;height:auto}.spbc_page_header_info__about_block__divider{padding:5px}.spbc_page_header_info__error_block{width:100%}.spbc_page_buttons_wrapper{display:flex;margin-bottom:-10px}.spbc_page_buttons_header{display:inline-block;margin-right:7px}.spbc_page_mob_info__about_block{display:none}.spbc_tabs_nav_wrapper{display:flex;background-color:#fff;margin:15px 15px 0 0;overflow-x:auto}@media screen and (max-width:1200px){.spbc_tabs_nav_wrapper{flex-direction:column}}.spbc_tab_nav{display:inline-block;margin:10px 0 0 .5em;padding:5px 10px;height:24px;font-size:14px;line-height:24px;color:#555;cursor:pointer;font-weight:400}.spbc_tab_nav--active,.spbc_tab_nav:hover{margin-bottom:-1px;border-bottom:2px solid #026E88}.spbc_tab_nav svg{stroke:#000;stroke-width:.5}.spbc_tab_nav--active{color:#026E88;font-weight:800}.spbc_tab_nav--active svg{stroke:#026E88;stroke-width:1}.spbc_tab_nav-title{margin-left:5px;width:max-content}.spbc_tabs_nav_wrapper::-webkit-scrollbar{display:none}.spbc_tab{display:none;margin:0;background-color:#fff}.spbc_tab--active{display:block}.spbc_tab_fields_group{position:relative;min-width:255px;margin:10px auto;border:1px solid #e5e5e5;box-shadow:0 1px 1px rgba(0,0,0,.04);-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fdfdfd}.spbc_group_header{margin:0 0 10px;padding:10px;border-bottom:1px solid #eee}.spbc_group_header>h3{margin:0}.spbc_group_header>h3>a{color:#1d2327;text-decoration:none}.spbc_wrapper_field{margin:0 15px 15px}.spbc_long_description__show:hover{color:#aaa;cursor:pointer}.spbc_settings_description{font-size:9pt;color:#888}.spbc_settings_description select{display:inline;position:relative;transform:scale(.7);left:-50px}.spbc_tab-settings_general input[type=text]{min-width:255px;width:100%}.spbc_short_text_field input{min-width:70px!important;width:70px!important}.spbc_middle_text_field input{min-width:200px!important;width:200px!important}.spbc_long_text_field input[type=text]{min-width:200px;width:500px}.spbc_wrapper_field label{vertical-align:baseline}.spbc_wrapper_field h4{margin:10px 15px 5px}.spbc_wrapper_footer{margin:15px}#spbc_wrapper_error{margin:0;padding:5px}#spbc_wrapper_error h3,#spbc_wrapper_error h4{margin:5px}#showHideLink{display:inline-block;margin-top:5px;color:#777}.spbc__wrapper--center{margin:10px 0;text-align:center}.spbc__show_more_logs{display:none}.spbc_settings_banner{display:inline-block;margin:1em 0;vertical-align:top;text-align:center}#spbc_translate_plugin{margin-left:10px}.spbc_rate_block{border:1px dashed #666;width:400px;padding:.2em}#spbc_translate_plugin .spbc_button_rate{margin-bottom:10px}.spbc_button_rate{display:inline-block;text-align:center;vertical-align:middle;padding:12px 24px;border:1px solid #216298;border-radius:8px;background:#35a0f7;background:-webkit-gradient(linear,left top,left bottom,from(#35a0f7),to(#216298));background:-moz-linear-gradient(top,#35a0f7,#216298);background:linear-gradient(to bottom,#35a0f7,#216298);text-shadow:#153e5f 1px 1px 1px;font:normal normal bold 16px verdana;color:#fff;text-decoration:none}.spbc_button_rate:focus,.spbc_button_rate:hover{border:1px solid #297bbe;background:#40c0ff;background:-webkit-gradient(linear,left top,left bottom,from(#40c0ff),to(#2876b6));background:-moz-linear-gradient(top,#40c0ff,#2876b6);background:linear-gradient(to bottom,#40c0ff,#2876b6);color:#fff;text-decoration:none}.spbc_button_rate:active{background:#216298;background:-webkit-gradient(linear,left top,left bottom,from(#216298),to(#216298));background:-moz-linear-gradient(top,#216298,#216298);background:linear-gradient(to bottom,#216298,#216298)}#spbc_rate_plugin .spbc_button_rate:before{content:"\0000a0";display:inline-block;height:24px;width:24px;line-height:24px;margin:0 4px -6px -4px;position:relative;top:0;left:0;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAACjElEQVRIie1UTWsTURQ9dzKpofQLobQFlxqENF1JG0GE6sKuRLDtTKaBkJUIRdwpba2g9ge48gMEUUyTbrUutFmk1X6Q7kxDgi1YUSmlpsGYiTXtuy7GCYnaSRu3PczAfe/dd8695z0ecIAKsFVK0DQNLpcL8Xi8KgHZalFRNWe7uyMs2+RtkBQIjQerU/k3uVceHhmdyed/8NbWFg8OXrlXDY+020JdXf2NQMB/yuE4hHw+j5yur1df7h9QvQMXpiKRHSEECyF4cvJlQVG149VwlZ1BX58fsn1H7e29+OhMd7cEAMyM6PTMNAgfFUWrJSIAQgCAYAKIAECABACABGFt7fPPaDRqjItVqyrqG5vGAn7/kMfTBYMIyGQyeD0VMZKYweYGM2ZjpnR+eWVl8V08fnYiNP6t1Jbzc3PzbNryP38stsiKqp0uWuTz+eBqd9/s6uo02vpdPTOXxZuZDB7cfwgQGa0TIEmS7nA4PhhDkgBgdXV1FkTzRYHCtjjS4XZ3mGQmSsdEhKbGRqhqPwRz0ZOlRKImGBy/FA4F31gd8tG2tjaZmf+VUybS2tpaNpfeTMsADu+2xxRw2O12ENFftpTG6XQat26PQZIIzEA2m/1SKBSGGXhhWZmiaifezs7yfhGdnmFF1TqtuM0OksvvlzMnPZ4mq+RkMoVsNlu83ImlxDqATxUFwqHg94aGhsc9PeeuNjc372pRMpnExsZX5HI5xBZjd3aEuBsOBTcs7TGherXaa9eHIqlUioUQltYIIXhkZPT5XnjL7qXi1Wpkm6w5nccGWlpanLJNlkGQyEw1Pui6rs8tLFx+9vTJq30JlKK/3ycRCQkSFZ8Dcwszi4lwUOylgwNUxC8cBKAS7hIWzwAAAABJRU5ErkJggg==) left center no-repeat;background-size:100% 100%}.spbc_rate_block_stars{margin:1em 0}.star-icon{color:#ddd;font-size:18px;position:relative}.star-icon.full:before{color:#FDE16D;content:'\2605';position:absolute;left:0;text-shadow:0 0 2px rgba(0,0,0,.7)}.spbc_hint{color:#666}p.spbc_hint{margin:0}.spbc_hint_warning{font-size:17px;font-weight:600;text-align:center;color:#eb8f00}.spbc_hint--link{color:#aaa;text-decoration:underline;cursor:pointer}.spbc_hint--top_right{position:relative;float:right;top:0;right:10px}.spbc_auto_link{background:#ccc;border-color:#999;-webkit-box-shadow:inset 0 1px 0 rgba(200,200,200,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(200,200,200,.5),0 1px 0 rgba(0,0,0,.15);color:#000;display:inline-block;text-decoration:none;font-size:13px;line-height:26px;height:28px;margin:0;padding:0 10px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;-webkit-border-radius:2px;border-radius:2px;white-space:nowrap;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.spbc_manual_link,.spbc_manual_link_scan{border-color:#026E88;display:inline-block;font-size:13px;line-height:26px;height:28px;padding:0 10px 1px;border-width:1px;border-style:solid;-webkit-appearance:none;white-space:nowrap;margin:0;text-decoration:none;cursor:pointer}.spbc_auto_link:hover{color:#fff}.spbc_manual_link_scan{color:#fff;background:#026E88;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);border-radius:3px;-webkit-border-radius:3px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.spbc_manual_link{background:#fff;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#026E88!important;border-radius:3px;-webkit-border-radius:3px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.spbc_manual_link:hover,button.ct_support_link{text-decoration:underline}.spbc_page_buttons_links_basic_align{display:flex;align-items:center;justify-content:center;gap:5px}.spbc-btn-as-link{padding:0;margin:0;vertical-align:baseline;color:gray;border:0;border-bottom:1px solid;cursor:pointer}#spbc-account-email[contenteditable=true]{padding:6px;background-color:#fff;border:1px solid #ccc}.spbc_long_desc,.spbc_popup_tip--wrapper{min-width:80px;min-height:80px;max-width:500px;padding:10px;z-index:10}.spbc_dismiss{width:20px;height:20px;border-radius:5px}.spbc-links:visited{color:#fff}.spbc_long_desc{position:absolute;background:#5a5a5a;color:#fff}@media screen and (max-width:900px){.spbc_long_desc{left:inherit!important}.spbc_long_desc__angle_top_left{display:none}}.spbc_long_desc p{color:#fff!important}i.animate-spin{-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;-webkit-animation:spin 2s infinite linear;animation:spin 2s infinite linear;display:inline-block;font-size:25px;line-height:20px;color:rgba(120,200,230,1);margin:25px}@keyframes spin{to{transform:rotate(359deg)}}.spbc_long_desc__angle,.spbc_long_desc__angle_top_left{-webkit-transform:rotate(135deg);-ms-transform:rotate(135deg);position:absolute;width:10px;background:#5a5a5a}.spbc_long_desc__cancel{position:absolute;top:5px;right:5px;color:rgba(255,255,255,.5)}.spbc_long_desc__cancel:hover{color:#fff}.spbc_long_desc__link,.spbc_long_desc__title{color:rgba(120,200,230,1)}.spbc_long_desc__angle{top:5px;left:-17px;height:10px;transform:rotate(135deg);-webkit-transform-origin:100% 100%;-ms-transform-origin:100% 100%;transform-origin:100% 100%}.spbc_long_desc__angle_top_left{top:-10px;left:-9px;height:10px;transform:rotate(135deg);-webkit-transform-origin:100% 100%;-ms-transform-origin:100% 100%;transform-origin:100% 100%}.spbc_long_desc__title{margin:0}.spbc_long_desc__link:hover{color:rgba(140,220,250,1)}.spbc_long_desc h4{color:#50a0be;margin:10px 0 3px}.spbc_long_desc span{margin:0 0 0 10px;display:inline-block}.spbc_long_desc img{width:300px}.spbc_popup_tip--icon---show:hover{color:#aaa;cursor:pointer}.spbc_popup_tip--wrapper{position:absolute;background:#5a5a5a;color:#fff}.spbc_popup_tip--icon---cancel{position:absolute;top:0;right:5px;color:rgba(255,255,255,.5)}.spbc_popup_tip--icon---cancel:hover{color:#fff}.spbc_popup_tip--angle{position:absolute;top:5px;left:-17px;width:10px;height:10px;background:#5a5a5a;-webkit-transform:rotate(135deg);-ms-transform:rotate(135deg);transform:rotate(135deg);-webkit-transform-origin:100% 100%;-ms-transform-origin:100% 100%;transform-origin:100% 100%}.spbc_popup_tip--title{color:rgba(120,200,230,1);margin:0}.spbc_popup_tip--text{color:#fff!important}tr:hover .spbc_hint--wrapper{display:none}.spbc_log-wrapper{padding:5px;border:1px solid #000;width:98%;min-height:300px;height:300px;border-bottom:5px dashed #5a5a5a}.spbc_log-wrapper .panel-body{height:100%;overflow-y:auto}.spbc_log-line{margin:0;padding:0 5px}.spbc_log-line:nth-child(odd){background:#d3d3d3}.spbc_log-block_header{margin:10px 0}.spbc_log-input--checkbox,.spbc_log-label--checkbox{width:auto}button.ct_support_link{border:none;background:0 0;color:#666;cursor:pointer}#spbc-modal-content{text-align:center}#spbc-modal-content>*{display:block;width:100%;margin:0}.spbc-modal-header{font-size:15px;font-weight:500}.spbc-modal-buttons-block{display:flex!important;gap:10px;justify-content:center}.spbc-modal-button{width:40%;height:35px;font-size:14px;font-weight:500;border:1px solid #60656b;background:#fff;border-radius:5px;cursor:pointer}.spbc-modal-button:hover{background:#2ea2cc;color:#fff;border:1px solid #2ea2cc}.spbc-modal-file_path{color:#026E88}.spbc-modal-file_path_wrapper{margin:4% 0 1%;padding:5px;border:1px solid #F5F5FD;border-radius:4px}.spbc-popup-msg{width:98%;height:15px;text-align:center;padding:4px;border-radius:7px;position:relative;top:0;right:0;bottom:0;left:0;margin:auto}.popup--green{background:#DFD;color:#060;border:1px solid #060}.popup--red{background:#FDD;color:#600;border:1px solid #600}#spbcscan-results-log-module{min-height:300px;height:300px;border-bottom:5px dashed #5a5a5a}#spbcscan-results-log-module .panel-body{height:100%;overflow-y:auto}#spbcscan-scanner-caption h4{margin:10px 0;font-size:14px}#spbcscan-results-log-caption p{font-size:13px;margin:0 0 6px}#spbcscan-scanner-caption{display:flex;flex-wrap:wrap;flex-direction:row-reverse}#spbcscan-scanner-caption .column:first-child{width:75%;flex:0 0 75%}#spbcscan-scanner-caption .column:last-child{width:25%;flex:0 0 25%;padding-right:10px;box-sizing:border-box}.spbc-scan-log-title{color:#1d2327;font-size:1.3em;margin:0 0 15px!important;font-weight:600}.spbc--status{position:relative;padding-left:26px}.spbc--marker-green::before,.spbc--marker-red::before,.spbc--marker-yellow::before{content:'';position:absolute;width:10px;height:10px;border-radius:50%;left:10px;top:4px}.spbc--marker-green::before{background:#1dda23}.spbc--marker-yellow::before{background:#ffb000}.spbc--marker-red::before{background:#d63638}button#spbc_setting_get_key_auto:disabled{background:#ccc;color:#111;text-decoration:none}.spbc_critical_updates-names{text-transform:uppercase;font-weight:500}.spbc_critical_updates-h_names{font-size:15px}.spbc_critical_updates-legend{border:1px solid #eee;padding:0 0 0 10px;margin:5px 0 0;color:#666}.spbc_critical_updates-no_vulnerabilities{color:green;font-size:15px;font-weight:500;margin:5px 0 0 30px}.spbct_notice{display:flex;justify-content:space-between}.spbct_notice-dismiss{position:relative;top:0;right:1px;border:none;margin:0;padding:9px;background:0 0;color:#787c82;cursor:pointer}.spbc_accordion_header_caption__update_status{display:inline-flex;flex-direction:row;flex-wrap:nowrap;width:45%;align-items:flex-end;justify-content:flex-end}.spbc_accordion_header_caption__updated{display:inline;color:#FFF;font-weight:700}.spbc_setting__textarea{width:400px;height:150px} \ No newline at end of file +.spbc_auto_link,.spbc_manual_link_scan{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;cursor:pointer}.circle{border-radius:50%;align-items:center;justify-content:center;position:relative;background-color:#03A9F4;clip-path:polygon(50% 0,100% 0,100% 100%,0 100%,0 100%,0 0,50% 0,50% 50%,50% 50%)}.circle-inner{width:100%;height:100%;border-radius:50%;background:#f7f7f7;transform:scale(.7)}.circle--small{width:16px;height:16px}.circle--mid{width:30px;height:30px}.-animation--circle{animation:animation-circle 2s linear forwards}.-animation--30s{animation-duration:30s!important}.-animation--2min{animation-duration:120s!important}@keyframes animation-circle{12.5%{clip-path:polygon(50% 0,100% 0,100% 100%,0 100%,0 100%,0 0,0 0,50% 50%,50% 50%)}25%{clip-path:polygon(50% 0,100% 0,100% 100%,0 100%,0 100%,0 50%,0 50%,50% 50%,50% 50%)}37.5%{clip-path:polygon(50% 0,100% 0,100% 100%,0 100%,0 100%,0 100%,0 100%,50% 50%,50% 50%)}50%{clip-path:polygon(50% 0,100% 0,100% 100%,50% 100%,50% 100%,50% 100%,50% 100%,50% 50%,50% 50%)}62.5%{clip-path:polygon(50% 0,100% 0,100% 100%,100% 100%,100% 100%,100% 100%,100% 100%,50% 50%,50% 50%)}75%{clip-path:polygon(50% 0,100% 0,100% 50%,100% 50%,100% 50%,100% 50%,100% 50%,50% 50%,50% 50%)}87.5%{clip-path:polygon(50% 0,100% 0,100% 0,100% 0,100% 0,100% 0,100% 0,50% 50%,50% 50%)}100%{clip-path:polygon(50% 0,50% 0,50% 0,50% 0,50% 0,50% 0,50% 0,50% 50%,50% 50%)}}#confirmation-code--resend .circle{margin-left:5px;display:inline-block;vertical-align:text-bottom}.spbc---hidden,.spbc_waf_reason{display:none}#spbcTopWarning{margin-bottom:5px}#spbcTopWarning h3{margin:10px 0 5px}#spbcTopWarning h4{margin:10px}#spbcTopWarning h4 span{margin-top:5px}#spbc_gdpr_open_modal:hover{cursor:pointer}.spbc---gray{color:gray}.spbc---red{color:red}.spbc_bold{font-weight:800}.spbc---top{z-index:9999!important}.spbc_waf_reason_title{text-decoration:underline}.spbc_waf_reason_title:hover+.spbc_waf_reason{display:inline}.spbc_warning_counter{margin:0 5px;padding:0 7px;font-size:14px;height:23px;display:inline-block;text-align:center;border-radius:3px}.spbc_sub_setting{margin-left:30px!important}.spbc_sub2_setting{margin-left:60px!important}.spbc_affiliate_shortcode{width:inherit!important;min-width:inherit!important}.spbc_warning_counter--black{color:#fff;background-color:#000}.spbc_warning_counter--red{color:#000;background-color:red}.spbc_warning_counter--orange{color:#000;background-color:orange}.spbc_warning_counter--green{color:#000;background-color:green}.spbc_highlighted{outline-offset:5px;outline-color:red;outline-width:3px!important;outline-style:solid!important}.spbc_status_icon{vertical-align:text-bottom;margin:0 5px}.spbc_progressbar_counter{position:absolute;height:22px;width:100%;left:0;top:0;text-align:center}.spbc_progressbar_counter span{vertical-align:sub;line-height:22px;font-weight:600;font-size:18px}.spbc_preloader,.spbc_preloader_button{margin-left:5px;vertical-align:text-top;display:none}.spbc_compare_file_row_wrapper,.spbc_view_file_row,.spbc_view_file_row_wrapper{line-height:19px}.ui-progressbar-value{background-image:url(../images/pbar-ani.gif)!important}.spbc_preloader{width:20px}.spbc_preloader_button{height:15px}.spbc_spinner_big{display:block;margin:40px auto}.spbc_scan_result_row td{text-align:center}.spbc_scan_result_row td:nth-child(1){text-align:left}.spbc_scan_result_row td:nth-child(2){text-align:right}.spbc_scan_result_row td:last-child button{margin-left:3px}.spbc_view_file_row_wrapper:nth-child(odd){background:#ccc}.spbc_view_file_row_wrapper:nth-child(even){background:#ddd}.spbc_auto_link,.spbc_compare_file_row_wrapper:nth-child(odd){background:#ccc}.spbc_view_file_row_num{display:inline-block;width:30px;margin:0 0 0 5px;border-right:1px solid #000}.spbc_view_file_row{display:inline;margin:0 0 0 5px;font-size:1em;word-break:break-all}.spbc_compare_file_headings{text-align:center;width:100%;display:inline-block;font-weight:700}.spbc_compare_file_row_wrapper:nth-child(even){background:#ddd}.spbc_compare_file_row_num{display:inline-block;width:20px;box-shadow:-2px 0 0 0 #000,2px 0 0 0 #000;padding:0 1%}.spbc_compare_file_row{display:inline-block;width:45%;margin:0;padding:0 1%}table.spbc_table_general{width:100%;border:0;border-spacing:0;border-collapse:collapse}table.spbc_table_general td,table.spbc_table_general th{position:relative;border:1px solid #666;padding:2px 10px}.spbcShortText{display:inline-block;width:100%}.spbcFullText,.spbcFullText-right{display:none;position:absolute;background:rgba(150,150,150,.9);padding:7px;z-index:20;color:#fff}.spbcFullText{top:-5px;border:1px solid #333;border-radius:5px}.spbcFullText-right{top:0;right:0;border:1px solid #333;border-radius:5px}.spbcFullText a{color:#fff}.spbcFullText a:hover{color:#ddd}#spbc_scan_accordion .column-primary{position:initial}#spbc_scan_accordion tbody tr{position:relative}.spbc_accordion_category_wrapper{padding:0 5px 10px;border:1px solid #d3d3d3;border-radius:3px;margin-bottom:5px}.spbc_accordion_category_header{color:#026E88;font-weight:800;margin-left:10px!important}div.pagination{margin:10px}ul.pagination{display:inline-block;margin:0}li.pagination{display:inline-block;margin-left:10px}span.current_page{font-size:1.3em;font-weight:600}.spbc_new{color:red;position:relative;font-size:10px;vertical-align:bottom;top:-8px}.spbc_wrapper_settings{margin:10px 0 0}.spbc_page_header_info_common_wrapper{display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:1%}.spbc_page_header_info__block_label{top:3px;left:3px;position:relative;background:#f4f4f4;border:1px solid #DDD;border-radius:3px;padding:2px 5px;font-size:10px;color:gray}.spbc_page_header_info__block_body{border:1px solid #DDD;background:#f4f4f4;padding:1%}.spbc_page_header_info__block_row{overflow-wrap:anywhere;font-size:13px}.spbc_page_header_info_left_column{width:66%}.spbc_page_header_info__state_block{width:60%}.spbc_page_header_info_right_column{width:33%}.spbc_page_header_info__about_block{width:100%;height:auto}.spbc_page_header_info__about_block__divider{padding:5px}.spbc_page_header_info__error_block{width:100%}.spbc_page_buttons_wrapper{display:flex;margin-bottom:-10px}.spbc_page_buttons_header{display:inline-block;margin-right:7px}.spbc_page_mob_info__about_block{display:none}.spbc_tabs_nav_wrapper{display:flex;background-color:#fff;margin:15px 15px 0 0;overflow-x:auto}@media screen and (max-width:1200px){.spbc_tabs_nav_wrapper{flex-direction:column}}.spbc_tab_nav{display:inline-block;margin:10px 0 0 .5em;padding:5px 10px;height:24px;font-size:14px;line-height:24px;color:#555;cursor:pointer;font-weight:400}.spbc_tab_nav--active,.spbc_tab_nav:hover{margin-bottom:-1px;border-bottom:2px solid #026E88}.spbc_tab_nav svg{stroke:#000;stroke-width:.5}.spbc_tab_nav--active{color:#026E88;font-weight:800}.spbc_tab_nav--active svg{stroke:#026E88;stroke-width:1}.spbc_tab_nav-title{margin-left:5px;width:max-content}.spbc_tabs_nav_wrapper::-webkit-scrollbar{display:none}.spbc_tab{display:none;margin:0;background-color:#fff}.spbc_tab--active{display:block}.spbc_tab_fields_group{position:relative;min-width:255px;margin:10px auto;border:1px solid #e5e5e5;box-shadow:0 1px 1px rgba(0,0,0,.04);-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);background:#fdfdfd}.spbc_group_header{margin:0 0 10px;padding:10px;border-bottom:1px solid #eee}.spbc_group_header>h3{margin:0}.spbc_group_header>h3>a{color:#1d2327;text-decoration:none}.spbc_wrapper_field{margin:0 15px 15px}.spbc_long_description__show:hover{color:#aaa;cursor:pointer}.spbc_settings_description{font-size:9pt;color:#888}.spbc_settings_description select{display:inline;position:relative;transform:scale(.7);left:-50px}.spbc_tab-settings_general input[type=text]{min-width:255px;width:100%}.spbc_short_text_field input{min-width:70px!important;width:70px!important}.spbc_middle_text_field input{min-width:200px!important;width:200px!important}.spbc_long_text_field input[type=text]{min-width:200px;width:500px}.spbc_wrapper_field label{vertical-align:baseline}.spbc_wrapper_field h4{margin:10px 15px 5px}.spbc_wrapper_footer{margin:15px}#spbc_wrapper_error{margin:0;padding:5px}#spbc_wrapper_error h3,#spbc_wrapper_error h4{margin:5px}#showHideLink{display:inline-block;margin-top:5px;color:#777}.spbc__wrapper--center{margin:10px 0;text-align:center}.spbc__show_more_logs{display:none}.spbc_settings_banner{display:inline-block;margin:1em 0;vertical-align:top;text-align:center}#spbc_translate_plugin{margin-left:10px}.spbc_rate_block{border:1px dashed #666;width:400px;padding:.2em}#spbc_translate_plugin .spbc_button_rate{margin-bottom:10px}.spbc_button_rate{display:inline-block;text-align:center;vertical-align:middle;padding:12px 24px;border:1px solid #216298;border-radius:8px;background:#35a0f7;background:-webkit-gradient(linear,left top,left bottom,from(#35a0f7),to(#216298));background:-moz-linear-gradient(top,#35a0f7,#216298);background:linear-gradient(to bottom,#35a0f7,#216298);text-shadow:#153e5f 1px 1px 1px;font:normal normal bold 16px verdana;color:#fff;text-decoration:none}.spbc_button_rate:focus,.spbc_button_rate:hover{border:1px solid #297bbe;background:#40c0ff;background:-webkit-gradient(linear,left top,left bottom,from(#40c0ff),to(#2876b6));background:-moz-linear-gradient(top,#40c0ff,#2876b6);background:linear-gradient(to bottom,#40c0ff,#2876b6);color:#fff;text-decoration:none}.spbc_button_rate:active{background:#216298;background:-webkit-gradient(linear,left top,left bottom,from(#216298),to(#216298));background:-moz-linear-gradient(top,#216298,#216298);background:linear-gradient(to bottom,#216298,#216298)}#spbc_rate_plugin .spbc_button_rate:before{content:"\0000a0";display:inline-block;height:24px;width:24px;line-height:24px;margin:0 4px -6px -4px;position:relative;top:0;left:0;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAACjElEQVRIie1UTWsTURQ9dzKpofQLobQFlxqENF1JG0GE6sKuRLDtTKaBkJUIRdwpba2g9ge48gMEUUyTbrUutFmk1X6Q7kxDgi1YUSmlpsGYiTXtuy7GCYnaSRu3PczAfe/dd8695z0ecIAKsFVK0DQNLpcL8Xi8KgHZalFRNWe7uyMs2+RtkBQIjQerU/k3uVceHhmdyed/8NbWFg8OXrlXDY+020JdXf2NQMB/yuE4hHw+j5yur1df7h9QvQMXpiKRHSEECyF4cvJlQVG149VwlZ1BX58fsn1H7e29+OhMd7cEAMyM6PTMNAgfFUWrJSIAQgCAYAKIAECABACABGFt7fPPaDRqjItVqyrqG5vGAn7/kMfTBYMIyGQyeD0VMZKYweYGM2ZjpnR+eWVl8V08fnYiNP6t1Jbzc3PzbNryP38stsiKqp0uWuTz+eBqd9/s6uo02vpdPTOXxZuZDB7cfwgQGa0TIEmS7nA4PhhDkgBgdXV1FkTzRYHCtjjS4XZ3mGQmSsdEhKbGRqhqPwRz0ZOlRKImGBy/FA4F31gd8tG2tjaZmf+VUybS2tpaNpfeTMsADu+2xxRw2O12ENFftpTG6XQat26PQZIIzEA2m/1SKBSGGXhhWZmiaifezs7yfhGdnmFF1TqtuM0OksvvlzMnPZ4mq+RkMoVsNlu83ImlxDqATxUFwqHg94aGhsc9PeeuNjc372pRMpnExsZX5HI5xBZjd3aEuBsOBTcs7TGherXaa9eHIqlUioUQltYIIXhkZPT5XnjL7qXi1Wpkm6w5nccGWlpanLJNlkGQyEw1Pui6rs8tLFx+9vTJq30JlKK/3ycRCQkSFZ8Dcwszi4lwUOylgwNUxC8cBKAS7hIWzwAAAABJRU5ErkJggg==) left center no-repeat;background-size:100% 100%}.spbc_auto_link,.spbc_manual_link,.spbc_manual_link_scan{display:inline-block;height:28px;border-width:1px;border-style:solid;-webkit-appearance:none;white-space:nowrap}.spbc_rate_block_stars{margin:1em 0}.star-icon{color:#ddd;font-size:18px;position:relative}.star-icon.full:before{color:#FDE16D;content:'\2605';position:absolute;left:0;text-shadow:0 0 2px rgba(0,0,0,.7)}.spbc_hint{color:#666}p.spbc_hint{margin:0}.spbc_hint_warning{font-size:17px;font-weight:600;text-align:center;color:#eb8f00}.spbc_auto_link,.spbc_manual_link,.spbc_manual_link_scan{font-size:13px;text-decoration:none}.spbc_hint--link{color:#aaa;text-decoration:underline;cursor:pointer}.spbc_hint--top_right{position:relative;float:right;top:0;right:10px}.spbc_auto_link{border-color:#999;-webkit-box-shadow:inset 0 1px 0 rgba(200,200,200,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(200,200,200,.5),0 1px 0 rgba(0,0,0,.15);color:#000;line-height:26px;margin:0;padding:0 10px 1px;-webkit-border-radius:2px;border-radius:2px;box-sizing:border-box}.spbc_auto_link:hover{color:#fff}.spbc_manual_link_scan{color:#fff;background:#026E88;border-color:#026E88;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);line-height:26px;margin:0;padding:0 10px 1px;border-radius:3px;-webkit-border-radius:3px;box-sizing:border-box}.spbc_manual_link{background:#fff;border-color:#026E88;-webkit-box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 rgba(120,200,230,.5),0 1px 0 rgba(0,0,0,.15);color:#026E88!important;line-height:26px;margin:0;padding:0 10px 1px;cursor:pointer;border-radius:3px;-webkit-border-radius:3px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.spbc_manual_link:hover,button.ct_support_link{text-decoration:underline}.spbc_page_buttons_links_basic_align{display:flex;align-items:center;justify-content:center;gap:5px}.spbc-btn-as-link{padding:0;margin:0;vertical-align:baseline;color:gray;border:0;border-bottom:1px solid;cursor:pointer}#spbc-account-email[contenteditable=true]{padding:6px;background-color:#fff;border:1px solid #ccc}.spbc_long_desc,.spbc_popup_tip--wrapper{min-width:80px;min-height:80px;max-width:500px;padding:10px;z-index:10}.spbc_dismiss{width:20px;height:20px;border-radius:5px}.spbc-links:visited{color:#fff}.spbc_long_desc{position:absolute;background:#5a5a5a;color:#fff}@media screen and (max-width:900px){.spbc_long_desc{left:inherit!important}.spbc_long_desc__angle_top_left{display:none}}.spbc_long_desc p{color:#fff!important}i.animate-spin{-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;-webkit-animation:spin 2s infinite linear;animation:spin 2s infinite linear;display:inline-block;font-size:25px;line-height:20px;color:rgba(120,200,230,1);margin:25px}@keyframes spin{to{transform:rotate(359deg)}}.spbc_long_desc__angle,.spbc_long_desc__angle_top_left{-webkit-transform:rotate(135deg);-ms-transform:rotate(135deg);position:absolute;width:10px;height:10px;background:#5a5a5a}.spbc_long_desc__cancel{position:absolute;top:5px;right:5px;color:rgba(255,255,255,.5)}.spbc_long_desc__cancel:hover{color:#fff}.spbc_long_desc__link,.spbc_long_desc__title{color:rgba(120,200,230,1)}.spbc_long_desc__angle{top:5px;left:-17px;transform:rotate(135deg);-webkit-transform-origin:100% 100%;-ms-transform-origin:100% 100%;transform-origin:100% 100%}.spbc_long_desc__angle_top_left{top:-10px;left:-9px;transform:rotate(135deg);-webkit-transform-origin:100% 100%;-ms-transform-origin:100% 100%;transform-origin:100% 100%}.spbc_long_desc__title{margin:0}.spbc_long_desc__link:hover{color:rgba(140,220,250,1)}.spbc_long_desc h4{color:#50a0be;margin:10px 0 3px}.spbc_long_desc span{margin:0 0 0 10px;display:inline-block}.spbc_long_desc img{width:300px}.spbc_popup_tip--icon---show:hover{color:#aaa;cursor:pointer}.spbc_popup_tip--wrapper{position:absolute;background:#5a5a5a;color:#fff}.spbc_popup_tip--icon---cancel{position:absolute;top:0;right:5px;color:rgba(255,255,255,.5)}.spbc_popup_tip--icon---cancel:hover{color:#fff}.spbc_popup_tip--angle{position:absolute;top:5px;left:-17px;width:10px;height:10px;background:#5a5a5a;-webkit-transform:rotate(135deg);-ms-transform:rotate(135deg);transform:rotate(135deg);-webkit-transform-origin:100% 100%;-ms-transform-origin:100% 100%;transform-origin:100% 100%}.spbc_popup_tip--title{color:rgba(120,200,230,1);margin:0}.spbc_popup_tip--text{color:#fff!important}tr:hover .spbc_hint--wrapper{display:none}.spbc_log-wrapper{padding:5px;border:1px solid #000;width:98%;min-height:300px;height:300px;border-bottom:5px dashed #5a5a5a}.spbc_log-wrapper .panel-body{height:100%;overflow-y:auto}.spbc_log-line{margin:0;padding:0 5px}.spbc_log-line:nth-child(odd){background:#d3d3d3}.spbc_log-block_header{margin:10px 0}.spbc_log-input--checkbox,.spbc_log-label--checkbox{width:auto}button.ct_support_link{border:none;background:0 0;color:#666;cursor:pointer}#spbc-modal-content{text-align:center}#spbc-modal-content>*{display:block;width:100%;margin:0}.spbc-modal-header{font-size:15px;font-weight:500}.spbc-modal-buttons-block{display:flex!important;gap:10px;justify-content:center}.spbc-modal-button{width:40%;height:35px;font-size:14px;font-weight:500;border:1px solid #60656b;background:#fff;border-radius:5px;cursor:pointer}.spbc-modal-button:hover{background:#2ea2cc;color:#fff;border:1px solid #2ea2cc}.spbc-modal-file_path{color:#026E88}.spbc-modal-file_path_wrapper{margin:4% 0 1%;padding:5px;border:1px solid #F5F5FD;border-radius:4px}.spbc-popup-msg{width:98%;height:15px;text-align:center;padding:4px;border-radius:7px;position:relative;top:0;right:0;bottom:0;left:0;margin:auto}.popup--green{background:#DFD;color:#060;border:1px solid #060}.popup--red{background:#FDD;color:#600;border:1px solid #600}#spbcscan-results-log-module{min-height:300px;height:300px;border-bottom:5px dashed #5a5a5a}#spbcscan-results-log-module .panel-body{height:100%;overflow-y:auto}#spbcscan-scanner-caption h4{margin:10px 0;font-size:14px}#spbcscan-results-log-caption p{font-size:13px;margin:0 0 6px}#spbcscan-scanner-caption{display:flex;flex-wrap:wrap;flex-direction:row-reverse}#spbcscan-scanner-caption .column:first-child{width:75%;flex:0 0 75%}#spbcscan-scanner-caption .column:last-child{width:25%;flex:0 0 25%;padding-right:10px;box-sizing:border-box}.spbc-scan-log-title{color:#1d2327;font-size:1.3em;margin:0 0 15px!important;font-weight:600}.spbc--status{position:relative;padding-left:26px}.spbc--marker-green::before,.spbc--marker-red::before,.spbc--marker-yellow::before{content:'';position:absolute;width:10px;height:10px;border-radius:50%;left:10px;top:4px}.spbc--marker-green::before{background:#1dda23}.spbc--marker-yellow::before{background:#ffb000}.spbc--marker-red::before{background:#d63638}button#spbc_setting_get_key_auto:disabled{background:#ccc;color:#111;text-decoration:none}.spbc_critical_updates-names{text-transform:uppercase;font-weight:500}.spbc_critical_updates-h_names{font-size:15px}.spbc_critical_updates-legend{border:1px solid #eee;padding:0 0 0 10px;margin:5px 0 0;color:#666}.spbc_critical_updates-no_vulnerabilities{color:green;font-size:15px;font-weight:500;margin:5px 0 0 30px}.spbct_notice{display:flex;justify-content:space-between}.spbct_notice-dismiss{position:relative;top:0;right:1px;border:none;margin:0;padding:9px;background:0 0;color:#787c82;cursor:pointer}.spbc_accordion_header_caption__update_status{display:inline-flex;flex-direction:row;flex-wrap:nowrap;width:45%;align-items:flex-end;justify-content:flex-end}.spbc_accordion_header_caption__updated{display:inline;color:#FFF;font-weight:700}.spbc_setting__textarea{width:400px;height:150px}.spbc-settings-general-wrapper{display:flex;flex-direction:row;flex-wrap:nowrap}.spbc-quicknav--bar_wrapper{display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:flex-start;height:fit-content;position:sticky;top:5vh}.spbc-quicknav--links_wrapper{display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:center;padding:3px;border:1px solid #e5e5e5;margin:10px}.spbc-quicknav--link{margin:3px;width:-webkit-fill-available;width:-moz-available;text-align:left;display:flex;flex-direction:row;justify-content:flex-start}#spbc_quicknav--header{color:#026E88;text-align:center;margin:5px 0}.spbc_quicknav--save_button{margin:10px 5px!important;height:40px}.spbc_settings--save_button_custom{position:sticky;bottom:0;display:flex;justify-content:center;flex-direction:row;align-items:baseline;flex-wrap:nowrap;padding:15px 0}html{scroll-behavior:smooth} \ No newline at end of file diff --git a/css/src/spbc-settings-media.css b/css/src/spbc-settings-media.css index 535f847ca..4cc563c63 100644 --- a/css/src/spbc-settings-media.css +++ b/css/src/spbc-settings-media.css @@ -36,3 +36,12 @@ display: none; } } +@media screen and (max-width: 900px) { + .spbc-quicknav--bar_wrapper { + position: relative; + top: 0; + } + .spbc-settings-general-wrapper { + flex-direction: column-reverse; + } +} diff --git a/css/src/spbc-settings.css b/css/src/spbc-settings.css index 349e89d23..12a0b0624 100644 --- a/css/src/spbc-settings.css +++ b/css/src/spbc-settings.css @@ -1038,3 +1038,66 @@ button#spbc_setting_get_key_auto:disabled { width: 400px; height: 150px; } + +.spbc-settings-general-wrapper { + display: flex; + flex-direction: row; + flex-wrap: nowrap; +} + +.spbc-quicknav--bar_wrapper { + display: flex; + flex-direction: column; + flex-wrap: nowrap; + justify-content: flex-start; + height: fit-content; + position: sticky; + top: 5vh; +} + +.spbc-quicknav--links_wrapper { + display: flex; + flex-direction: column; + flex-wrap: nowrap; + justify-content: center; + padding: 3px; + border: 1px solid #e5e5e5; + margin: 10px; +} + +.spbc-quicknav--link{ + margin: 3px; + width: -webkit-fill-available; + width: -moz-available; + text-align: left; + display: flex; + flex-direction: row; + justify-content: flex-start; +} + +#spbc_quicknav--header { + color: #026E88; + text-align: center; + margin: 5px 0; +} + +.spbc_quicknav--save_button { + margin: 10px 5px !important; + height: 40px; +} + +.spbc_settings--save_button_custom { + position: sticky; + bottom: 0; + display: flex; + justify-content: center; + flex-direction: row; + align-items: baseline; + flex-wrap: nowrap; + padding: 15px 0; +} + +html { + scroll-behavior: smooth; +} + diff --git a/inc/spbc-settings.php b/inc/spbc-settings.php index 95d106068..334e90075 100644 --- a/inc/spbc-settings.php +++ b/inc/spbc-settings.php @@ -218,7 +218,7 @@ function spbc_settings__register() 'class_prefix' => 'spbc', 'ajax' => true, 'js_after' => 'settings_tab--settings_general.min.js', - 'after' => 'submit_button', + 'after' => 'spbc_settings_draw_save_button_bottom_block', 'sections' => array( 'section_top_banner' => array( 'type' => 'section_banner', @@ -1310,64 +1310,13 @@ function spbc_settings__draw_elements($elems_to_draw = null, $direct_call = fals echo $elem['html']; } break; - // case 'tab_headings': - // echo '
Clear scanner logs
'+this.getSiteUTCShiftedTimeString()+" - "+t[e].path+" - "+t[e].module+": "+t[e].status+"
")}logStageEntry(t){void 0!==jQuery(".panel-body .spbc_log-line span").first()&&void 0!==jQuery(".panel-body .spbc_log-line span").first()[0]&&jQuery(".panel-body .spbc_log-line span").first()[0].textContent===t.description||this.logRaw('test '+this.getSiteUTCShiftedTimeString()+" - "+t.title+" "+t.description+"
")}showLinkForShuffleSalts(t){jQuery("#spbc_notice_about_shuffle_link").remove(),jQuery(jQuery(".spbc_tab--active .spbc_wrapper_field p")[1]).after('")}getSiteUTCShiftedTimeString(){let t=!1;var e=-1*(new Date).getTimezoneOffset()*1e3*60,e=(t="undefined"!=typeof spbcScaner&&void 0!==spbcScaner.timezone_shift&&!1!==spbcScaner.timezone_shift?Date.now()-e+1e3*spbcScaner.timezone_shift:t)?new Date(t):new Date,s=new Intl.DateTimeFormat("en-US",{month:"short"}).format,a=String(e.getMinutes()).padStart(2,"0"),i=String(e.getSeconds()).padStart(2,"0");return s(e)+" "+e.getDate()+" "+e.getFullYear()+" "+e.getHours()+":"+a+":"+i}} +class SpbcMalwareScanner{first_start=!0;active=!1;root="";settings=[];states=["get_cms_hashes","get_modules_hashes","clean_results","file_system_analysis","get_approved_hashes","get_denied_hashes","signature_analysis","heuristic_analysis","schedule_send_heuristic_suspicious_files","auto_cure_backup","auto_cure","outbound_links","frontend_analysis","important_files_listing","send_results"];state=null;offset=0;amount=0;amount_coefficient=1;total_scanned=0;scan_percent=0;percent_completed=0;paused=!1;button=null;spinner=null;progress_overall=null;progressbar=null;progressbar_text=null;timeout=6e4;state_timer=0;constructor(t){for(var e in console.log("init"),jQuery("#spbcscan-results-log-module").length&&jQuery(".spbc-scan-log-title").removeClass("spbc---hidden"),void 0!==t.settings.auto_cure&&(t.settings.scanner__auto_cure_backup="1"),t)void 0!==this[e]&&(this[e]=t[e])}actionControl(){null===this.state?this.start():this.paused?(this.resume(),this.controller()):this.pause()}start(){this.active=!0,this.state_timer=Math.round((new Date).getTime()/1e3),this.state=this.getNextState(null),this.setPercents(0),this.scan_percent=0,this.offset=0,this.progress_overall.children("span").removeClass("spbc_bold").filter(".spbc_overall_scan_status_"+this.state).addClass("spbc_bold"),this.progressbar.show(500),this.progress_overall.show(500),this.button.html(spbcScaner.button_scan_pause),this.spinner.css({display:"inline"}),setTimeout(()=>{this.controller()},1e3)}pause(t,e,s){console.log("PAUSE"),this.button.html(spbcScaner.button_scan_resume),this.spinner.css({display:"none"}),this.paused=!0,this.active=!1}resume(t){console.log("RESUME"),this.button.html(spbcScaner.button_scan_pause),this.spinner.css({display:"inline"}),this.paused=!1,this.active=!0}end(t){this.progressbar.hide(500),this.progress_overall.hide(500),this.button.html(spbcScaner.button_scan_perform),this.spinner.css({display:"none"}),this.state=null,this.plug=!1,this.total_scanned=0,this.active=!1,t?document.location=document.location:(spbcSendAJAXRequest({action:"spbc_scanner_tab__reload_accordion"},{notJson:!0,callback:function(t,e,s,a){jQuery(a).accordion("destroy").html(t).accordion({header:"h3",heightStyle:"content",collapsible:!0,active:!1}),spbcTblBulkActionsListen(),spbcTblRowActionsListen(),spbcTblPaginationListen(),spbcTblSortListen(),spbcStartShowHide(),spbcScannerReloadScanInfo()}},jQuery("#spbc_scan_accordion")),jQuery("#spbc_scanner_clear").length||jQuery('Clear scanner logs
'+this.getSiteUTCShiftedTimeString()+" - "+t[e].path+" - "+t[e].module+": "+t[e].status+"
")}logStageEntry(t){void 0!==jQuery(".panel-body .spbc_log-line span").first()&&void 0!==jQuery(".panel-body .spbc_log-line span").first()[0]&&jQuery(".panel-body .spbc_log-line span").first()[0].textContent===t.description||this.logRaw('test '+this.getSiteUTCShiftedTimeString()+" - "+t.title+" "+t.description+"
")}showLinkForShuffleSalts(t){jQuery("#spbc_notice_about_shuffle_link").remove(),jQuery(jQuery(".spbc_tab--active .spbc_wrapper_field p")[1]).after('")}getSiteUTCShiftedTimeString(){let t=!1;var e=-1*(new Date).getTimezoneOffset()*1e3*60,e=(t="undefined"!=typeof spbcScaner&&void 0!==spbcScaner.timezone_shift&&!1!==spbcScaner.timezone_shift?Date.now()-e+1e3*spbcScaner.timezone_shift:t)?new Date(t):new Date,s=new Intl.DateTimeFormat("en-US",{month:"short"}).format,a=String(e.getMinutes()).padStart(2,"0"),i=String(e.getSeconds()).padStart(2,"0");return s(e)+" "+e.getDate()+" "+e.getFullYear()+" "+e.getHours()+":"+a+":"+i}} //# sourceMappingURL=spbc-scanner-plugin.min.js.map diff --git a/js/spbc-scanner-plugin.min.js.map b/js/spbc-scanner-plugin.min.js.map index 229b9e332..03c3ec17b 100644 --- a/js/spbc-scanner-plugin.min.js.map +++ b/js/spbc-scanner-plugin.min.js.map @@ -1 +1 @@ -{"version":3,"file":"spbc-scanner-plugin.min.js","sources":["spbc-scanner-plugin.js"],"sourcesContent":["'use strict';\n\n/**\n * class SpbcMalwareScanner\n */\nclass SpbcMalwareScanner {/* eslint-disable-line no-unused-vars */\n first_start = true;\n\n active = false;\n\n root = '';\n settings = [];\n states = [\n 'get_cms_hashes',\n 'get_modules_hashes',\n 'clean_results',\n 'file_system_analysis',\n 'get_approved_hashes',\n 'get_denied_hashes',\n 'signature_analysis',\n 'heuristic_analysis',\n 'schedule_send_heuristic_suspicious_files',\n 'auto_cure_backup',\n 'auto_cure',\n 'outbound_links',\n 'frontend_analysis',\n 'important_files_listing',\n 'send_results',\n ];\n state = null;\n offset = 0;\n amount = 0;\n amount_coefficient = 1;\n total_scanned = 0;\n scan_percent = 0;\n percent_completed = 0;\n\n paused = false;\n\n button = null;\n spinner = null;\n\n progress_overall = null;\n progressbar = null;\n progressbar_text = null;\n\n timeout = 60000;\n\n state_timer = 0;\n\n /**\n * constructor\n * @param {array} properties\n */\n constructor( properties ) {\n console.log('init');\n if (jQuery('#spbcscan-results-log-module').length) {\n jQuery('.spbc-scan-log-title').removeClass('spbc---hidden');\n }\n\n // Crunch for cure backups\n if ( typeof properties['settings']['auto_cure'] !== 'undefined' ) {\n properties['settings']['scanner__auto_cure_backup'] = '1';\n }\n\n for ( let key in properties ) {\n if ( typeof this[key] !== 'undefined' ) {\n this[key] = properties[key];\n }\n }\n };\n\n /**\n * Function Action Control\n */\n actionControl() {\n if (this.state === null) {\n this.start();\n } else if (this.paused) {\n this.resume();\n this.controller();\n } else {\n this.pause();\n }\n };\n\n /**\n * Function Start\n */\n start() {\n this.active = true;\n this.state_timer = Math.round(new Date().getTime() /1000);\n\n this.state = this.getNextState( null );\n\n this.setPercents( 0 );\n this.scan_percent = 0;\n this.offset = 0;\n this.progress_overall.children('span')\n .removeClass('spbc_bold')\n .filter('.spbc_overall_scan_status_' + this.state)\n .addClass('spbc_bold');\n\n this.progressbar.show(500);\n this.progress_overall.show(500);\n this.button.html(spbcScaner.button_scan_pause);\n this.spinner.css({display: 'inline'});\n\n setTimeout(() => {\n this.controller();\n }, 1000);\n };\n\n /**\n * Function Pause\n * @param {*} result\n * @param {*} data\n * @param {*} opt\n */\n pause( result, data, opt ) {\n console.log('PAUSE');\n this.button.html(spbcScaner.button_scan_resume);\n this.spinner.css({display: 'none'});\n this.paused = true;\n this.active = false;\n };\n\n /**\n * Function Resume\n * @param {*} opt\n */\n resume( opt ) {\n console.log('RESUME');\n this.button.html(spbcScaner.button_scan_pause);\n this.spinner.css({display: 'inline'});\n this.paused = false;\n this.active = true;\n };\n\n /**\n * Function End\n * @param {bool} reload\n */\n end( reload ) {\n this.progressbar.hide(500);\n this.progress_overall.hide(500);\n this.button.html(spbcScaner.button_scan_perform);\n this.spinner.css({display: 'none'});\n this.state = null;\n this.plug = false;\n this.total_scanned = 0;\n this.active = false;\n\n if (reload) {\n document.location = document.location;\n } else {\n spbcSendAJAXRequest(\n {action: 'spbc_scanner_tab__reload_accordion'},\n {\n notJson: true,\n callback: function(result, data, params, obj) {\n jQuery(obj).accordion('destroy')\n .html(result)\n .accordion({\n header: 'h3',\n heightStyle: 'content',\n collapsible: true,\n active: false,\n });\n spbcTblBulkActionsListen();\n spbcTblRowActionsListen();\n spbcTblPaginationListen();\n spbcTblSortListen();\n spbcStartShowHide();\n spbcScannerReloadScanInfo();\n },\n },\n jQuery('#spbc_scan_accordion'),\n );\n\n if (!jQuery('#spbc_scanner_clear').length) {\n let clearLink = 'Clear scanner logs
' +\n this.getSiteUTCShiftedTimeString() + ' - ' +\n items[key].path + ' - ' + items[key].module +\n ': ' + items[key].status + '' +\n '
');\n }\n }\n };\n\n /**\n * Log Stage Entry\n * @param {obj} data\n */\n logStageEntry(data) {\n if (typeof jQuery('.panel-body .spbc_log-line span').first() !== 'undefined' &&\n typeof jQuery('.panel-body .spbc_log-line span').first()[0] !== 'undefined' &&\n jQuery('.panel-body .spbc_log-line span').first()[0].textContent === data.description\n ) {\n return;\n }\n this.logRaw( 'test ' +\n this.getSiteUTCShiftedTimeString() + ' - ' + '' +\n data.title + ' ' + '' + data.description + '
' );\n };\n\n /**\n * Show Link For Shuffle Salts\n * @param {string} message\n */\n showLinkForShuffleSalts(message) {\n jQuery('#spbc_notice_about_shuffle_link').remove();\n jQuery(jQuery('.spbc_tab--active .spbc_wrapper_field p')[1])\n .after(\n 'Clear scanner logs
' +\n this.getSiteUTCShiftedTimeString() + ' - ' +\n items[key].path + ' - ' + items[key].module +\n ': ' + items[key].status + '' +\n '
');\n }\n }\n };\n\n /**\n * Log Stage Entry\n * @param {obj} data\n */\n logStageEntry(data) {\n if (typeof jQuery('.panel-body .spbc_log-line span').first() !== 'undefined' &&\n typeof jQuery('.panel-body .spbc_log-line span').first()[0] !== 'undefined' &&\n jQuery('.panel-body .spbc_log-line span').first()[0].textContent === data.description\n ) {\n return;\n }\n this.logRaw( 'test ' +\n this.getSiteUTCShiftedTimeString() + ' - ' + '' +\n data.title + ' ' + '' + data.description + '
' );\n };\n\n /**\n * Show Link For Shuffle Salts\n * @param {string} message\n */\n showLinkForShuffleSalts(message) {\n jQuery('#spbc_notice_about_shuffle_link').remove();\n jQuery(jQuery('.spbc_tab--active .spbc_wrapper_field p')[1])\n .after(\n '"+e.desc+"
"),jQuery(document).on("click",c)}},s)}function spbcSettingsShowRecommendation(e,t){function c(e){void 0!==e&&(0!=jQuery(e.target).parent(".spbc_long_desc").length&&!jQuery(e.target).hasClass("spbc_long_desc__cancel")||jQuery(e.target).hasClass("spbc_long_recommendation__show"))||(jQuery(".spbc_long_desc").remove(),jQuery(document).off("click",c))}c(),e.after("");var s=jQuery("#spbc_long_desc__"+t);s.append("").append("").css({top:e.position().top+25,left:e.position().left+5}),spbcSendAJAXRequest({action:"spbc_settings__get_recommendation",setting_id:t},{spinner:s.children("img"),callback:function(e,t,s,n){n.empty().append("").append("").append(""+e.desc+"
"),jQuery(document).on("click",c)}},s)}function spbcStartShowHide(){jQuery(".spbcShortText").off("mouseover").on("mouseover",function(){jQuery(this).next().show()}).off("mouseout").on("mouseout",function(){jQuery(this).next().hide()}),jQuery(".spbcFullText").off("mouseout").on("mouseout",function(){jQuery(this).hide()}).off("mouseover").on("mouseover",function(){jQuery(this).show()})}function spbctGenerateConfirmationCode(){var e={};let t={success:!1};return e.security=spbcSettings.ajax_nonce,e.action="spbc_generate_confirmation_code",jQuery.ajax({type:"POST",async:!1,url:spbcSettings.ajaxurl,data:e,success:function(e){e.success?t.success=!0:t.text=e.data}}),t}function spbctCheckConfirmationCode(e,t,s){let n=e;e={};e.security=spbcSettings.ajax_nonce,e.action="spbc_check_confirmation_code",e.code=jQuery("#confirmation-code input").val(),jQuery.ajax({type:"POST",async:!1,url:spbcSettings.ajaxurl,data:e,success:function(e){e.success?(jQuery("[name *= 2fa__enable]").attr("checked",""),n.checked=!0,jQuery("#spbc_setting_2fa__roles").removeAttr("disabled"),jQuery("#spbc_setting_2fa__roles > option:first").attr("selected","selected"),clearTimeout(t),s.remove(),jQuery("#confirmation-code").dialog("close")):alert("Code verification failed!")}})}function spbcBannerCheck(){let c=setInterval(function(){spbcSendAJAXRequest({action:"spbc_settings__check_renew_banner"},{callback:function(e,t,s,n){e.close_renew_banner&&(jQuery("#spbc_renew_notice").length&&jQuery("#spbc_renew_notice").hide("slow"),jQuery("#spbc_trial_notice").length&&jQuery("#spbc_trial_notice").hide("slow"),clearInterval(c))}})},6e4)}function spbcToggleClass(t,s){for(let e=0;e"+e.data+"
",jQuery(c).insertAfter(jQuery(o)),jQuery("#spbc_settings_templates_import_button .spbc_success").show(300),setTimeout(function(){jQuery("#spbc_settings_templates_import_button .spbc_success").hide(300)},2e3),document.addEventListener("spbcModalClosed",function(e){document.location.reload()}),setTimeout(function(){spbcModal.close()},2e3)):(c=""+e.data+"
",jQuery(c).insertAfter(jQuery(o)))}})}}),jQuery(document).on("click","#spbc_settings_templates_export_button",function(){jQuery("#spbc-ajax-result").remove();var t=jQuery("option:selected",jQuery("#spbc_settings_templates_export")),s=jQuery("#spbc_settings_templates_export_name");if(s.css("border-color","inherit"),void 0===t.data("id"))console.log('Attribute "data-id" not set for the option.');else{let e;if("new_template"===t.data("id")){var n=s.val();if(""===n)return void s.css("border-color","red");e={template_name:n}}else e={template_id:t.data("id")};let o=this;spbcSendAJAXRequest({action:"spbc_settings_templates_export",data:e},{timeout:25e3,button:o,spinner:jQuery("#spbc_settings_templates_export_button .spbc_preloader_button"),callback:function(e,t,s,n){let c;e.success?(c=""+e.data+"
",jQuery(c).insertAfter(jQuery(o)),jQuery("#spbc_settings_templates_export_button .spbc_success").show(300),setTimeout(function(){jQuery("#spbc_settings_templates_export_button .spbc_success").hide(300)},2e3),document.addEventListener("spbcModalClosed",function(e){document.location.reload()}),setTimeout(function(){spbcModal.close()},2e3)):(c=""+e.data+"
",jQuery(c).insertAfter(jQuery(o)))}})}}),jQuery(document).on("click","#spbc_settings_templates_reset_button",function(){let o=this;spbcSendAJAXRequest({action:"spbc_settings_templates_reset"},{timeout:25e3,button:o,spinner:jQuery("#spbc_settings_templates_reset_button .spbc_preloader_button"),callback:function(e,t,s,n){let c;e.success?(c=""+e.data+"
",jQuery(c).insertAfter(jQuery(o)),jQuery("#spbc_settings_templates_reset_button .spbc_success").show(300),setTimeout(function(){jQuery("#spbc_settings_templates_reset_button .spbc_success").hide(300)},2e3),document.addEventListener("spbcModalClosed",function(e){document.location.reload()}),setTimeout(function(){spbcModal.close()},2e3)):(c=""+e.data+"
",jQuery(c).insertAfter(jQuery(o)))}})}),jQuery(document).on("change","#spbc_settings_templates_export",function(){"new_template"===jQuery("option:selected",this).data("id")?jQuery(this).parent().parent().find("#spbc_settings_templates_export_name").show():jQuery(this).parent().parent().find("#spbc_settings_templates_export_name").hide()}),jQuery(document).on("click","#spbc-change-account-email",function(e){e.preventDefault();var e=jQuery(this),t=jQuery("#spbc-account-email"),s=t.text();spbcToggleClass(e,"active"),e.hasClass("active")?(e.text(e.data("save-text")),t.attr("contenteditable","true"),t.focus(),t.on("keydown",function(e){"Enter"===e.code&&e.preventDefault()}),t.on("input",function(e){"insertParagraph"===e.inputType&&e.preventDefault()})):(spbcSendAJAXRequest({action:"spbc_update_account_email",accountEmail:s},{timeout:5e3,callback:function(e,t,s,n){void 0!==e.success&&"ok"===e.success&&void 0!==e.manuallyLink&&jQuery("#spbc-key-manually-link").attr("href",e.manuallyLink),void 0!==e.error&&jQuery("#spbc-account-email").css("border-color","red")},errorOutput:function(e){spbcModal.loaded=e,spbcModal.open()}}),t.attr("contenteditable","false"),e.text(e.data("default-text")))}),jQuery(document).on("click",".spbct_notice-dismiss",function(e){var t=this.parentElement.classList;let s=t[t.length-1];document.querySelectorAll("."+s).forEach(e=>{e.parentElement.setAttribute("style","display:none;"),spbcSetCookie(s,1,2592e3)})})}); +function spbcSwitchTab(e,t){var s=e.classList[1].replace("spbc_tab_nav-",""),n=new URLSearchParams(window.location.search),c=(n.set("spbc_tab",s),window.location.hash),c=window.location.pathname+"?"+n.toString()+c;if(history.replaceState(null,"",c),"backups"!==n.get("spbc_tab")&&jQuery(".spbc_tab_nav-backups").hide(),jQuery(".spbc_tab_nav").removeClass("spbc_tab_nav--active"),jQuery(".spbc_tab").removeClass("spbc_tab--active"),jQuery(e).addClass("spbc_tab_nav--active"),jQuery(".spbc_tab-"+s).addClass("spbc_tab--active"),jQuery(e).data("loaded")){if(t&&t.action)switch(t.action){case"highlight":spbcHighlightElement(t.target,t.times);break;case"click":setTimeout(function(){jQuery("#"+t.additional.target).click()},500)}}else{c={action:"spbc_settings__draw_elements",tab_name:s,security:spbcSettings.ajax_nonce};t={callback:spbcDrawSettingsCallback,notJson:!0,additional:t||null},spbcSendAJAXRequest(c,t,e)}}function spbcDrawSettingsCallback(e,t,s,n){jQuery(n).data("loaded",!0),jQuery(".spbc_tab-"+t.tab_name).replaceWith(e);n=jQuery(".spbc_tab-"+t.tab_name);if(n.addClass("spbc_tab--active"),jQuery(document).off("click",".spbc_long_description__show"),jQuery(document).on("click",".spbc_long_description__show",function(){spbcSettingsShowDescription(self=jQuery(this),self.attr("setting"))}),jQuery(document).off("click",".spbc_long_recommendation__show"),jQuery(document).on("click",".spbc_long_recommendation__show",function(){spbcSettingsShowRecommendation(self=jQuery(this),self.attr("setting"))}),s.additional)switch(s.additional.action){case"highlight":spbcHighlightElement(s.additional.target,s.additional.times);break;case"click":setTimeout(function(){jQuery("#"+s.additional.target).click()},500)}jQuery(n).on("click",".spbc_hint-send_"+t.tab_name,function(){jQuery(".spbc_hint-send_"+t.tab_name).hide(),spbcSendAJAXRequest({action:"spbc_send_"+t.tab_name,tab_name:t.tab_name},{callback:spbcSendLogsCallback})}),window.location.hash&&document.getElementById(window.location.hash.substring(1)).scrollIntoView(),document.dispatchEvent(new CustomEvent("spbctTabLoaded",{bubbles:!0,detail:{tab:t.tab_name}})),"function"==typeof spbcHighlightCriticalFilesNotice&&spbcHighlightCriticalFilesNotice(!1),spbcSaveSettingsButtonMobileLayout(),window.addEventListener("resize",e=>{spbcSaveSettingsButtonMobileLayout()})}function spbcSaveSettingsButtonMobileLayout(){var e=document.querySelector('div[name="spbc_settings--save_button_custom"]');e&&(900"+e.desc+"
"),jQuery(document).on("click",c)}},s)}function spbcSettingsShowRecommendation(e,t){function c(e){void 0!==e&&(0!=jQuery(e.target).parent(".spbc_long_desc").length&&!jQuery(e.target).hasClass("spbc_long_desc__cancel")||jQuery(e.target).hasClass("spbc_long_recommendation__show"))||(jQuery(".spbc_long_desc").remove(),jQuery(document).off("click",c))}c(),e.after("");var s=jQuery("#spbc_long_desc__"+t);s.append("").append("").css({top:e.position().top+25,left:e.position().left+5}),spbcSendAJAXRequest({action:"spbc_settings__get_recommendation",setting_id:t},{spinner:s.children("img"),callback:function(e,t,s,n){n.empty().append("").append("").append(""+e.desc+"
"),jQuery(document).on("click",c)}},s)}function spbcStartShowHide(){jQuery(".spbcShortText").off("mouseover").on("mouseover",function(){jQuery(this).next().show()}).off("mouseout").on("mouseout",function(){jQuery(this).next().hide()}),jQuery(".spbcFullText").off("mouseout").on("mouseout",function(){jQuery(this).hide()}).off("mouseover").on("mouseover",function(){jQuery(this).show()})}function spbctGenerateConfirmationCode(){var e={};let t={success:!1};return e.security=spbcSettings.ajax_nonce,e.action="spbc_generate_confirmation_code",jQuery.ajax({type:"POST",async:!1,url:spbcSettings.ajaxurl,data:e,success:function(e){e.success?t.success=!0:t.text=e.data}}),t}function spbctCheckConfirmationCode(e,t,s){let n=e;e={};e.security=spbcSettings.ajax_nonce,e.action="spbc_check_confirmation_code",e.code=jQuery("#confirmation-code input").val(),jQuery.ajax({type:"POST",async:!1,url:spbcSettings.ajaxurl,data:e,success:function(e){e.success?(jQuery("[name *= 2fa__enable]").attr("checked",""),n.checked=!0,jQuery("#spbc_setting_2fa__roles").removeAttr("disabled"),jQuery("#spbc_setting_2fa__roles > option:first").attr("selected","selected"),clearTimeout(t),s.remove(),jQuery("#confirmation-code").dialog("close")):alert("Code verification failed!")}})}function spbcBannerCheck(){let c=setInterval(function(){spbcSendAJAXRequest({action:"spbc_settings__check_renew_banner"},{callback:function(e,t,s,n){e.close_renew_banner&&(jQuery("#spbc_renew_notice").length&&jQuery("#spbc_renew_notice").hide("slow"),jQuery("#spbc_trial_notice").length&&jQuery("#spbc_trial_notice").hide("slow"),clearInterval(c))}})},6e4)}function spbcToggleClass(t,s){for(let e=0;e"+e.data+"
",jQuery(c).insertAfter(jQuery(o)),jQuery("#spbc_settings_templates_import_button .spbc_success").show(300),setTimeout(function(){jQuery("#spbc_settings_templates_import_button .spbc_success").hide(300)},2e3),document.addEventListener("spbcModalClosed",function(e){document.location.reload()}),setTimeout(function(){spbcModal.close()},2e3)):(c=""+e.data+"
",jQuery(c).insertAfter(jQuery(o)))}})}}),jQuery(document).on("click","#spbc_settings_templates_export_button",function(){jQuery("#spbc-ajax-result").remove();var t=jQuery("option:selected",jQuery("#spbc_settings_templates_export")),s=jQuery("#spbc_settings_templates_export_name");if(s.css("border-color","inherit"),void 0===t.data("id"))console.log('Attribute "data-id" not set for the option.');else{let e;if("new_template"===t.data("id")){var n=s.val();if(""===n)return void s.css("border-color","red");e={template_name:n}}else e={template_id:t.data("id")};let o=this;spbcSendAJAXRequest({action:"spbc_settings_templates_export",data:e},{timeout:25e3,button:o,spinner:jQuery("#spbc_settings_templates_export_button .spbc_preloader_button"),callback:function(e,t,s,n){let c;e.success?(c=""+e.data+"
",jQuery(c).insertAfter(jQuery(o)),jQuery("#spbc_settings_templates_export_button .spbc_success").show(300),setTimeout(function(){jQuery("#spbc_settings_templates_export_button .spbc_success").hide(300)},2e3),document.addEventListener("spbcModalClosed",function(e){document.location.reload()}),setTimeout(function(){spbcModal.close()},2e3)):(c=""+e.data+"
",jQuery(c).insertAfter(jQuery(o)))}})}}),jQuery(document).on("click","#spbc_settings_templates_reset_button",function(){let o=this;spbcSendAJAXRequest({action:"spbc_settings_templates_reset"},{timeout:25e3,button:o,spinner:jQuery("#spbc_settings_templates_reset_button .spbc_preloader_button"),callback:function(e,t,s,n){let c;e.success?(c=""+e.data+"
",jQuery(c).insertAfter(jQuery(o)),jQuery("#spbc_settings_templates_reset_button .spbc_success").show(300),setTimeout(function(){jQuery("#spbc_settings_templates_reset_button .spbc_success").hide(300)},2e3),document.addEventListener("spbcModalClosed",function(e){document.location.reload()}),setTimeout(function(){spbcModal.close()},2e3)):(c=""+e.data+"
",jQuery(c).insertAfter(jQuery(o)))}})}),jQuery(document).on("change","#spbc_settings_templates_export",function(){"new_template"===jQuery("option:selected",this).data("id")?jQuery(this).parent().parent().find("#spbc_settings_templates_export_name").show():jQuery(this).parent().parent().find("#spbc_settings_templates_export_name").hide()}),jQuery(document).on("click","#spbc-change-account-email",function(e){e.preventDefault();var e=jQuery(this),t=jQuery("#spbc-account-email"),s=t.text();spbcToggleClass(e,"active"),e.hasClass("active")?(e.text(e.data("save-text")),t.attr("contenteditable","true"),t.focus(),t.on("keydown",function(e){"Enter"===e.code&&e.preventDefault()}),t.on("input",function(e){"insertParagraph"===e.inputType&&e.preventDefault()})):(spbcSendAJAXRequest({action:"spbc_update_account_email",accountEmail:s},{timeout:5e3,callback:function(e,t,s,n){void 0!==e.success&&"ok"===e.success&&void 0!==e.manuallyLink&&jQuery("#spbc-key-manually-link").attr("href",e.manuallyLink),void 0!==e.error&&jQuery("#spbc-account-email").css("border-color","red")},errorOutput:function(e){spbcModal.loaded=e,spbcModal.open()}}),t.attr("contenteditable","false"),e.text(e.data("default-text")))}),jQuery(document).on("click",".spbct_notice-dismiss",function(e){var t=this.parentElement.classList;let s=t[t.length-1];document.querySelectorAll("."+s).forEach(e=>{e.parentElement.setAttribute("style","display:none;"),spbcSetCookie(s,1,2592e3)})})}); //# sourceMappingURL=spbc-settings.min.js.map diff --git a/js/spbc-settings.min.js.map b/js/spbc-settings.min.js.map index 4ab2147aa..c92ce8e2c 100644 --- a/js/spbc-settings.min.js.map +++ b/js/spbc-settings.min.js.map @@ -1 +1 @@ -{"version":3,"file":"spbc-settings.min.js","sources":["spbc-settings.js"],"sourcesContent":["// Printf for JS\nString.prototype.printf = function() { // eslint-disable-line no-extend-native\n let formatted = this;\n /* eslint-disable guard-for-in */\n for ( let arg in arguments ) { // eslint-disable-line prefer-rest-params\n let beforeFormatted = formatted.substring(0, formatted.indexOf('%s', 0));\n let afterFormatted = formatted.substring(formatted.indexOf('%s', 0)+2, formatted.length);\n formatted = beforeFormatted + arguments[arg] + afterFormatted; // eslint-disable-line prefer-rest-params\n }\n return formatted;\n};\n\n/**\n * Switching tabs\n *\n * @param {object} tab\n * @param {object} params\n */\nfunction spbcSwitchTab(tab, params) {\n let tabName = tab.classList[1].replace('spbc_tab_nav-', '');\n\n // update url\n let searchParams = new URLSearchParams(window.location.search);\n searchParams.set('spbc_tab', tabName);\n let hashParam = window.location.hash;\n let newRelativePathQuery = window.location.pathname + '?' + searchParams.toString() + hashParam;\n\n history.replaceState(null, '', newRelativePathQuery);\n\n // Hiding a tab 'Backups' if exist\n if (searchParams.get('spbc_tab') !== 'backups') {\n jQuery('.spbc_tab_nav-backups').hide();\n }\n\n // update active tab\n jQuery('.spbc_tab_nav').removeClass('spbc_tab_nav--active');\n jQuery('.spbc_tab').removeClass('spbc_tab--active');\n jQuery(tab).addClass('spbc_tab_nav--active');\n jQuery('.spbc_tab-' + tabName).addClass('spbc_tab--active');\n\n if (!jQuery(tab).data('loaded')) {\n let data = {\n action: 'spbc_settings__draw_elements',\n tab_name: tabName,\n security: spbcSettings.ajax_nonce,\n };\n params = {\n callback: spbcDrawSettingsCallback,\n notJson: true,\n additional: params || null,\n };\n spbcSendAJAXRequest( data, params, tab );\n } else if (params && params.action) {\n switch (params.action) {\n case 'highlight':\n spbcHighlightElement(params.target, params.times);\n break;\n case 'click':\n setTimeout(function() {\n jQuery('#'+params.additional.target).click();\n }, 500);\n break;\n }\n }\n}\n\n/**\n * Draws settings\n *\n * @param {*} result\n * @param {*} data\n * @param {*} params\n * @param {*} obj\n */\nfunction spbcDrawSettingsCallback(result, data, params, obj) {\n jQuery(obj).data('loaded', true);\n jQuery('.spbc_tab-'+data.tab_name).replaceWith(result);\n let tab = jQuery('.spbc_tab-'+data.tab_name);\n tab.addClass('spbc_tab--active');\n\n jQuery(document).off( 'click', '.spbc_long_description__show');\n jQuery(document).on('click', '.spbc_long_description__show', function() {\n self = jQuery(this);\n spbcSettingsShowDescription(self, self.attr('setting'));\n });\n\n jQuery(document).off( 'click', '.spbc_long_recommendation__show');\n jQuery(document).on('click', '.spbc_long_recommendation__show', function() {\n self = jQuery(this);\n spbcSettingsShowRecommendation(self, self.attr('setting'));\n });\n\n if (params.additional) {\n switch (params.additional.action) {\n case 'highlight':\n spbcHighlightElement(params.additional.target, params.additional.times);\n break;\n case 'click':\n setTimeout(function() {\n jQuery('#'+params.additional.target).click();\n }, 500);\n break;\n }\n }\n\n jQuery(tab).on('click', '.spbc_hint-send_'+data.tab_name, function() {\n jQuery('.spbc_hint-send_'+data.tab_name).hide();\n spbcSendAJAXRequest(\n {action: 'spbc_send_'+data.tab_name, tab_name: data.tab_name},\n {callback: spbcSendLogsCallback},\n );\n });\n\n // scroll to anchor\n if (window.location.hash) {\n document.getElementById(window.location.hash.substring(1)).scrollIntoView();\n }\n\n document.dispatchEvent(\n new CustomEvent( 'spbctTabLoaded', {\n bubbles: true,\n detail: {tab: data.tab_name},\n } ),\n );\n\n if (typeof spbcHighlightCriticalFilesNotice === 'function') {\n spbcHighlightCriticalFilesNotice(false);\n }\n}\n\n/**\n * Sends logs\n *\n * @param {*} result\n * @param {*} data\n * @param {*} params\n * @param {*} obj\n */\nfunction spbcSendLogsCallback(result, data, params, obj) {\n jQuery('.spbc_tab_nav-'+data.tab_name).data('loaded', false);\n spbcSwitchTab(document.getElementsByClassName('spbc_tab_nav-'+data.tab_name)[0]);\n}\n\n/**\n * Disables/enables settings by ID\n *\n * @param {array} settingsIDs\n * @param {number} enable\n */\nfunction spbcSettingsDependenciesbyId(settingsIDs, enable) { // eslint-disable-line no-unused-vars\n if (typeof settingsIDs === 'string') {\n tmp = [];\n tmp.push(settingsIDs);\n settingsIDs = tmp;\n }\n\n enable = typeof enable === 'undefined' ? null : +enable;\n\n settingsIDs.forEach(function(settingID, i, arr) {\n let elem = document.getElementById('spbc_setting_'+settingID);\n let doDisable = function() {\n elem.setAttribute('disabled', 'disabled');\n };\n let doEnable = function() {\n elem.removeAttribute('disabled');\n };\n\n if (enable !== null) {\n // Set\n enable === 1 ? doEnable() : doDisable();\n } else {\n // Switch\n elem.getAttribute('disabled') === null ? doDisable() : doEnable();\n }\n });\n}\n\n/**\n * Recursive in case children found!\n *\n * Settings dependencies\n *\n * @param {array} settingNames\n * @param {number} enable\n */\nfunction spbcSettingsDependencies(settingNames, enable) { // eslint-disable-line no-unused-vars\n // Cast settingNames to array\n settingNames = typeof settingNames === 'string' ? settingNames.split(',') : settingNames;\n enable = typeof enable === 'undefined' ? +event.target.checked : +enable;\n\n settingNames.forEach(function(settingName, i, arr) {\n document.getElementsByName('spbc_settings['+settingName+']')\n .forEach(function( elem, i, arr ) {\n let doDisable = function() {\n elem.setAttribute('disabled', 'disabled');\n };\n let doEnable = function() {\n elem.removeAttribute('disabled');\n };\n if (enable !== null) {\n // Set\n enable === 1 ? doEnable() : doDisable();\n } else {\n // Switch\n elem.getAttribute('disabled') === null ? doDisable() : doEnable();\n }\n\n let children = elem.getAttribute('children');\n if ( children !== null ) {\n spbcSettingsDependencies(children, enable && elem.checked);\n }\n });\n });\n}\n\n/**\n * Shows description\n *\n * @param {object} label\n * @param {string} settingId\n */\nfunction spbcSettingsShowDescription(label, settingId) {\n let removeDescFunc = function(e) {\n if (\n typeof e === 'undefined' ||\n (\n jQuery(e.target).parent('.spbc_long_desc').length == 0 ||\n jQuery(e.target).hasClass('spbc_long_desc__cancel')\n ) && !jQuery(e.target).hasClass('spbc_long_description__show')\n ) {\n jQuery('.spbc_long_desc').remove();\n jQuery(document).off('click', removeDescFunc);\n }\n };\n\n removeDescFunc();\n\n label.after('');\n let obj = jQuery('#spbc_long_desc__'+settingId);\n obj.append('')\n .append('')\n .css({\n top: label.position().top + 25,\n left: label.position().left + 5,\n });\n\n\n spbcSendAJAXRequest(\n {action: 'spbc_settings__get_description', setting_id: settingId},\n {\n spinner: obj.children('img'),\n callback: function(result, data, params, obj) {\n obj.empty()\n .append('')\n .append('')\n .append(''+result.desc+'
');\n\n jQuery(document).on('click', removeDescFunc);\n },\n },\n obj,\n );\n}\n\n/**\n * Shows recommendation\n *\n * @param {object} label\n * @param {string} settingId\n */\nfunction spbcSettingsShowRecommendation(label, settingId) {\n let removeRecommendationFunc = function(e) {\n if (\n typeof e === 'undefined' ||\n (\n jQuery(e.target).parent('.spbc_long_desc').length == 0 ||\n jQuery(e.target).hasClass('spbc_long_desc__cancel')\n ) && !jQuery(e.target).hasClass('spbc_long_recommendation__show')\n ) {\n jQuery('.spbc_long_desc').remove();\n jQuery(document).off('click', removeRecommendationFunc);\n }\n };\n\n removeRecommendationFunc();\n\n label.after('');\n let obj = jQuery('#spbc_long_desc__'+settingId);\n obj.append('')\n .append('')\n .css({\n top: label.position().top + 25,\n left: label.position().left + 5,\n });\n\n\n spbcSendAJAXRequest(\n {action: 'spbc_settings__get_recommendation', setting_id: settingId},\n {\n spinner: obj.children('img'),\n callback: function(result, data, params, obj) {\n obj.empty()\n .append('')\n .append('')\n .append(''+result.desc+'
');\n\n jQuery(document).on('click', removeRecommendationFunc);\n },\n },\n obj,\n );\n}\n\n/**\n * Shows/hides full text\n */\nfunction spbcStartShowHide() { // eslint-disable-line no-unused-vars\n jQuery('.spbcShortText')\n .off('mouseover' )\n .on('mouseover', function() {\n jQuery(this).next().show();\n })\n .off('mouseout' )\n .on('mouseout', function() {\n jQuery(this).next().hide();\n });\n jQuery('.spbcFullText')\n .off('mouseout' )\n .on('mouseout', function() {\n jQuery(this).hide();\n })\n .off('mouseover' )\n .on('mouseover', function() {\n jQuery(this).show();\n });\n}\n\n/**\n * Generate and save confirmation code\n *\n * @return {object}\n */\nfunction spbctGenerateConfirmationCode() {\n let data = {};\n let res = {};\n res.success = false;\n data.security = spbcSettings.ajax_nonce;\n data.action = 'spbc_generate_confirmation_code';\n\n jQuery.ajax({\n type: 'POST',\n async: false,\n url: spbcSettings.ajaxurl,\n data: data,\n success: function(result) {\n if (result.success) {\n res.success = true;\n } else {\n res.text = result.data;\n }\n },\n });\n return res;\n}\n\n/**\n * Check confirmation code\n *\n * @param {object} radioButton\n * @param {number} timeout\n * @param {object} timer\n */\nfunction spbctCheckConfirmationCode( radioButton, timeout, timer ) {\n let element = radioButton;\n let data = {};\n data.security = spbcSettings.ajax_nonce;\n data.action = 'spbc_check_confirmation_code';\n data.code = jQuery('#confirmation-code input').val();\n\n jQuery.ajax({\n type: 'POST',\n async: false,\n url: spbcSettings.ajaxurl,\n data: data,\n success: function(result) {\n if (result.success) {\n jQuery('[name *= 2fa__enable]').attr('checked', '');\n element.checked = true;\n jQuery('#spbc_setting_2fa__roles').removeAttr('disabled');\n jQuery('#spbc_setting_2fa__roles > option:first').attr('selected', 'selected');\n clearTimeout( timeout );\n timer.remove();\n jQuery('#confirmation-code').dialog( 'close' );\n } else {\n alert('Code verification failed!');\n }\n },\n });\n}\n\n/**\n * Checking current account status for renew notice\n */\nfunction spbcBannerCheck() {\n let bannerChecker = setInterval( function() {\n spbcSendAJAXRequest(\n {action: 'spbc_settings__check_renew_banner'},\n {\n callback: function(result, data, params, obj) {\n if (result.close_renew_banner) {\n if (jQuery('#spbc_renew_notice').length) {\n jQuery('#spbc_renew_notice').hide('slow');\n }\n if (jQuery('#spbc_trial_notice').length) {\n jQuery('#spbc_trial_notice').hide('slow');\n }\n clearInterval(bannerChecker);\n }\n },\n },\n );\n }, 60000);\n}\n\njQuery(document).ready(function() {\n document.dispatchEvent(new CustomEvent('spbctPage', {bubbles: true}));\n document.dispatchEvent(new CustomEvent('spbctPageTabs', {bubbles: true}));\n document.dispatchEvent(new CustomEvent('spbctMobAboutCT', {bubbles: true}));\n\n jQuery('#spbc_gdpr_open_modal').on('click', function() {\n jQuery('#gdpr_dialog').dialog({\n modal: true,\n show: true,\n position: {my: 'center', at: 'center', of: window},\n width: +(jQuery('#wpbody').width() / 100 * 70), // 70% of #wpbody\n height: 'auto',\n title: 'GDPR compliance',\n draggable: false,\n resizable: false,\n closeText: 'Close',\n });\n });\n\n // Checking email receiving possibility for activation 2FA\n jQuery(document).on('click', '[name*=fa__enable]:not([value=0]),#confirmation-code--resend', function(e) {\n e.preventDefault();\n\n let view = '' + result.data + '
';\n jQuery( selector ).insertAfter( jQuery(button) );\n jQuery('#spbc_settings_templates_import_button .spbc_success').show(300);\n setTimeout(function() {\n jQuery('#spbc_settings_templates_import_button .spbc_success').hide(300);\n }, 2000);\n document.addEventListener('spbcModalClosed', function( e ) {\n document.location.reload();\n });\n setTimeout(function() {\n spbcModal.close();\n }, 2000);\n } else {\n selector = '' + result.data + '
';\n jQuery( selector ).insertAfter( jQuery(button) );\n }\n },\n },\n );\n });\n\n // Export settings\n jQuery( document ).on('click', '#spbc_settings_templates_export_button', function() {\n jQuery('#spbc-ajax-result').remove();\n let optionSelected = jQuery('option:selected', jQuery('#spbc_settings_templates_export'));\n let templateNameInput = jQuery('#spbc_settings_templates_export_name');\n templateNameInput.css('border-color', 'inherit');\n if ( typeof optionSelected.data('id') === 'undefined' ) {\n console.log( 'Attribute \"data-id\" not set for the option.' );\n return;\n }\n let data;\n if ( optionSelected.data('id') === 'new_template' ) {\n let templateName = templateNameInput.val();\n if ( templateName === '' ) {\n templateNameInput.css('border-color', 'red');\n return;\n }\n data = {\n 'template_name': templateName,\n };\n } else {\n data = {\n 'template_id': optionSelected.data('id'),\n };\n }\n let button = this;\n spbcSendAJAXRequest(\n {action: 'spbc_settings_templates_export', data: data},\n {\n timeout: 25000,\n button: button,\n spinner: jQuery('#spbc_settings_templates_export_button .spbc_preloader_button' ),\n callback: function(result, data, params, obj) {\n let selector;\n if (result.success) {\n selector = '' + result.data + '
';\n jQuery( selector ).insertAfter( jQuery(button) );\n jQuery('#spbc_settings_templates_export_button .spbc_success').show(300);\n setTimeout(function() {\n jQuery('#spbc_settings_templates_export_button .spbc_success').hide(300);\n }, 2000);\n document.addEventListener('spbcModalClosed', function( e ) {\n document.location.reload();\n });\n setTimeout(function() {\n spbcModal.close();\n }, 2000);\n } else {\n selector = '' + result.data + '
';\n jQuery( selector ).insertAfter( jQuery(button) );\n }\n },\n },\n );\n });\n\n // Reset settings\n jQuery( document ).on('click', '#spbc_settings_templates_reset_button', function() {\n let button = this;\n spbcSendAJAXRequest(\n {action: 'spbc_settings_templates_reset'},\n {\n timeout: 25000,\n button: button,\n spinner: jQuery('#spbc_settings_templates_reset_button .spbc_preloader_button' ),\n callback: function(result, data, params, obj) {\n let selector;\n if (result.success) {\n selector = '' + result.data + '
';\n jQuery( selector ).insertAfter( jQuery(button) );\n jQuery('#spbc_settings_templates_reset_button .spbc_success').show(300);\n setTimeout(function() {\n jQuery('#spbc_settings_templates_reset_button .spbc_success').hide(300);\n }, 2000);\n document.addEventListener('spbcModalClosed', function( e ) {\n document.location.reload();\n });\n setTimeout(function() {\n spbcModal.close();\n }, 2000);\n } else {\n selector = '' + result.data + '
';\n jQuery( selector ).insertAfter( jQuery(button) );\n }\n },\n },\n );\n });\n\n jQuery(document).on('change', '#spbc_settings_templates_export', function() {\n let optionSelected = jQuery('option:selected', this);\n if ( optionSelected.data('id') === 'new_template' ) {\n jQuery(this).parent().parent().find('#spbc_settings_templates_export_name').show();\n } else {\n jQuery(this).parent().parent().find('#spbc_settings_templates_export_name').hide();\n }\n });\n\n //* TAB_CONTROL\n // migrated to react\n //* / REFRESH TAB IF ctrl+F5 END\n\n /**\n * Change cleantalk account email\n */\n jQuery(document).on('click', '#spbc-change-account-email', function(e) {\n e.preventDefault();\n\n let $this = jQuery(this);\n let accountEmailField = jQuery('#spbc-account-email');\n let accountEmail = accountEmailField.text();\n\n spbcToggleClass($this, 'active');\n\n if ($this.hasClass('active')) {\n $this.text($this.data('save-text'));\n accountEmailField.attr('contenteditable', 'true');\n accountEmailField.focus();\n accountEmailField.on('keydown', function(e) {\n if (e.code === 'Enter') {\n e.preventDefault();\n }\n });\n accountEmailField.on('input', function(e) {\n if (e.inputType === 'insertParagraph') {\n e.preventDefault();\n }\n });\n } else {\n spbcSendAJAXRequest(\n {\n action: 'spbc_update_account_email',\n accountEmail: accountEmail,\n },\n {\n timeout: 5000,\n callback: function(result, data, params, obj) {\n if (result.success !== undefined && result.success === 'ok') {\n if (result.manuallyLink !== undefined) {\n jQuery('#spbc-key-manually-link').attr('href', result.manuallyLink);\n }\n }\n\n if (result.error !== undefined) {\n jQuery('#spbc-account-email').css('border-color', 'red');\n }\n },\n errorOutput: function(msg) {\n spbcModal.loaded = msg;\n spbcModal.open();\n },\n },\n );\n\n accountEmailField.attr('contenteditable', 'false');\n $this.text($this.data('default-text'));\n }\n });\n\n jQuery(document).on('click', '.spbct_notice-dismiss', function(e) {\n let classListNotice = this.parentElement.classList;\n let classNoticeForClose = classListNotice[classListNotice.length - 1];\n\n document.querySelectorAll('.' + classNoticeForClose).forEach((element) => {\n element.parentElement.setAttribute('style', 'display:none;');\n spbcSetCookie(classNoticeForClose, 1, 86400 * 30);\n });\n });\n});\n\n/**\n * Toggle class for DOM elements\n * @param {Array} arr\n * @param {string} className\n * @return {void}\n */\nfunction spbcToggleClass(arr, className) {\n for (let i=0; i'+result.desc+'
');\n\n jQuery(document).on('click', removeDescFunc);\n },\n },\n obj,\n );\n}\n\n/**\n * Shows recommendation\n *\n * @param {object} label\n * @param {string} settingId\n */\nfunction spbcSettingsShowRecommendation(label, settingId) {\n let removeRecommendationFunc = function(e) {\n if (\n typeof e === 'undefined' ||\n (\n jQuery(e.target).parent('.spbc_long_desc').length == 0 ||\n jQuery(e.target).hasClass('spbc_long_desc__cancel')\n ) && !jQuery(e.target).hasClass('spbc_long_recommendation__show')\n ) {\n jQuery('.spbc_long_desc').remove();\n jQuery(document).off('click', removeRecommendationFunc);\n }\n };\n\n removeRecommendationFunc();\n\n label.after('');\n let obj = jQuery('#spbc_long_desc__'+settingId);\n obj.append('')\n .append('')\n .css({\n top: label.position().top + 25,\n left: label.position().left + 5,\n });\n\n\n spbcSendAJAXRequest(\n {action: 'spbc_settings__get_recommendation', setting_id: settingId},\n {\n spinner: obj.children('img'),\n callback: function(result, data, params, obj) {\n obj.empty()\n .append('')\n .append('')\n .append(''+result.desc+'
');\n\n jQuery(document).on('click', removeRecommendationFunc);\n },\n },\n obj,\n );\n}\n\n/**\n * Shows/hides full text\n */\nfunction spbcStartShowHide() { // eslint-disable-line no-unused-vars\n jQuery('.spbcShortText')\n .off('mouseover' )\n .on('mouseover', function() {\n jQuery(this).next().show();\n })\n .off('mouseout' )\n .on('mouseout', function() {\n jQuery(this).next().hide();\n });\n jQuery('.spbcFullText')\n .off('mouseout' )\n .on('mouseout', function() {\n jQuery(this).hide();\n })\n .off('mouseover' )\n .on('mouseover', function() {\n jQuery(this).show();\n });\n}\n\n/**\n * Generate and save confirmation code\n *\n * @return {object}\n */\nfunction spbctGenerateConfirmationCode() {\n let data = {};\n let res = {};\n res.success = false;\n data.security = spbcSettings.ajax_nonce;\n data.action = 'spbc_generate_confirmation_code';\n\n jQuery.ajax({\n type: 'POST',\n async: false,\n url: spbcSettings.ajaxurl,\n data: data,\n success: function(result) {\n if (result.success) {\n res.success = true;\n } else {\n res.text = result.data;\n }\n },\n });\n return res;\n}\n\n/**\n * Check confirmation code\n *\n * @param {object} radioButton\n * @param {number} timeout\n * @param {object} timer\n */\nfunction spbctCheckConfirmationCode( radioButton, timeout, timer ) {\n let element = radioButton;\n let data = {};\n data.security = spbcSettings.ajax_nonce;\n data.action = 'spbc_check_confirmation_code';\n data.code = jQuery('#confirmation-code input').val();\n\n jQuery.ajax({\n type: 'POST',\n async: false,\n url: spbcSettings.ajaxurl,\n data: data,\n success: function(result) {\n if (result.success) {\n jQuery('[name *= 2fa__enable]').attr('checked', '');\n element.checked = true;\n jQuery('#spbc_setting_2fa__roles').removeAttr('disabled');\n jQuery('#spbc_setting_2fa__roles > option:first').attr('selected', 'selected');\n clearTimeout( timeout );\n timer.remove();\n jQuery('#confirmation-code').dialog( 'close' );\n } else {\n alert('Code verification failed!');\n }\n },\n });\n}\n\n/**\n * Checking current account status for renew notice\n */\nfunction spbcBannerCheck() {\n let bannerChecker = setInterval( function() {\n spbcSendAJAXRequest(\n {action: 'spbc_settings__check_renew_banner'},\n {\n callback: function(result, data, params, obj) {\n if (result.close_renew_banner) {\n if (jQuery('#spbc_renew_notice').length) {\n jQuery('#spbc_renew_notice').hide('slow');\n }\n if (jQuery('#spbc_trial_notice').length) {\n jQuery('#spbc_trial_notice').hide('slow');\n }\n clearInterval(bannerChecker);\n }\n },\n },\n );\n }, 60000);\n}\n\njQuery(document).ready(function() {\n document.dispatchEvent(new CustomEvent('spbctPage', {bubbles: true}));\n document.dispatchEvent(new CustomEvent('spbctPageTabs', {bubbles: true}));\n document.dispatchEvent(new CustomEvent('spbctMobAboutCT', {bubbles: true}));\n\n jQuery('#spbc_gdpr_open_modal').on('click', function() {\n jQuery('#gdpr_dialog').dialog({\n modal: true,\n show: true,\n position: {my: 'center', at: 'center', of: window},\n width: +(jQuery('#wpbody').width() / 100 * 70), // 70% of #wpbody\n height: 'auto',\n title: 'GDPR compliance',\n draggable: false,\n resizable: false,\n closeText: 'Close',\n });\n });\n\n // Checking email receiving possibility for activation 2FA\n jQuery(document).on('click', '[name*=fa__enable]:not([value=0]),#confirmation-code--resend', function(e) {\n e.preventDefault();\n\n let view = '' + result.data + '
';\n jQuery( selector ).insertAfter( jQuery(button) );\n jQuery('#spbc_settings_templates_import_button .spbc_success').show(300);\n setTimeout(function() {\n jQuery('#spbc_settings_templates_import_button .spbc_success').hide(300);\n }, 2000);\n document.addEventListener('spbcModalClosed', function( e ) {\n document.location.reload();\n });\n setTimeout(function() {\n spbcModal.close();\n }, 2000);\n } else {\n selector = '' + result.data + '
';\n jQuery( selector ).insertAfter( jQuery(button) );\n }\n },\n },\n );\n });\n\n // Export settings\n jQuery( document ).on('click', '#spbc_settings_templates_export_button', function() {\n jQuery('#spbc-ajax-result').remove();\n let optionSelected = jQuery('option:selected', jQuery('#spbc_settings_templates_export'));\n let templateNameInput = jQuery('#spbc_settings_templates_export_name');\n templateNameInput.css('border-color', 'inherit');\n if ( typeof optionSelected.data('id') === 'undefined' ) {\n console.log( 'Attribute \"data-id\" not set for the option.' );\n return;\n }\n let data;\n if ( optionSelected.data('id') === 'new_template' ) {\n let templateName = templateNameInput.val();\n if ( templateName === '' ) {\n templateNameInput.css('border-color', 'red');\n return;\n }\n data = {\n 'template_name': templateName,\n };\n } else {\n data = {\n 'template_id': optionSelected.data('id'),\n };\n }\n let button = this;\n spbcSendAJAXRequest(\n {action: 'spbc_settings_templates_export', data: data},\n {\n timeout: 25000,\n button: button,\n spinner: jQuery('#spbc_settings_templates_export_button .spbc_preloader_button' ),\n callback: function(result, data, params, obj) {\n let selector;\n if (result.success) {\n selector = '' + result.data + '
';\n jQuery( selector ).insertAfter( jQuery(button) );\n jQuery('#spbc_settings_templates_export_button .spbc_success').show(300);\n setTimeout(function() {\n jQuery('#spbc_settings_templates_export_button .spbc_success').hide(300);\n }, 2000);\n document.addEventListener('spbcModalClosed', function( e ) {\n document.location.reload();\n });\n setTimeout(function() {\n spbcModal.close();\n }, 2000);\n } else {\n selector = '' + result.data + '
';\n jQuery( selector ).insertAfter( jQuery(button) );\n }\n },\n },\n );\n });\n\n // Reset settings\n jQuery( document ).on('click', '#spbc_settings_templates_reset_button', function() {\n let button = this;\n spbcSendAJAXRequest(\n {action: 'spbc_settings_templates_reset'},\n {\n timeout: 25000,\n button: button,\n spinner: jQuery('#spbc_settings_templates_reset_button .spbc_preloader_button' ),\n callback: function(result, data, params, obj) {\n let selector;\n if (result.success) {\n selector = '' + result.data + '
';\n jQuery( selector ).insertAfter( jQuery(button) );\n jQuery('#spbc_settings_templates_reset_button .spbc_success').show(300);\n setTimeout(function() {\n jQuery('#spbc_settings_templates_reset_button .spbc_success').hide(300);\n }, 2000);\n document.addEventListener('spbcModalClosed', function( e ) {\n document.location.reload();\n });\n setTimeout(function() {\n spbcModal.close();\n }, 2000);\n } else {\n selector = '' + result.data + '
';\n jQuery( selector ).insertAfter( jQuery(button) );\n }\n },\n },\n );\n });\n\n jQuery(document).on('change', '#spbc_settings_templates_export', function() {\n let optionSelected = jQuery('option:selected', this);\n if ( optionSelected.data('id') === 'new_template' ) {\n jQuery(this).parent().parent().find('#spbc_settings_templates_export_name').show();\n } else {\n jQuery(this).parent().parent().find('#spbc_settings_templates_export_name').hide();\n }\n });\n\n //* TAB_CONTROL\n // migrated to react\n //* / REFRESH TAB IF ctrl+F5 END\n\n /**\n * Change cleantalk account email\n */\n jQuery(document).on('click', '#spbc-change-account-email', function(e) {\n e.preventDefault();\n\n let $this = jQuery(this);\n let accountEmailField = jQuery('#spbc-account-email');\n let accountEmail = accountEmailField.text();\n\n spbcToggleClass($this, 'active');\n\n if ($this.hasClass('active')) {\n $this.text($this.data('save-text'));\n accountEmailField.attr('contenteditable', 'true');\n accountEmailField.focus();\n accountEmailField.on('keydown', function(e) {\n if (e.code === 'Enter') {\n e.preventDefault();\n }\n });\n accountEmailField.on('input', function(e) {\n if (e.inputType === 'insertParagraph') {\n e.preventDefault();\n }\n });\n } else {\n spbcSendAJAXRequest(\n {\n action: 'spbc_update_account_email',\n accountEmail: accountEmail,\n },\n {\n timeout: 5000,\n callback: function(result, data, params, obj) {\n if (result.success !== undefined && result.success === 'ok') {\n if (result.manuallyLink !== undefined) {\n jQuery('#spbc-key-manually-link').attr('href', result.manuallyLink);\n }\n }\n\n if (result.error !== undefined) {\n jQuery('#spbc-account-email').css('border-color', 'red');\n }\n },\n errorOutput: function(msg) {\n spbcModal.loaded = msg;\n spbcModal.open();\n },\n },\n );\n\n accountEmailField.attr('contenteditable', 'false');\n $this.text($this.data('default-text'));\n }\n });\n\n jQuery(document).on('click', '.spbct_notice-dismiss', function(e) {\n let classListNotice = this.parentElement.classList;\n let classNoticeForClose = classListNotice[classListNotice.length - 1];\n\n document.querySelectorAll('.' + classNoticeForClose).forEach((element) => {\n element.parentElement.setAttribute('style', 'display:none;');\n spbcSetCookie(classNoticeForClose, 1, 86400 * 30);\n });\n });\n});\n\n/**\n * Toggle class for DOM elements\n * @param {Array} arr\n * @param {string} className\n * @return {void}\n */\nfunction spbcToggleClass(arr, className) {\n for (let i=0; i"+n+"
"),jQuery(document).on("click",t),e.parents("tr").on("mouseout",t)}function spbcScannerButtonFileViewEvent(e){var e=jQuery(e),o={action:"spbc_scanner_file_view",file_id:e.parents(".row-actions").attr("uid")},e={spinner:e.parent().siblings(".tbl-preloader--tiny"),callback:spbcScannerButtonViewCallback,errorOutput:function(e){spbcModal.open().putError(e)}};spbcSendAJAXRequest(o,e)}function spbcScannerAnalysisLogDeleteFromLog(e){let n=[];var o=jQuery(e);let t;if(jQuery(e).hasClass("tbl-row_action"))n.push(o.parents(".row-actions").attr("uid")),t=o.parent().siblings(".tbl-preloader--tiny");else{e=o.closest("#spbc_tbl__scanner_analysis_log").find(".cb-select:checked");if(0===e.length)return void alert("Please, select elements.");e.each(function(e,o){o=jQuery(o).val();n.push(o)}),t=o.children(".tbl-preloader--small")}e={action:"spbc_scanner_analysis_log_delete_from_log",file_ids:n},o={spinner:t,callback:function(){window.location.reload()}};spbcSendAJAXRequest(e,o)}function spbcScannerButtonPageViewEvent(e){var e=jQuery(e),o={action:"spbc_scanner_page_view",page_url:e.parents(".row-actions").attr("uid")},e={spinner:e.parent().siblings(".tbl-preloader--tiny"),callback:spbcScannerButtonViewCallback,errorOutput:function(e){spbcModal.open().putError(e)}},n=jQuery("#wpwrap"),t=jQuery("#spbc_dialog"),c=(t.dialog({modal:!0,title:"Loading..",position:{my:"center top",at:"center top+100px",of:window},width:n.width()/100*90,show:{effect:"blind",duration:500},draggable:!1,resizable:!1,closeText:"X",classes:{"ui-dialog":"spbc---top"},open:function(e,o){e.target.style.overflow="auto",jQuery("#spbc_dialog").height(document.documentElement.clientHeight/100*25)},beforeClose:function(e,o){document.body.style.overflow="auto",jQuery("#spbc_dialog").empty()}}),t.append(''),jQuery("#spbc_file_view_preloader")),n=4e-4*n.width();c.height(128*n),c.width(128*n),c.css({left:t.width()/2-128*n/2}),c.css({top:t.height()/2-128*n/2}),spbcSendAJAXRequest(o,e)}function spbcScannerButtonViewCallback(e){var o,n=jQuery("#spbc_dialog"),t=(n.empty(),jQuery("#spbc_file_view_preloader").css({display:"none"}),'%s
%s
%s
%s
%s
%s
%s
%s'+'%s
%s
%s'+'%s
/g,"\n").replace(/<\/p>/g,""),navigator.clipboard.writeText(e).then(()=>{spbcScannerCopyLogToClipboardHint(spbcScaner.copy_log_to_clipboard_hint)}).catch(e=>{spbcScannerCopyLogToClipboardHint(spbcScaner.copy_log_to_clipboard_hint_failed)})}else spbcScannerCopyLogToClipboardHint(spbcScaner.copy_log_to_clipboard_hint_unsupported)})}); +function spbcPopupTipShow(e){var o=e.attr("spbc_tip_title")||null,n=e.attr("spbc_tip_text")||null;function t(e){void 0!==e&&0!=jQuery(e.target).parent(".spbc_popup_tip--wrapper").length&&!jQuery(e.target).hasClass("spbc_popup_tip--icon---cancel")||(jQuery(".spbc_popup_tip--wrapper").hide(),jQuery(document).off("click",t))}t(),e.after("
");var c=jQuery(".spbc_popup_tip--wrapper");c.empty().append("").css({top:e.position().top-2,left:e.position().left+25}),c.append("").append(""+n+"
"),jQuery(document).on("click",t),e.parents("tr").on("mouseout",t)}function spbcScannerButtonFileViewEvent(e){var e=jQuery(e),o={action:"spbc_scanner_file_view",file_id:e.parents(".row-actions").attr("uid")},e={spinner:e.parent().siblings(".tbl-preloader--tiny"),callback:spbcScannerButtonViewCallback,errorOutput:function(e){spbcModal.open().putError(e)}};spbcSendAJAXRequest(o,e)}function spbcScannerAnalysisLogDeleteFromLog(e){let n=[];var o=jQuery(e);let t;if(jQuery(e).hasClass("tbl-row_action"))n.push(o.parents(".row-actions").attr("uid")),t=o.parent().siblings(".tbl-preloader--tiny");else{e=o.closest("#spbc_tbl__scanner_analysis_log").find(".cb-select:checked");if(0===e.length)return void alert("Please, select elements.");e.each(function(e,o){o=jQuery(o).val();n.push(o)}),t=o.children(".tbl-preloader--small")}e={action:"spbc_scanner_analysis_log_delete_from_log",file_ids:n},o={spinner:t,callback:function(){window.location.reload()}};spbcSendAJAXRequest(e,o)}function spbcScannerButtonPageViewEvent(e){var e=jQuery(e),o={action:"spbc_scanner_page_view",page_url:e.parents(".row-actions").attr("uid")},e={spinner:e.parent().siblings(".tbl-preloader--tiny"),callback:spbcScannerButtonViewCallback,errorOutput:function(e){spbcModal.open().putError(e)}},n=jQuery("#wpwrap"),t=jQuery("#spbc_dialog"),c=(t.dialog({modal:!0,title:"Loading..",position:{my:"center top",at:"center top+100px",of:window},width:n.width()/100*90,show:{effect:"blind",duration:500},draggable:!1,resizable:!1,closeText:"X",classes:{"ui-dialog":"spbc---top"},open:function(e,o){e.target.style.overflow="auto",jQuery("#spbc_dialog").height(document.documentElement.clientHeight/100*25)},beforeClose:function(e,o){document.body.style.overflow="auto",jQuery("#spbc_dialog").empty()}}),t.append(''),jQuery("#spbc_file_view_preloader")),n=4e-4*n.width();c.height(128*n),c.width(128*n),c.css({left:t.width()/2-128*n/2}),c.css({top:t.height()/2-128*n/2}),spbcSendAJAXRequest(o,e)}function spbcScannerButtonViewCallback(e){var o,n=jQuery("#spbc_dialog"),t=(n.empty(),jQuery("#spbc_file_view_preloader").css({display:"none"}),'%s
%s
%s
%s
%s
%s
%s
%s'+'%s
%s
%s'+'%s
/g,"\n").replace(/<\/p>/g,""),navigator.clipboard.writeText(e).then(()=>{spbcScannerCopyLogToClipboardHint(spbcScaner.copy_log_to_clipboard_hint)}).catch(e=>{spbcScannerCopyLogToClipboardHint(spbcScaner.copy_log_to_clipboard_hint_failed)})}else spbcScannerCopyLogToClipboardHint(spbcScaner.copy_log_to_clipboard_hint_unsupported)})}); //# sourceMappingURL=spbc-settings_tab--scanner.min.js.map diff --git a/js/spbc-settings_tab--scanner.min.js.map b/js/spbc-settings_tab--scanner.min.js.map index 77ab21a1b..1c326878d 100644 --- a/js/spbc-settings_tab--scanner.min.js.map +++ b/js/spbc-settings_tab--scanner.min.js.map @@ -1 +1 @@ -{"version":3,"file":"spbc-settings_tab--scanner.min.js","sources":["spbc-settings_tab--scanner.js"],"sourcesContent":["/**\n * Show popup tip\n *\n * @param {object} showIcon\n */\nfunction spbcPopupTipShow(showIcon) { // eslint-disable-line no-unused-vars\n let tipTitle = showIcon.attr('spbc_tip_title') || null;\n let tipText = showIcon.attr('spbc_tip_text') || null;\n let removeDescFunc = function(e) {\n if (\n typeof e === 'undefined' ||\n (\n jQuery(e.target).parent('.spbc_popup_tip--wrapper').length == 0 ||\n jQuery(e.target).hasClass('spbc_popup_tip--icon---cancel')\n )\n ) {\n jQuery('.spbc_popup_tip--wrapper').hide();\n jQuery(document).off('click', removeDescFunc);\n }\n };\n\n removeDescFunc();\n\n showIcon.after('
');\n\n let obj = jQuery('.spbc_popup_tip--wrapper');\n\n obj.empty()\n .append('')\n .css({\n top: showIcon.position().top - 2,\n left: showIcon.position().left + 25,\n });\n obj.append('')\n .append('' + tipText + '
');\n\n jQuery(document).on('click', removeDescFunc);\n showIcon.parents('tr').on('mouseout', removeDescFunc);\n}\n\n/**\n * View file in the scanner\n *\n * @param {object} obj\n */\nfunction spbcScannerButtonFileViewEvent(obj) { // eslint-disable-line no-unused-vars\n let self = jQuery(obj);\n let data = {\n action: 'spbc_scanner_file_view',\n file_id: self.parents('.row-actions').attr('uid'),\n };\n let params = {\n spinner: self.parent().siblings('.tbl-preloader--tiny'),\n callback: spbcScannerButtonViewCallback,\n errorOutput: function(msg) {\n spbcModal.open().putError( msg );\n },\n };\n spbcSendAJAXRequest(data, params);\n}\n\n/**\n * Delete file from analysis log\n *\n * @param {object} obj\n */\nfunction spbcScannerAnalysisLogDeleteFromLog(obj) { // eslint-disable-line no-unused-vars\n let fileIds = [];\n const self = jQuery(obj);\n let spinner;\n\n if ( jQuery(obj).hasClass('tbl-row_action') ) {\n fileIds.push(self.parents('.row-actions').attr('uid'));\n spinner = self.parent().siblings('.tbl-preloader--tiny');\n } else {\n const selectedItems = self.closest('#spbc_tbl__scanner_analysis_log').find('.cb-select:checked');\n if (selectedItems.length === 0) {\n alert('Please, select elements.');\n return;\n }\n\n selectedItems.each(function(index, element) {\n const elementId = jQuery(element).val();\n fileIds.push(elementId);\n });\n spinner = self.children('.tbl-preloader--small');\n }\n\n const data = {\n action: 'spbc_scanner_analysis_log_delete_from_log',\n file_ids: fileIds,\n };\n\n let params = {\n spinner: spinner,\n callback: function() {\n window.location.reload();\n },\n };\n\n spbcSendAJAXRequest(data, params);\n}\n\n/**\n * View page in the scanner\n *\n * @param {object} obj\n */\nfunction spbcScannerButtonPageViewEvent(obj) { // eslint-disable-line no-unused-vars\n let self = jQuery(obj);\n let data = {\n action: 'spbc_scanner_page_view',\n page_url: self.parents('.row-actions').attr('uid'),\n };\n let params = {\n spinner: self.parent().siblings('.tbl-preloader--tiny'),\n callback: spbcScannerButtonViewCallback,\n errorOutput: function(msg) {\n spbcModal.open().putError( msg );\n },\n };\n\n let wpWrap = jQuery('#wpwrap');\n let dialogWindow = jQuery('#spbc_dialog');\n\n dialogWindow.dialog({\n modal: true,\n title: 'Loading..',\n position: {my: 'center top', at: 'center top+100px', of: window},\n width: +(wpWrap.width() / 100 * 90),\n show: {effect: 'blind', duration: 500},\n draggable: false,\n resizable: false,\n closeText: 'X',\n classes: {'ui-dialog': 'spbc---top'},\n open: function(event, ui) {\n event.target.style.overflow = 'auto';\n jQuery('#spbc_dialog').height((document.documentElement.clientHeight) / 100 * 25);\n },\n beforeClose: function(event, ui) {\n document.body.style.overflow = 'auto';\n jQuery('#spbc_dialog').empty();\n },\n });\n\n dialogWindow.append('');\n\n let spinner = jQuery('#spbc_file_view_preloader');\n let sizeMultiplier = (wpWrap.width() * 0.0004);\n\n spinner.height(128 * sizeMultiplier);\n spinner.width(128 * sizeMultiplier);\n spinner.css({left: dialogWindow.width()/2 - (128 * sizeMultiplier / 2)});\n spinner.css({top: dialogWindow.height()/2 - (128 * sizeMultiplier / 2)});\n\n spbcSendAJAXRequest(data, params);\n}\n\n/**\n * Callback for file view\n *\n * @param {object} result\n */\nfunction spbcScannerButtonViewCallback(result) { // eslint-disable-line no-unused-vars\n let dialogWindow = jQuery('#spbc_dialog');\n dialogWindow.empty();\n\n jQuery('#spbc_file_view_preloader').css({display: 'none'});\n\n let rowTemplate = '%s
%s
%s
%s
' +\n '%s
' +\n '%s
%s';\n rowTemplate += '%s
%s
%s';\n rowTemplateBad += '%s
/g, '\\n').replace(/<\\/p>/g, '');\n navigator.clipboard.writeText(formattedLog).then(() => {\n spbcScannerCopyLogToClipboardHint(spbcScaner.copy_log_to_clipboard_hint);\n }).catch((err) => {\n spbcScannerCopyLogToClipboardHint(spbcScaner.copy_log_to_clipboard_hint_failed);\n });\n } else {\n spbcScannerCopyLogToClipboardHint(spbcScaner.copy_log_to_clipboard_hint_unsupported);\n }\n });\n }\n});\n"],"names":["spbcPopupTipShow","showIcon","let","tipTitle","attr","tipText","removeDescFunc","e","jQuery","target","parent","length","hasClass","hide","document","off","after","obj","empty","append","css","top","position","left","on","parents","spbcScannerButtonFileViewEvent","self","data","action","file_id","params","spinner","siblings","callback","spbcScannerButtonViewCallback","errorOutput","msg","spbcModal","open","putError","spbcSendAJAXRequest","spbcScannerAnalysisLogDeleteFromLog","fileIds","push","selectedItems","closest","find","alert","each","index","element","elementId","val","children","file_ids","window","location","reload","spbcScannerButtonPageViewEvent","page_url","wpWrap","dialogWindow","dialog","modal","title","my","at","of","width","show","effect","duration","draggable","resizable","closeText","classes","ui-dialog","event","ui","style","overflow","height","documentElement","beforeClose","body","sizeMultiplier","result","row","rowTemplate","display","file","printf","contentHeight","Object","keys","visibleHeight","file_path","console","log","spbcScannerButtonFileViewBadEvent","spbcScannerButtonViewBadFileCallback","spbcScannerButtonPageViewBadEvent","spbcScannerButtonViewBadCallback","severityKeysSorted","severity","severityPart","rowTemplateBad","severityParts","severityPartsSorted","weak_spots","JSON","parse","key","sort","strNum","headerName","toLowerCase","headerHtml","header","Set","temp","currRow","last","remove","afterClose","success","strNums","concat","badStringsMap","Map","entries","CRITICAL","get","includes","isBadString","unformattedRow","highlitedRow","content","close","spbcScannerButtonFileCompareEvent","spbcScannerButtonFileCompareCallback","renderRowTemplate","file_original","difference","indexOf","spbcScannerReloadScanInfo","text","spbcScaner","look_below_for_scan_res","getElementById","innerText","spbcScannerButtonCureFileAjaxHandler","file_fast_hash","security","spbcSettings","ajax_nonce","ajax","type","async","url","ajaxurl","put","addEventListener","spbcScannerButtonRestoreFromBackupAjaxHandler","spbcScannerButtonClearScanResults","confirm","successCallback","complete","context","this","timeout","spbcScannerCopyLogToClipboardHint","animate","opacity","ready","spbcTblBulkActionsListen","spbcTblRowActionsListen","spbcTblPaginationListen","spbcTblSortListen","spbcStartShowHide","progressbar","value","create","marginBottom","change","accordion","heightStyle","collapsible","active","activate","oldPanel","oldHeader","beforeActivate","spbcScanner","SpbcMalwareScanner","settings","states","button","next","progress_overall","progressbar_text","wrapper","getElementsByClassName","warnings","long_scan","outdated","actionControl","handles","containment","no_cache","Math","random","xhrFields","responseType","filename","blob","Blob","link","createElement","href","URL","createObjectURL","download","click","preventDefault","navigator","clipboard","formattedLog","html","replace","writeText","then","copy_log_to_clipboard_hint","catch","copy_log_to_clipboard_hint_failed","copy_log_to_clipboard_hint_unsupported"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"spbc-settings_tab--scanner.min.js","sources":["spbc-settings_tab--scanner.js"],"sourcesContent":["/**\n * Show popup tip\n *\n * @param {object} showIcon\n */\nfunction spbcPopupTipShow(showIcon) { // eslint-disable-line no-unused-vars\n let tipTitle = showIcon.attr('spbc_tip_title') || null;\n let tipText = showIcon.attr('spbc_tip_text') || null;\n let removeDescFunc = function(e) {\n if (\n typeof e === 'undefined' ||\n (\n jQuery(e.target).parent('.spbc_popup_tip--wrapper').length == 0 ||\n jQuery(e.target).hasClass('spbc_popup_tip--icon---cancel')\n )\n ) {\n jQuery('.spbc_popup_tip--wrapper').hide();\n jQuery(document).off('click', removeDescFunc);\n }\n };\n\n removeDescFunc();\n\n showIcon.after('
');\n\n let obj = jQuery('.spbc_popup_tip--wrapper');\n\n obj.empty()\n .append('')\n .css({\n top: showIcon.position().top - 2,\n left: showIcon.position().left + 25,\n });\n obj.append('')\n .append('' + tipText + '
');\n\n jQuery(document).on('click', removeDescFunc);\n showIcon.parents('tr').on('mouseout', removeDescFunc);\n}\n\n/**\n * View file in the scanner\n *\n * @param {object} obj\n */\nfunction spbcScannerButtonFileViewEvent(obj) { // eslint-disable-line no-unused-vars\n let self = jQuery(obj);\n let data = {\n action: 'spbc_scanner_file_view',\n file_id: self.parents('.row-actions').attr('uid'),\n };\n let params = {\n spinner: self.parent().siblings('.tbl-preloader--tiny'),\n callback: spbcScannerButtonViewCallback,\n errorOutput: function(msg) {\n spbcModal.open().putError( msg );\n },\n };\n spbcSendAJAXRequest(data, params);\n}\n\n/**\n * Delete file from analysis log\n *\n * @param {object} obj\n */\nfunction spbcScannerAnalysisLogDeleteFromLog(obj) { // eslint-disable-line no-unused-vars\n let fileIds = [];\n const self = jQuery(obj);\n let spinner;\n\n if ( jQuery(obj).hasClass('tbl-row_action') ) {\n fileIds.push(self.parents('.row-actions').attr('uid'));\n spinner = self.parent().siblings('.tbl-preloader--tiny');\n } else {\n const selectedItems = self.closest('#spbc_tbl__scanner_analysis_log').find('.cb-select:checked');\n if (selectedItems.length === 0) {\n alert('Please, select elements.');\n return;\n }\n\n selectedItems.each(function(index, element) {\n const elementId = jQuery(element).val();\n fileIds.push(elementId);\n });\n spinner = self.children('.tbl-preloader--small');\n }\n\n const data = {\n action: 'spbc_scanner_analysis_log_delete_from_log',\n file_ids: fileIds,\n };\n\n let params = {\n spinner: spinner,\n callback: function() {\n window.location.reload();\n },\n };\n\n spbcSendAJAXRequest(data, params);\n}\n\n/**\n * View page in the scanner\n *\n * @param {object} obj\n */\nfunction spbcScannerButtonPageViewEvent(obj) { // eslint-disable-line no-unused-vars\n let self = jQuery(obj);\n let data = {\n action: 'spbc_scanner_page_view',\n page_url: self.parents('.row-actions').attr('uid'),\n };\n let params = {\n spinner: self.parent().siblings('.tbl-preloader--tiny'),\n callback: spbcScannerButtonViewCallback,\n errorOutput: function(msg) {\n spbcModal.open().putError( msg );\n },\n };\n\n let wpWrap = jQuery('#wpwrap');\n let dialogWindow = jQuery('#spbc_dialog');\n\n dialogWindow.dialog({\n modal: true,\n title: 'Loading..',\n position: {my: 'center top', at: 'center top+100px', of: window},\n width: +(wpWrap.width() / 100 * 90),\n show: {effect: 'blind', duration: 500},\n draggable: false,\n resizable: false,\n closeText: 'X',\n classes: {'ui-dialog': 'spbc---top'},\n open: function(event, ui) {\n event.target.style.overflow = 'auto';\n jQuery('#spbc_dialog').height((document.documentElement.clientHeight) / 100 * 25);\n },\n beforeClose: function(event, ui) {\n document.body.style.overflow = 'auto';\n jQuery('#spbc_dialog').empty();\n },\n });\n\n dialogWindow.append('');\n\n let spinner = jQuery('#spbc_file_view_preloader');\n let sizeMultiplier = (wpWrap.width() * 0.0004);\n\n spinner.height(128 * sizeMultiplier);\n spinner.width(128 * sizeMultiplier);\n spinner.css({left: dialogWindow.width()/2 - (128 * sizeMultiplier / 2)});\n spinner.css({top: dialogWindow.height()/2 - (128 * sizeMultiplier / 2)});\n\n spbcSendAJAXRequest(data, params);\n}\n\n/**\n * Callback for file view\n *\n * @param {object} result\n */\nfunction spbcScannerButtonViewCallback(result) { // eslint-disable-line no-unused-vars\n let dialogWindow = jQuery('#spbc_dialog');\n dialogWindow.empty();\n\n jQuery('#spbc_file_view_preloader').css({display: 'none'});\n\n let rowTemplate = '%s
%s
%s
%s
' +\n '%s
' +\n '%s
%s';\n rowTemplate += '%s
%s
%s';\n rowTemplateBad += '%s
/g, '\\n').replace(/<\\/p>/g, '');\n navigator.clipboard.writeText(formattedLog).then(() => {\n spbcScannerCopyLogToClipboardHint(spbcScaner.copy_log_to_clipboard_hint);\n }).catch((err) => {\n spbcScannerCopyLogToClipboardHint(spbcScaner.copy_log_to_clipboard_hint_failed);\n });\n } else {\n spbcScannerCopyLogToClipboardHint(spbcScaner.copy_log_to_clipboard_hint_unsupported);\n }\n });\n }\n});\n"],"names":["spbcPopupTipShow","showIcon","let","tipTitle","attr","tipText","removeDescFunc","e","jQuery","target","parent","length","hasClass","hide","document","off","after","obj","empty","append","css","top","position","left","on","parents","spbcScannerButtonFileViewEvent","self","data","action","file_id","params","spinner","siblings","callback","spbcScannerButtonViewCallback","errorOutput","msg","spbcModal","open","putError","spbcSendAJAXRequest","spbcScannerAnalysisLogDeleteFromLog","fileIds","push","selectedItems","closest","find","alert","each","index","element","elementId","val","children","file_ids","window","location","reload","spbcScannerButtonPageViewEvent","page_url","wpWrap","dialogWindow","dialog","modal","title","my","at","of","width","show","effect","duration","draggable","resizable","closeText","classes","ui-dialog","event","ui","style","overflow","height","documentElement","beforeClose","body","sizeMultiplier","result","row","rowTemplate","display","file","printf","contentHeight","Object","keys","visibleHeight","file_path","console","log","spbcScannerButtonFileViewBadEvent","spbcScannerButtonViewBadFileCallback","spbcScannerButtonPageViewBadEvent","spbcScannerButtonViewBadCallback","severityKeysSorted","severity","severityPart","rowTemplateBad","severityParts","severityPartsSorted","weak_spots","JSON","parse","key","sort","strNum","headerName","toLowerCase","headerHtml","header","Set","temp","currRow","last","remove","afterClose","success","strNums","concat","badStringsMap","Map","entries","CRITICAL","get","includes","isBadString","unformattedRow","highlitedRow","content","close","spbcScannerButtonFileCompareEvent","spbcScannerButtonFileCompareCallback","renderRowTemplate","file_original","difference","indexOf","spbcScannerReloadScanInfo","text","spbcScaner","look_below_for_scan_res","getElementById","innerText","spbcScannerButtonCureFileAjaxHandler","file_fast_hash","security","spbcSettings","ajax_nonce","ajax","type","async","url","ajaxurl","put","addEventListener","spbcScannerButtonRestoreFromBackupAjaxHandler","spbcScannerButtonClearScanResults","confirm","successCallback","complete","context","this","timeout","spbcScannerCopyLogToClipboardHint","animate","opacity","ready","spbcTblBulkActionsListen","spbcTblRowActionsListen","spbcTblPaginationListen","spbcTblSortListen","spbcStartShowHide","progressbar","value","create","marginBottom","change","accordion","heightStyle","collapsible","active","activate","beforeActivate","spbcScanner","SpbcMalwareScanner","settings","states","button","next","progress_overall","progressbar_text","wrapper","getElementsByClassName","warnings","long_scan","outdated","actionControl","handles","containment","no_cache","Math","random","xhrFields","responseType","filename","blob","Blob","link","createElement","href","URL","createObjectURL","download","click","preventDefault","navigator","clipboard","formattedLog","html","replace","writeText","then","copy_log_to_clipboard_hint","catch","copy_log_to_clipboard_hint_failed","copy_log_to_clipboard_hint_unsupported"],"mappings":"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"} \ No newline at end of file diff --git a/js/src/spbc-settings.js b/js/src/spbc-settings.js index 6ba7b53ea..c7dfe33d4 100644 --- a/js/src/spbc-settings.js +++ b/js/src/spbc-settings.js @@ -126,6 +126,25 @@ function spbcDrawSettingsCallback(result, data, params, obj) { if (typeof spbcHighlightCriticalFilesNotice === 'function') { spbcHighlightCriticalFilesNotice(false); } + + spbcSaveSettingsButtonMobileLayout(); + window.addEventListener('resize', (event) => { + spbcSaveSettingsButtonMobileLayout(); + }); +} + +/** + * A chunk to hide the custom element "submit button" on large screen or make sticky on mobile + */ +function spbcSaveSettingsButtonMobileLayout() { + const selector = document.querySelector('div[name="spbc_settings--save_button_custom"]'); + if (selector) { + if (window.innerWidth > 900) { + selector.style.display = 'none'; + } else { + selector.style.display = 'flex'; + } + } } /** diff --git a/js/src/spbc-settings_tab--scanner.js b/js/src/spbc-settings_tab--scanner.js index 0f8643bf3..faa586742 100644 --- a/js/src/spbc-settings_tab--scanner.js +++ b/js/src/spbc-settings_tab--scanner.js @@ -713,15 +713,11 @@ jQuery(document).ready(function() { collapsible: true, active: false, activate: function( event, ui ) { - if ( ui.oldPanel.length === 0 && ui.oldHeader.length === 0 ) { - jQuery('#spbc_scan_accordion') - .accordion('option', 'classes.ui-accordion-content', 'ui-corner-bottom spbc-overflow--visible'); - } + jQuery('#spbc_scan_accordion') + .accordion('option', 'classes.ui-accordion-content', 'ui-corner-bottom spbc-overflow--visible'); }, beforeActivate: function( event, ui ) { - if ( ui.oldPanel.length === 1 && ui.oldHeader.length === 1 ) { - jQuery('#spbc_scan_accordion').accordion('option', 'classes.ui-accordion-content', 'ui-corner-bottom'); - } + jQuery('#spbc_scan_accordion').accordion('option', 'classes.ui-accordion-content', 'ui-corner-bottom'); }, }); diff --git a/lib/CleantalkSP/Common/LinkConstructor.php b/lib/CleantalkSP/Common/LinkConstructor.php index 9d54d669a..7941c4fb6 100644 --- a/lib/CleantalkSP/Common/LinkConstructor.php +++ b/lib/CleantalkSP/Common/LinkConstructor.php @@ -42,7 +42,9 @@ private static function getGetParamsChunk($utm_preset, $get_params = array()) } else { $utm_data = static::$utm_presets[$utm_preset]; } - $utm_data['utm_campaign'] = static::$utm_campaign; + $utm_data['utm_campaign'] = isset(static::$utm_presets[$utm_preset]['utm_campaign']) + ? static::$utm_presets[$utm_preset]['utm_campaign'] + : static::$utm_campaign; $glued = array_merge($get_params, $utm_data); return http_build_query($glued); } diff --git a/lib/CleantalkSP/SpbctWP/LinkConstructor.php b/lib/CleantalkSP/SpbctWP/LinkConstructor.php index 6ffb72530..8e3d1f62f 100644 --- a/lib/CleantalkSP/SpbctWP/LinkConstructor.php +++ b/lib/CleantalkSP/SpbctWP/LinkConstructor.php @@ -37,7 +37,14 @@ class LinkConstructor extends \CleantalkSP\Common\LinkConstructor /* * Settings */ - + 'settings__firewall_ip_addresses' => array( //each record of FW entries + 'utm_id' => '', + 'utm_term' => '', + 'utm_source' => 'wordpress', + 'utm_medium' => 'dashboard', + 'utm_content' => 'firewall_log', + 'utm_campaign' => 'firewall', + ), /* * Public pages */ diff --git a/lib/CleantalkSP/SpbctWP/VulnerabilityAlarm/VulnerabilityAlarmService.php b/lib/CleantalkSP/SpbctWP/VulnerabilityAlarm/VulnerabilityAlarmService.php index 58698f0d0..4c7216d92 100755 --- a/lib/CleantalkSP/SpbctWP/VulnerabilityAlarm/VulnerabilityAlarmService.php +++ b/lib/CleantalkSP/SpbctWP/VulnerabilityAlarm/VulnerabilityAlarmService.php @@ -289,7 +289,7 @@ public static function getModules() foreach ($plugins as $plugin) { $modules['plugins'][] = [ - sanitize_title($plugin['Name']), + sanitize_title($plugin['TextDomain'], $plugin['Name']), $plugin['Version'] ]; } diff --git a/readme.txt b/readme.txt index e4f803ae3..ebf0ef640 100644 --- a/readme.txt +++ b/readme.txt @@ -4,7 +4,7 @@ Tags: security, firewall, malware, wordpress security, brute force Requires at least: 5.0 Tested up to: 6.7 Requires PHP: 5.6 -Stable tag: 2.147 +Stable tag: 2.148 License: GPLv2 License URI: https://www.gnu.org/licenses/gpl-2.0.html @@ -339,6 +339,11 @@ This is required for the Security FireWall to function properly. Plugins that ar == Changelog == += 2.148 Dec 09 2024 +* New. Plugin settings. Navigation bar implemented for settings general. +* Upd. Code. Removed the plugin dependency on jQuery for site public pages. +* Fix. Vulnerability Alarm. Fixed the name detection of module being checked. + = 2.147 Nov 25 2024 * New. Admin Banners. Critical files warning banner implemented. * Upd. Readme. Tagline, description has been updated. diff --git a/security-malware-firewall.php b/security-malware-firewall.php index 60e830a7e..88311af6d 100644 --- a/security-malware-firewall.php +++ b/security-malware-firewall.php @@ -5,7 +5,7 @@ Plugin URI: https://wordpress.org/plugins/security-malware-firewall/ Description: Security & Malware scan by CleanTalk to protect your website from online threats and viruses. IP/Country FireWall, Web application FireWall. Detailed stats and logs to have full control. Author: CleanTalk Security -Version: 2.147 +Version: 2.148 Author URI: https://cleantalk.org Text Domain: security-malware-firewall Domain Path: /i18n @@ -409,14 +409,6 @@ function spbc_change_author_name($link, $_author_id, $_author_nicename) add_filter('all_plugins', 'spbc_admin__change_plugin_description'); add_filter('plugin_row_meta', 'spbc_plugin_links_meta', 10, 2); } - - // Public scripts -} else { - $spbc->public_scripts_attached = false; - - // Alternative cookies JS script - add_action('wp_enqueue_scripts', 'spbc_enqueue_scripts__public'); - add_action('login_enqueue_scripts', 'spbc_enqueue_scripts__public'); } add_action('init', function () use ($spbc) { @@ -430,37 +422,6 @@ function spbc_change_author_name($link, $_author_id, $_author_nicename) } }); -/** - * Enqueue JS scripts on public page - */ -function spbc_enqueue_scripts__public() -{ - global $spbc; - - if (spbc_is_amp_request()) { - return; - } - - if ( ! $spbc->public_scripts_attached && $spbc->settings['data__set_cookies'] ) { - wp_enqueue_script('spbc_cookie', SPBC_PATH . '/js/spbc-cookie.min.js', array( 'jquery' ), SPBC_VERSION, false /*in header*/); - wp_localize_script( - 'spbc_cookie', - 'spbcPublic', - array( - '_ajax_nonce' => wp_create_nonce('ct_secret_stuff'), - '_rest_nonce' => wp_create_nonce('wp_rest'), - '_ajax_url' => admin_url('admin-ajax.php', 'relative'), - '_rest_url' => esc_url(get_rest_url()), - // '_apbct_ajax_url' => APBCT_URL_PATH . '/lib/Cleantalk/ApbctWP/Ajax.php', - 'data__set_cookies' => $spbc->settings['data__set_cookies'], - 'data__set_cookies__alt_sessions_type' => $spbc->settings['data__set_cookies__alt_sessions_type'], - ) - ); - - $spbc->public_scripts_attached = true; - } -} - function spbc_set_headers() { global $spbc; diff --git a/tests/CleantalkSP/SpbctWP/Firewall/FWTest.php b/tests/CleantalkSP/SpbctWP/Firewall/FWTest.php index 297d0af17..b61719570 100644 --- a/tests/CleantalkSP/SpbctWP/Firewall/FWTest.php +++ b/tests/CleantalkSP/SpbctWP/Firewall/FWTest.php @@ -53,7 +53,7 @@ public function testCheckIPV6SingleRecord() $firewall->setIpArray(array('test' => '2001:0db8:85a3:0000:0000:8a2e:0370:7339')); $result = $firewall->check(); $result_status = $result[0]->status; - $this->assertEquals('DENY', $result_status); + defined('AF_INET6') && $this->assertEquals('DENY', $result_status); spbct_sfw_private_records_handler( 'delete', @@ -74,12 +74,12 @@ public function testCheckIPV6Network() $firewall->setIpArray(array('test' => '2001:67c:21f0:0000:0000:8a2e:0370:7339')); $result = $firewall->check(); $result_status = $result[0]->status; - $this->assertEquals('DENY', $result_status); + defined('AF_INET6') && $this->assertEquals('DENY', $result_status); $firewall->setIpArray(array('test' => '2001:67c:21f1:0000:0000:8a2e:0370:7339')); $result = $firewall->check(); $result_status = $result[0]->status; - $this->assertEquals('PASS', $result_status); + defined('AF_INET6') && $this->assertEquals('PASS', $result_status); spbct_sfw_private_records_handler( 'delete',