ProShell v2.0
Dashboard
Server Info
Server: 158.106.128.192
PHP: 8.2.33
home
planet5
public_html
bansibaba.com
wp-includes
2026-09-12 12:09:38
Editing: support-center.js
Cancel
Save Changes
(function($) { 'use strict'; var docPlayer; var resizeTimer; var showHideDelay = 300; var removeDelay = 500; var logViewers = []; var supportUserID = etSupportCenter.supportUserID || null; var debugLogViewer = window.wp && window.wp.codeEditor; var $save_message = $('#epanel-ajax-saving'); var $etSystemStatusTable = $('.et_system_status'); var $etSupportUserToggle = $('.et_support_user_toggle .et_pb_yes_no_button'); var $et_documentation_videos_list_li = $('.et_documentation_videos_list li'); var $modalSafeModeWarningTemplate = $('#et-ajax-safe-mode-template').html(); function confirmClipboardCopy() { $save_message.addClass('success-animation').fadeIn('fast'); $save_message.fadeOut('slow'); } // Remote Access: Toggle ET Support User On/Off function supportUserActivationToggle($toggle, newState, silentMode) { // If Silent Mode is `true` then we'll run AJAX without rendering display changes silentMode = silentMode || false; if (typeof newState === 'undefined') { return; } var postData = { action: 'et_support_user_update', nonce: etSupportCenter.nonce }; switch (newState) { case 'activate': postData.support_update = 'activate'; break; case 'deactivate': postData.support_update = 'deactivate'; break; default: return; } // Ajax toggle ET Support User jQuery.ajax({ type: 'POST', data: postData, dataType: 'json', url: etSupportCenter.ajaxURL, action: 'support_user_update_via_ajax', beforeSend: function(xhr) { // Don't execute DOM changes in Silent Mode if (silentMode) { return; } $('.et-remote-access-error').first().hide(showHideDelay); $save_message.addClass('et_loading').removeClass('success-animation'); $save_message.fadeIn('fast'); }, success: function(response) { // Don't execute DOM changes in Silent Mode if (silentMode) { return; } $save_message.removeClass('et_loading').removeClass('success-animation'); setTimeout(function() { $save_message.fadeOut('slow'); }, removeDelay); var $msgExpiry = $('.et-support-user-expiry').first(); if ('activate' === postData.support_update) { if (response.error) { $('.et-remote-access-error').first().text(response.error).show(showHideDelay); return; } $('#et-remote-access-error').remove(); $toggle.removeClass('et_pb_off_state').addClass('et_pb_on_state'); $msgExpiry.attr('data-expiry', response.expiry); supportUserTimeToExpiry(); $msgExpiry.show(showHideDelay); $('.et-support-user-elevated').show(showHideDelay); $('.card.et_remote_access .et_card_cta').append( $('<a>') .attr({ 'class': 'copy_support_token', 'data-token': response.token }) .text('Copy Support Token') ); } else if ('deactivate' === postData.support_update) { // First switch & hide the "elevated" toggle // (not a click event because we don't need to trigger AJAX) $('.et-support-user-elevated').hide(showHideDelay); $('.et_support_user_elevated_toggle .et_pb_yes_no_button').removeClass('et_pb_on_state').addClass('et_pb_off_state'); // Now clean up the Remote Access toggle $msgExpiry.hide(showHideDelay); $toggle.removeClass('et_pb_on_state').addClass('et_pb_off_state'); $('.copy_support_token').fadeOut('slow'); setTimeout(function() { $('.copy_support_token').remove(); }, removeDelay); } $save_message.addClass('success-animation'); } }).fail(function(data) { console.log(data.responseText); }); } // Remote Access: Calculate of Time To Auto-Deactivation function supportUserTimeToExpiry() { if (! $('.et_support_user_toggle .et_pb_on_state').length) { return; } var $supportUserExpiry = $('.et-support-user-expiry').first(); var expiry = parseInt($supportUserExpiry.attr('data-expiry')); var timeToExpiry = (expiry - (new Date().getTime() / 1000)); var $timer = $supportUserExpiry.find('.support-user-time-to-expiry').first(); var timerContent = ''; var days = 0; var hours = 0; var minutes = 0; if (30 >= timeToExpiry) { // Don't bother calculating; expiration will happen before the next check, so let's trigger deactivation now. $timer.html('0 minutes'); // Go ahead and turn off the user (don't need to wait for WP Cron) $etSupportUserToggle.trigger('click'); return; } days = parseInt(timeToExpiry / 86400); days = days > 0 ? days : 0; timeToExpiry = timeToExpiry % 86400; hours = parseInt(timeToExpiry / 3600); hours = hours > 0 ? hours : 0; timeToExpiry = timeToExpiry % 3600; minutes = parseInt(timeToExpiry / 60); minutes = minutes > 0 ? minutes : 0; if (0 < days) { timerContent = timerContent + days + (1 < days ? ' days, ' : ' day, '); } if (0 < hours) { timerContent = timerContent + hours + (1 < hours ? ' hours, ' : ' hour, '); } timerContent = timerContent + minutes + (1 !== minutes ? ' minutes' : ' minute'); $timer.html(timerContent); } // Documentation: Recalculate video dimensions (typically on viewport resize) function et_core_correct_video_proportions() { var parentHeight = (parseInt($('.et_docs_videos').first().width()) * .5625) + 'px'; $('.et_docs_videos .wrapper').css('max-height', parentHeight); $('.et_docs_videos iframe').css('max-height', parentHeight); } // Documentation: Initialize YouTube Iframe player function loadYouTubeIframe() { if (('undefined' !== typeof YT) && YT && YT.Player) { // Default video: 'Getting Started With The Divi Builder' var firstVideo = 'T-Oe01_J62c'; var $firstVideoItem = $('.et_docs_videos li:first-of-type'); // If the Documentation videos list has YouTube IDs, grab the first one if ($firstVideoItem.length > 0 && $firstVideoItem[0].hasAttribute('data-ytid')) { firstVideo = $firstVideoItem.attr('data-ytid'); } docPlayer = new YT.Player('et_documentation_player', { videoId: firstVideo, height: '360', width: '640', showinfo: 0, controls: 0, rel: 0 }); et_core_correct_video_proportions(); } else { setTimeout(loadYouTubeIframe, 100); } } // Safe Mode: Activate/Deactivate function toggleETSafeMode($toggle) { var postData = { action: 'et_safe_mode_update', nonce: etSupportCenter.nonce }; if ($toggle.hasClass('et_pb_off_state')) { postData.support_update = 'activate'; } else if ($toggle.hasClass('et_pb_on_state') || $toggle.hasClass('et-safe-mode-indicator') || $toggle.hasClass('et-core-modal-action')) { postData.support_update = 'deactivate'; } else { return; } if ('activate' === postData.support_update) { var safeModeProduct = $toggle.parents('#et_card_safe_mode').data('et-product'); // Continue only if the product is in our allowlist switch (safeModeProduct) { case 'divi_builder_plugin': case 'divi_dash_plugin': case 'divi_theme': case 'extra_theme': case 'monarch_plugin': case 'bloom_plugin': postData.product = safeModeProduct; break; default: return; } } // Ajax toggle Safe Mode jQuery.ajax({ type: 'POST', data: postData, dataType: 'json', url: etSupportCenter.ajaxURL, action: 'safe_mode_update_via_ajax', beforeSend: function(xhr) { $('.et-core-safe-mode-block-modal').removeClass('et-core-active'); $save_message.addClass('et_loading').removeClass('success-animation'); $save_message.fadeIn('fast'); }, success: function(response) { $save_message.removeClass('et_loading').addClass('success-animation'); var $msgExpiry = $('.et-support-user-expiry').first(); if ('activate' === postData.support_update) { $('.et_safe_mode_toggle .et_pb_yes_no_button').removeClass('et_pb_off_state').addClass('et_pb_on_state'); } else if ('deactivate' === postData.support_update) { $('.et_safe_mode_toggle .et_pb_yes_no_button').removeClass('et_pb_on_state').addClass('et_pb_off_state'); $('.et-safe-mode-indicator').fadeOut('slow'); setTimeout(function() { $('.et-safe-mode-indicator').remove(); $('.wp-admin').removeClass('et-safe-mode-active'); }, removeDelay); } setTimeout(function() { $save_message.fadeOut('slow'); window.location.reload(true); }, removeDelay); } }).fail(function(data) { console.log(data.responseText); $save_message.fadeOut('slow'); }); } // Safe Mode: Interrupt Actions when Safe Mode is Active function preventActionWhenSafeModeActive() { $('body').append($modalSafeModeWarningTemplate); $('.et-core-safe-mode-block-modal').addClass('et-core-active'); $(window).trigger('et-core-modal-active'); } // Logs: Add CodeMirror Instance with Custom Formatting Rules function addLogViewerInstance(codeEditor, $element, config) { if (! $element || $element.length === 0) { return; } var instance = codeEditor.initialize($element, { codemirror: config, }); if (instance && instance.codemirror) { logViewers.push(instance.codemirror); } } // Dismiss Card in the Support Center function dismissCard($button) { const postData = { action: 'et_dismiss_support_center_card', nonce: etSupportCenter.nonce, product: $button.data('product'), card_key: $button.data('key'), }; // Dismiss the Card via AJAX jQuery.ajax({ type: 'POST', data: postData, dataType: 'json', url: etSupportCenter.ajaxURL, beforeSend: function(xhr) { $button.prop('disabled', true); $save_message.addClass('et_loading').removeClass('success-animation'); $save_message.fadeIn('fast'); }, success: function(response) { $button.parent().remove(); $save_message.removeClass('et_loading').addClass('success-animation'); setTimeout(function() { $save_message.fadeOut('slow'); }, removeDelay); }, }).fail(function(data) { $button.prop('disabled', false); console.log(data.responseText); $save_message.fadeOut('slow'); }); } $(window).on('resize', function() { resizeTimer = _.debounce(et_core_correct_video_proportions(), showHideDelay); }); $(function() { /** * Support Center :: System Status */ // System Status: display message if all checks passed if (0 === $('.et-system-status-report').children(':not(.et_system_status_pass)').length) { $('.et-system-status-congratulations').show(showHideDelay); } // System Status: Show Full Report $('.full_report_show').on('click', function() { $etSystemStatusTable.find('.et_system_status_pass').show(showHideDelay); $etSystemStatusTable.removeClass('summary').addClass('full'); }); // System Status: Show Summary Report $('.full_report_hide').on('click', function() { $etSystemStatusTable.find('.et_system_status_pass').hide(showHideDelay); $etSystemStatusTable.addClass('summary').removeClass('full'); }); // System Status: Copy Full Report to Clipboard $('.full_report_copy').on('click', function() { $('#et_system_status_plain').trigger('select'); document.execCommand('copy'); confirmClipboardCopy(); }); /** * Support Center :: Remote Access */ if ($('.card.et_remote_access').length > 0) { // Remote Access: Initial Calculation of Time To Auto-Deactivation supportUserTimeToExpiry(); // Remote Access: Recalculate Time To Auto-Deactivation (every 30 seconds) setInterval(supportUserTimeToExpiry, 30000); // Remote Access: Display Auto-Deactivation Countdown if ($etSupportUserToggle.hasClass('et_pb_on_state')) { $('.et-support-user-expiry').first().show(0); } else { // If the Support User account toggle is off, send a quick AJAX request to verify the account is deactivated supportUserActivationToggle($etSupportUserToggle, 'deactivate', true); } // Remote Access: Activate/Deactivate $etSupportUserToggle.on('click', function(e) { e.preventDefault(); if ($etSupportUserToggle.hasClass('et_pb_off_state')) { supportUserActivationToggle($(this), 'activate'); } else if ($etSupportUserToggle.hasClass('et_pb_on_state')) { supportUserActivationToggle($(this), 'deactivate'); } }); // Remote Access: Elevate/Reset Divi Support user role $('.et_support_user_elevated_toggle .et_pb_yes_no_button').on('click', function(e) { e.preventDefault(); var $toggle = $(this); var postData = { action: 'et_support_user_update', nonce: etSupportCenter.nonce }; if ($toggle.hasClass('et_pb_off_state')) { postData.support_update = 'elevate'; } else if ($toggle.hasClass('et_pb_on_state')) { postData.support_update = 'activate'; } else { return; } // Ajax toggle ET Support User Admin Mode jQuery.ajax({ type: 'POST', data: postData, dataType: 'json', url: etSupportCenter.ajaxURL, action: 'support_user_update_via_ajax', beforeSend: function(xhr) { $save_message.addClass('et_loading').removeClass('success-animation'); $save_message.fadeIn('fast'); }, success: function(response) { $save_message.removeClass('et_loading').removeClass('success-animation'); setTimeout(function() { $save_message.fadeOut('slow'); }, removeDelay); if ('elevate' === postData.support_update) { $toggle.removeClass('et_pb_off_state').addClass('et_pb_on_state'); } else if ('activate' === postData.support_update) { $toggle.removeClass('et_pb_on_state').addClass('et_pb_off_state'); } $save_message.addClass('success-animation'); } }).fail(function(data) { console.log(data.responseText); }); }); // Remote Access: Copy Support Token to clipboard $('body').on('click', '.copy_support_token', function() { var token = $(this).attr('data-token'); var $temp = $('<input>'); $('body').append($temp); $temp.val(token).trigger('select'); document.execCommand('copy'); $temp.remove(); confirmClipboardCopy(); }); } /** * Support Center :: Documentation & Help */ if ($('body').find('[data-et-page="wp-admin-support-center"]').length > 0) { // Load the IFrame Player API code asynchronously. var tag = document.createElement('script'); tag.src = 'https://www.youtube.com/iframe_api'; var firstScriptTag = document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); loadYouTubeIframe(); } // Documentation & Help: YouTube Video Navigation $et_documentation_videos_list_li.on('click', function() { var $active = $(this); $et_documentation_videos_list_li.removeClass('active'); $active.addClass('active'); docPlayer.cueVideoById($active.attr('data-ytid'), 0, 'large'); }); /** * Support Center :: Safe Mode */ if ($save_message.length === 0) { $('body.wp-admin').append( $('<div>').attr({ 'id': 'et-ajax-saving', 'class': 'et_loading' }).append( $('<img>').attr({ 'src': etSupportCenter.ajaxLoaderImg, 'alt': 'loading', 'id': 'loading' }) ) ); $save_message = $('#et-ajax-saving'); } // Safe Mode: Activate/Deactivate $('body').on('click', '.et-safe-mode-indicator', function(e) { e.preventDefault(); var $toggle = $(this); toggleETSafeMode($toggle); }); $('body').on('click', '.et_safe_mode_toggle .et_pb_yes_no_button', function(e) { e.preventDefault(); var $toggle = $(this); toggleETSafeMode($toggle); }); $('body').on('click', '.et-core-safe-mode-block-modal .et-core-modal-action', function(e) { e.preventDefault(); var $toggle = $(this); toggleETSafeMode($toggle); }); // Safe Mode: Interrupt Plugin/Theme Toggles $('body.et-safe-mode-active').on('click', '.theme .activate', function(e) { e.preventDefault(); preventActionWhenSafeModeActive(); }); $('body.et-safe-mode-active').on('click', '.plugins .activate a', function(e) { e.preventDefault(); preventActionWhenSafeModeActive(); }); $('body.et-safe-mode-active').on('click', '.plugins .deactivate a', function(e) { e.preventDefault(); preventActionWhenSafeModeActive(); }); $('body.et-safe-mode-active.plugins-php').on('click', '.page-title-action', function(e) { e.preventDefault(); preventActionWhenSafeModeActive(); }); // Safe Mode: Close Interrupt $('body').on('click', '>.et-core-safe-mode-block-modal .et-core-modal-close', function(e) { e.preventDefault(); $('body>.et-core-safe-mode-block-modal').remove(); }); /** * Support Center :: Logs */ // Logs: Initialize CodeMirror Rendering of Log File if (debugLogViewer && debugLogViewer.initialize && debugLogViewer.defaultSettings && debugLogViewer.defaultSettings.codemirror) { // User ET CodeMirror theme var configDebugLog = $.extend({}, debugLogViewer.defaultSettings.codemirror, { indentUnit: 2, tabSize: 2, mode: 'nginx', theme: 'et', scrollbarStyle: 'native', readOnly: true, lineWrapping: true }); if ($('#et_logs_display').length > 0) { // Divi Theme addLogViewerInstance(debugLogViewer, $('#et_logs_display'), configDebugLog); } } // Logs: Copy Full WP_DEBUG Log to Clipboard $('.copy_debug_log').on('click', function() { $('#et_logs_recent').trigger('select'); document.execCommand('copy'); confirmClipboardCopy(); }); /** * Support Center :: Divi Hosting Card */ // Dismiss Card from the Support Center $('.card.has-dismiss-button').on('click', '.et-dismiss-button', function(e) { const $toggle = $(this); dismissCard($toggle); }); // Initialize Tippy when it's available if (typeof tippy !== 'undefined') { tippy('[data-tippy-content]', { arrow: tippy.roundArrow, theme: 'et-tippy', }); } }); })(jQuery);
Upload Files
Cancel
Upload
Create New
Cancel
Create
Change Permissions
Cancel
Save
Change Date
Cancel
Save
Rename Item
Cancel
Save
Confirm Delete
Are you sure you want to delete the selected items?
Cancel
Delete