Uname:Linux server.rehabsharif.com 5.14.0-611.54.3.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:31:24 EDT 2026 x86_64

Base Dir : /home/nobi37te/public_html

User : nobi37te


403WebShell
403Webshell
Server IP : 172.67.134.116  /  Your IP : 216.73.217.68
Web Server : Apache
System : Linux server.rehabsharif.com 5.14.0-611.54.3.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:31:24 EDT 2026 x86_64
User : nobi37te ( 1003)
PHP Version : 8.2.33
Disable Function : exec,passthru,shell_exec,system
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/nobi37te/public_html/wp-content/plugins/security-malware-firewall/js/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/nobi37te/public_html/wp-content/plugins/security-malware-firewall/js/spbc-settings.min.js.map
{"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        let scrollToTag = document.getElementById(window.location.hash.substring(1));\n        if (scrollToTag !== null) {\n            scrollToTag.scrollIntoView();\n        }\n    }\n\n    if (typeof spbcHighlightCriticalFilesNotice === 'function') {\n        spbcHighlightCriticalFilesNotice(false);\n    }\n\n    spbcSaveSettingsButtonMobileLayout();\n    window.addEventListener('resize', (event) => {\n        spbcSaveSettingsButtonMobileLayout();\n    });\n}\n\n/**\n * A chunk to hide the custom element \"submit button\" on large screen or make sticky on mobile\n */\nfunction spbcSaveSettingsButtonMobileLayout() {\n    const selector = document.querySelector('div[name=\"spbc_settings--save_button_custom\"]');\n    if (selector) {\n        if (window.innerWidth > 900) {\n            selector.style.display = 'none';\n        } else {\n            selector.style.display = 'flex';\n        }\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    const isRadio = event.target.type === 'radio';\n    const radioEnabled = isRadio && event.target.value == '1';\n    const targetEnableFlag = (isRadio && !radioEnabled) || +event.target.checked;\n    const doEnableFlag = typeof enable === 'undefined' ? targetEnableFlag : +enable;\n\n    settingNames = typeof settingNames === 'string' ? settingNames.split(',') : settingNames;\n\n    settingNames.forEach(function(settingName, i, arr) {\n        let elements = document.getElementsByName('spbc_settings['+settingName+']');\n        if (elements.length === 0) {\n            // multiple selector case\n            elements = document.getElementsByName('spbc_settings['+settingName+'][]');\n        }\n\n        elements\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 (doEnableFlag !== null) {\n                    // Set\n                    doEnableFlag === 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, doEnableFlag && 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('<div id=\\'spbc_long_desc__'+settingId+'\\' class=\\'spbc_long_desc\\'></div>');\n    let obj = jQuery('#spbc_long_desc__'+settingId);\n    obj.append('<i class=\\'spbc-icon-spin1 animate-spin\\'></i>')\n        .append('<div class=\\'spbc_long_desc__angle_top_left\\'></div>')\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('<div class=\\'spbc_long_desc__angle_top_left\\'></div>')\n                    .append('<i class=\\'spbc_long_desc__cancel spbc-icon-cancel\\'></i>')\n                    .append('<h3 class=\\'spbc_long_desc__title\\'>'+result.title+'</h3>')\n                    .append('<p>'+result.desc+'</p>');\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('<div id=\\'spbc_long_desc__'+settingId+'\\' class=\\'spbc_long_desc\\'></div>');\n    let obj = jQuery('#spbc_long_desc__'+settingId);\n    obj.append('<i class=\\'spbc-icon-spin1 animate-spin\\'></i>')\n        .append('<div class=\\'spbc_long_desc__angle_top_left\\'></div>')\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('<div class=\\'spbc_long_desc__angle_top_left\\'></div>')\n                    .append('<i class=\\'spbc_long_desc__cancel spbc-icon-cancel\\'></i>')\n                    .append('<h3 class=\\'spbc_long_desc__title\\' style=\\'margin-right: 2em;\\'>'+result.title+'</h3>')\n                    .append('<p>'+result.desc+'</p>');\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 * Reloads last scan info\n */\nfunction spbcScannerReloadScanInfo() { // eslint-disable-line no-unused-vars\n    jQuery('.spbc_hint__last_scan_title').text(spbcScaner.look_below_for_scan_res);\n    const data = {\n        action: 'spbc_scanner__last_scan_info',\n    };\n    const params = {\n        callback: (result) => {\n            document.getElementById('spbc_scanner__last_scan_info').innerText = result.data;\n        },\n    };\n    spbcSendAJAXRequest(data, params);\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    // 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 = '<div class=\"circle circle--small -animation--circle -animation--30s \">' +\n            '<div class=\"circle-inner\"></div></div>';\n        jQuery('#confirmation-code--resend').attr('disabled', 'disabled')\n            .append(view);\n        let enableResend = setTimeout(function() {\n            jQuery('#confirmation-code--resend').removeAttr('disabled');\n            jQuery('#confirmation-code--resend>.circle').remove();\n        }, 30000);\n\n        let res = spbctGenerateConfirmationCode();\n        if ( res.success ) {\n            jQuery('#confirmation-code input').val('');\n            jQuery('#confirmation-code').dialog({\n                modal: true,\n                title: 'Confirmation code',\n                width: 310,\n                buttons: {\n                    Cancel: function() {\n                        jQuery( this ).dialog( 'close' );\n                        clearTimeout( enableResend );\n                        jQuery('#confirmation-code--resend>.circle').remove();\n                    },\n                    Ok: function() {\n                        let selector = '#confirmation-code--resend>.circle';\n                        spbctCheckConfirmationCode(e.target, enableResend, jQuery(selector));\n                    },\n                },\n                draggable: false,\n                resizable: false,\n            });\n        } else {\n            alert(res.text);\n        }\n    });\n\n    if (jQuery('#spbc_renew_notice').length || jQuery('#spbc_trial_notice').length) {\n        spbcBannerCheck();\n    }\n\n    // Sync button migrated to react\n\n    if ( spbcSettings.key_changed ) {\n        jQuery('#spbc_button__sync').click();\n    }\n\n    // Get Key Auto button\n    jQuery(document).on('click', '#spbc_setting_get_key_auto', function() {\n        spbcSendAJAXRequest(\n            {action: 'spbc_get_key_auto', ct_admin_timezone: jQuery('#spbc_admin_timezone').val()},\n            {\n                timeout: 25000,\n                button: document.getElementById('spbc_setting_get_key_auto' ),\n                spinner: jQuery('#spbc_setting_get_key_auto .spbc_preloader_button' ),\n                callback: function(result, data, params, obj) {\n                    jQuery('#spbc_setting_get_key_auto .spbc_success').show(300);\n                    setTimeout(function() {\n                        jQuery('#spbc_setting_get_key_auto .spbc_success').hide(300);\n                    }, 2000);\n                    if (result.reload) {\n                        document.location.reload();\n                    }\n                    if (result.msg) {\n                        spbcModal.open().putError(result.msg);\n                    }\n                    if (result.getTemplates) {\n                        spbcModal.loaded = result.getTemplates;\n                        spbcModal.open();\n                        document.addEventListener('spbcModalClosed', function( e ) {\n                            document.location.reload();\n                        });\n                    }\n                },\n            },\n        );\n    });\n\n    // Import settings\n    jQuery( document ).on('click', '#spbc_settings_templates_import_button', function() {\n        jQuery('#spbc-ajax-result').remove();\n        let optionSelected = jQuery('option:selected', jQuery('#spbc_settings_templates_import'));\n        let templateNameInput = jQuery('#spbc_settings_templates_import_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            'template_id': optionSelected.data('id'),\n            'template_name': optionSelected.data('name'),\n            'settings': optionSelected.data('settings'),\n        };\n        let button = this;\n        spbcSendAJAXRequest(\n            {action: 'spbc_settings_templates_import', data: data},\n            {\n                timeout: 25000,\n                button: button,\n                spinner: jQuery('#spbc_settings_templates_import_button .spbc_preloader_button' ),\n                callback: function(result, data, params, obj) {\n                    let selector;\n                    if (result.success) {\n                        selector = '<p id=\\'spbc-ajax-result\\' class=\\'success\\'>' + result.data + '</p>';\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 = '<p id=\\'spbc-ajax-result\\' class=\\'error\\'>' + result.data + '</p>';\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 = '<p id=\\'spbc-ajax-result\\' class=\\'success\\'>' + result.data + '</p>';\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 = '<p id=\\'spbc-ajax-result\\' class=\\'error\\'>' + result.data + '</p>';\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 = '<p id=\\'spbc-ajax-result\\' class=\\'success\\'>' + result.data + '</p>';\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 = '<p id=\\'spbc-ajax-result\\' class=\\'error\\'>' + result.data + '</p>';\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    // Only handle legacy banners, not React Components\n    // @ToDo remove the outdated way to close notice after transferring all tabs to components.\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    // @ToDo need to be refactored - this is the code dublication\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    // @ToDo need to be refactored - this is the code dublication\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\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<arr.length; i++) {\n        arr[i].classList.toggle(className);\n    }\n}\n\n/**\n * Action to confirm creating support user.\n * @param {event} e\n * @return {void}\n */\nfunction spbcCreateSupportUser(e) { // eslint-disable-line no-unused-vars\n    e.preventDefault();\n    let localTextArray = spbcSettings.support_user_creation_msg_array;\n    spbcModal.open();\n    spbcModal.confirm(\n        localTextArray.confirm_header,\n        localTextArray.confirm_text,\n        '',\n        spbcCreateUserCallback,\n    );\n}\n\n/**\n * Support user creation callback.\n * @return {void}\n */\nfunction spbcCreateUserCallback() {\n    spbcSendAJAXRequest(\n        {\n            action: 'spbc_create_support_user',\n        },\n        {\n            timeout: 5000,\n            callback: function(result, data, params, obj) {\n                let localTextArray = spbcSettings.support_user_creation_msg_array;\n                let popupMsg = localTextArray.default_error;\n                const responseValid = (\n                    typeof result === 'object' &&\n                    result.hasOwnProperty('success') &&\n                    result.hasOwnProperty('user_created') &&\n                    result.hasOwnProperty('mail_sent') &&\n                    result.hasOwnProperty('cron_updated') &&\n                    result.hasOwnProperty('user_data') &&\n                    result.hasOwnProperty('result_code') &&\n                    typeof result.user_data === 'object' &&\n                    result.user_data.hasOwnProperty('username') &&\n                    result.user_data.hasOwnProperty('email') &&\n                    result.user_data.hasOwnProperty('password')\n                );\n                if (responseValid && result.success) {\n                    if (result.user_created) {\n                        let mailSentMsg = '';\n                        let successCreationMsg = '';\n                        let cronUpdatedMsg = localTextArray.cron_updated;\n\n                        if (result.mail_sent) {\n                            mailSentMsg = localTextArray.mail_sent_success;\n                        } else {\n                            mailSentMsg = localTextArray.mail_sent_error;\n                        }\n\n                        if (result.result_code === 0) {\n                            successCreationMsg = localTextArray.user_updated;\n                        } else {\n                            successCreationMsg = localTextArray.user_created;\n                        }\n\n                        jQuery('#spbc_stats_user_creation_username').text(result.user_data.username);\n                        jQuery('#spbc_stats_user_creation_email').text(result.user_data.email);\n                        jQuery('#spbc_stats_user_creation_password').text(result.user_data.password);\n                        jQuery('#spbc_stats_user_creation_mail_sent').text(mailSentMsg);\n                        jQuery('#spbc_stats_user_creation_title').text(successCreationMsg);\n                        jQuery('#spbc_stats_user_creation_cron_updated').text(cronUpdatedMsg);\n                        jQuery('.spbc_stats_user_creation_result').css('display', 'block');\n                        return;\n                    } else {\n                        if (result.result_code === -2) {\n                            popupMsg = localTextArray.invalid_permission;\n                        } else if (result.result_code === -1) {\n                            popupMsg = localTextArray.unknown_creation_error;\n                        } else if (result.result_code === -4) {\n                            popupMsg = localTextArray.on_cooldown;\n                        } else if (result.result_code === -5) {\n                            popupMsg = localTextArray.email_is_busy;\n                        }\n                    }\n                }\n                spbcModal.loaded = popupMsg;\n                spbcModal.open();\n            },\n            errorOutput: function(msg) {\n                spbcModal.loaded = msg;\n                spbcModal.open();\n            },\n        },\n    );\n}\n"],"names":["spbcSwitchTab","tab","params","let","tabName","classList","replace","searchParams","URLSearchParams","window","location","search","hashParam","set","hash","newRelativePathQuery","pathname","toString","history","replaceState","get","jQuery","hide","removeClass","addClass","data","action","spbcHighlightElement","target","times","setTimeout","additional","click","tab_name","security","spbcSettings","ajax_nonce","callback","spbcDrawSettingsCallback","notJson","spbcSendAJAXRequest","result","obj","replaceWith","document","off","on","spbcSettingsShowDescription","self","this","attr","spbcSettingsShowRecommendation","spbcSendLogsCallback","scrollToTag","getElementById","substring","scrollIntoView","spbcHighlightCriticalFilesNotice","spbcSaveSettingsButtonMobileLayout","addEventListener","selector","querySelector","innerWidth","style","display","getElementsByClassName","spbcSettingsDependenciesbyId","settingsIDs","enable","tmp","push","forEach","settingID","i","arr","elem","doDisable","setAttribute","doEnable","removeAttribute","getAttribute","spbcSettingsDependencies","settingNames","isRadio","event","type","radioEnabled","value","targetEnableFlag","checked","doEnableFlag","split","settingName","elements","getElementsByName","length","children","label","settingId","removeDescFunc","e","parent","hasClass","remove","after","append","css","top","position","left","setting_id","spinner","empty","title","desc","removeRecommendationFunc","spbcStartShowHide","next","show","spbcScannerReloadScanInfo","text","spbcScaner","look_below_for_scan_res","innerText","spbctGenerateConfirmationCode","res","success","ajax","async","url","ajaxurl","spbctCheckConfirmationCode","radioButton","timeout","timer","element","code","val","removeAttr","clearTimeout","dialog","alert","spbcBannerCheck","bannerChecker","setInterval","close_renew_banner","clearInterval","spbcToggleClass","className","toggle","spbcCreateSupportUser","preventDefault","localTextArray","support_user_creation_msg_array","spbcModal","open","confirm","confirm_header","confirm_text","spbcCreateUserCallback","popupMsg","default_error","hasOwnProperty","user_data","user_created","mailSentMsg","successCreationMsg","cronUpdatedMsg","cron_updated","mail_sent","mail_sent_success","mail_sent_error","result_code","user_updated","username","email","password","invalid_permission","unknown_creation_error","on_cooldown","email_is_busy","loaded","errorOutput","msg","String","prototype","printf","formatted","arg","arguments","beforeFormatted","indexOf","afterFormatted","ready","enableResend","modal","width","buttons","Cancel","Ok","draggable","resizable","key_changed","ct_admin_timezone","button","reload","putError","getTemplates","optionSelected","console","log","template_id","template_name","settings","insertAfter","close","templateNameInput","templateName","find","$this","accountEmailField","accountEmail","focus","inputType","undefined","manuallyLink","error","classListNotice","parentElement","classNoticeForClose","querySelectorAll","spbcSetCookie"],"mappings":"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"}

Youez - 2016 - github.com/yon3zu
LinuXploit