Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/clone/wp-conte.../themes/Divi/core/componen...
File: SupportCenter.php
);
[2500] Fix | Delete
} else {
[2501] Fix | Delete
et_error( $maybe_create_user->get_error_message() );
[2502] Fix | Delete
$response['error'] = $maybe_create_user->get_error_message();
[2503] Fix | Delete
}
[2504] Fix | Delete
}
[2505] Fix | Delete
if ( 'elevate' === $support_update ) {
[2506] Fix | Delete
$this->support_user_set_role( 'et_support_elevated' );
[2507] Fix | Delete
$response['message'] = esc_html__(
[2508] Fix | Delete
'ET Support User role has been elevated.',
[2509] Fix | Delete
'et-core'
[2510] Fix | Delete
);
[2511] Fix | Delete
}
[2512] Fix | Delete
if ( 'deactivate' === $support_update ) {
[2513] Fix | Delete
$this->support_user_set_role( '' );
[2514] Fix | Delete
$this->support_user_delete_account();
[2515] Fix | Delete
$this->support_user_clear_delete_cron();
[2516] Fix | Delete
$response['message'] = esc_html__(
[2517] Fix | Delete
'ET Support User role has been deactivated.',
[2518] Fix | Delete
'et-core'
[2519] Fix | Delete
);
[2520] Fix | Delete
}
[2521] Fix | Delete
[2522] Fix | Delete
// `echo` data to return
[2523] Fix | Delete
if ( isset( $response ) ) {
[2524] Fix | Delete
echo json_encode( $response );
[2525] Fix | Delete
}
[2526] Fix | Delete
[2527] Fix | Delete
// `die` when we're done
[2528] Fix | Delete
wp_die();
[2529] Fix | Delete
}
[2530] Fix | Delete
[2531] Fix | Delete
/**
[2532] Fix | Delete
* SUPPORT CENTER :: SAFE MODE
[2533] Fix | Delete
*/
[2534] Fix | Delete
[2535] Fix | Delete
/**
[2536] Fix | Delete
* ET Product Allowlist
[2537] Fix | Delete
*
[2538] Fix | Delete
* @since 3.28
[2539] Fix | Delete
*
[2540] Fix | Delete
* @param string $product Potential ET product name that we want to confirm is on the list.
[2541] Fix | Delete
*
[2542] Fix | Delete
* @return string|false If the product is on our list, we return the "nice name" we have for it. Otherwise, we return FALSE.
[2543] Fix | Delete
*/
[2544] Fix | Delete
protected function is_allowlisted_product( $product = '' ) {
[2545] Fix | Delete
switch ( $product ) {
[2546] Fix | Delete
case 'divi_builder_plugin':
[2547] Fix | Delete
case 'divi_theme':
[2548] Fix | Delete
case 'extra_theme':
[2549] Fix | Delete
case 'monarch_plugin':
[2550] Fix | Delete
case 'bloom_plugin':
[2551] Fix | Delete
return $this->get_parent_nicename( $product );
[2552] Fix | Delete
break;
[2553] Fix | Delete
default:
[2554] Fix | Delete
return false;
[2555] Fix | Delete
}
[2556] Fix | Delete
}
[2557] Fix | Delete
[2558] Fix | Delete
/**
[2559] Fix | Delete
* Safe Mode: Set session cookie to temporarily disable Plugins
[2560] Fix | Delete
*
[2561] Fix | Delete
* @since 3.20
[2562] Fix | Delete
*
[2563] Fix | Delete
* @return void
[2564] Fix | Delete
*/
[2565] Fix | Delete
function safe_mode_update_via_ajax() {
[2566] Fix | Delete
et_core_security_check( 'manage_options', 'support_center', 'nonce' );
[2567] Fix | Delete
[2568] Fix | Delete
$response = array();
[2569] Fix | Delete
[2570] Fix | Delete
// Get POST data
[2571] Fix | Delete
$support_update = sanitize_text_field( $_POST['support_update'] );
[2572] Fix | Delete
[2573] Fix | Delete
// Update option(s)
[2574] Fix | Delete
if ( 'activate' === $support_update ) {
[2575] Fix | Delete
// Check the ET product that is activating Safe Mode
[2576] Fix | Delete
$safe_mode_activator = sanitize_key( $_POST['product'] );
[2577] Fix | Delete
[2578] Fix | Delete
// Confirm that this is a allowlisted product
[2579] Fix | Delete
$allowlisted_product = $this->is_allowlisted_product( $safe_mode_activator );
[2580] Fix | Delete
[2581] Fix | Delete
if ( ! $allowlisted_product ) {
[2582] Fix | Delete
// Send a failure code and exit the function
[2583] Fix | Delete
header( "HTTP/1.0 403 Forbidden" );
[2584] Fix | Delete
print 'Bad or malformed ET product name.';
[2585] Fix | Delete
wp_die();
[2586] Fix | Delete
}
[2587] Fix | Delete
[2588] Fix | Delete
$this->toggle_safe_mode( true, $safe_mode_activator );
[2589] Fix | Delete
$response['message'] = esc_html__( 'ET Safe Mode has been activated.', 'et-core' );
[2590] Fix | Delete
}
[2591] Fix | Delete
if ( 'deactivate' === $support_update ) {
[2592] Fix | Delete
$this->toggle_safe_mode( false );
[2593] Fix | Delete
$response['message'] = esc_html__( 'ET Safe Mode has been deactivated.', 'et-core' );
[2594] Fix | Delete
}
[2595] Fix | Delete
[2596] Fix | Delete
$this->set_safe_mode_cookie();
[2597] Fix | Delete
[2598] Fix | Delete
// `echo` data to return
[2599] Fix | Delete
if ( isset( $response ) ) {
[2600] Fix | Delete
echo json_encode( $response );
[2601] Fix | Delete
}
[2602] Fix | Delete
[2603] Fix | Delete
// `die` when we're done
[2604] Fix | Delete
wp_die();
[2605] Fix | Delete
}
[2606] Fix | Delete
[2607] Fix | Delete
/**
[2608] Fix | Delete
* Toggle Safe Mode
[2609] Fix | Delete
*
[2610] Fix | Delete
* @since 3.20
[2611] Fix | Delete
*
[2612] Fix | Delete
* @param bool $activate TRUE if enabling Safe Mode, FALSE if disabling Safe mode.
[2613] Fix | Delete
* @param string $product Name of ET product that is activating Safe Mode (@see ET_Core_SupportCenter::get_parent_nicename()).
[2614] Fix | Delete
*/
[2615] Fix | Delete
public function toggle_safe_mode( $activate = true, $product = '' ) {
[2616] Fix | Delete
$activate = (bool) $activate;
[2617] Fix | Delete
$user_id = get_current_user_id();
[2618] Fix | Delete
$allowlisted_product = $this->is_allowlisted_product( $product );
[2619] Fix | Delete
[2620] Fix | Delete
// Only proceed with an activation request if it comes from a allowlisted product
[2621] Fix | Delete
if ( $activate && ! $allowlisted_product ) {
[2622] Fix | Delete
return;
[2623] Fix | Delete
}
[2624] Fix | Delete
[2625] Fix | Delete
update_user_meta( $user_id, '_et_support_center_safe_mode', $activate ? 'on' : 'off' );
[2626] Fix | Delete
update_user_meta( $user_id, '_et_support_center_safe_mode_product', $activate ? sanitize_text_field( $allowlisted_product ) : '' );
[2627] Fix | Delete
[2628] Fix | Delete
$activate ? $this->maybe_add_mu_autoloader() : $this->maybe_remove_mu_autoloader();
[2629] Fix | Delete
[2630] Fix | Delete
/**
[2631] Fix | Delete
* Fires when safe mode is toggled on or off.
[2632] Fix | Delete
*
[2633] Fix | Delete
* @since 3.25.4
[2634] Fix | Delete
*
[2635] Fix | Delete
* @param bool $state True if toggled on, false if toggled off.
[2636] Fix | Delete
*/
[2637] Fix | Delete
do_action( 'et_support_center_toggle_safe_mode', $activate );
[2638] Fix | Delete
}
[2639] Fix | Delete
[2640] Fix | Delete
/**
[2641] Fix | Delete
* Set Safe Mode Cookie
[2642] Fix | Delete
*
[2643] Fix | Delete
* @since 3.20
[2644] Fix | Delete
*
[2645] Fix | Delete
* @return void
[2646] Fix | Delete
*/
[2647] Fix | Delete
function set_safe_mode_cookie() {
[2648] Fix | Delete
if ( et_core_is_safe_mode_active() ) {
[2649] Fix | Delete
// This random string ensures old cookies aren't used to view the site in Safe Mode
[2650] Fix | Delete
$passport = md5( rand() );
[2651] Fix | Delete
[2652] Fix | Delete
update_option( 'et-support-center-safe-mode-verify', $passport );
[2653] Fix | Delete
setcookie( 'et-support-center-safe-mode', $passport, time() + DAY_IN_SECONDS, SITECOOKIEPATH, false, is_ssl() );
[2654] Fix | Delete
} else {
[2655] Fix | Delete
// Force-expire the cookie
[2656] Fix | Delete
setcookie( 'et-support-center-safe-mode', '', 1, SITECOOKIEPATH, false, is_ssl() );
[2657] Fix | Delete
}
[2658] Fix | Delete
}
[2659] Fix | Delete
[2660] Fix | Delete
/**
[2661] Fix | Delete
* Render modal that intercepts plugin activation/deactivation
[2662] Fix | Delete
*
[2663] Fix | Delete
* @since 3.20
[2664] Fix | Delete
*
[2665] Fix | Delete
* @return void
[2666] Fix | Delete
*/
[2667] Fix | Delete
public function render_safe_mode_block_restricted() {
[2668] Fix | Delete
if ( ! et_core_is_safe_mode_active() ) {
[2669] Fix | Delete
return;
[2670] Fix | Delete
}
[2671] Fix | Delete
[2672] Fix | Delete
// Get the name of the ET product that activated Safe Mode
[2673] Fix | Delete
$safe_mode_activator = get_user_meta( get_current_user_id(), '_et_support_center_safe_mode_product', true );
[2674] Fix | Delete
$verified_activator = $this->is_allowlisted_product( $safe_mode_activator );
[2675] Fix | Delete
[2676] Fix | Delete
?>
[2677] Fix | Delete
<script type="text/template" id="et-ajax-safe-mode-template">
[2678] Fix | Delete
<div class="et-core-modal-overlay et-core-form et-core-safe-mode-block-modal">
[2679] Fix | Delete
<div class="et-core-modal">
[2680] Fix | Delete
<div class="et-core-modal-header">
[2681] Fix | Delete
<h3 class="et-core-modal-title">
[2682] Fix | Delete
<?php print esc_html__( 'Safe Mode', 'et-core' ); ?>
[2683] Fix | Delete
</h3>
[2684] Fix | Delete
<a href="#" class="et-core-modal-close" data-et-core-modal="close"></a>
[2685] Fix | Delete
</div>
[2686] Fix | Delete
<div id="et-core-safe-mode-block-modal-content">
[2687] Fix | Delete
<div class="et-core-modal-content">
[2688] Fix | Delete
<p><?php print esc_html__(
[2689] Fix | Delete
'Safe Mode is enabled and the current action cannot be performed.',
[2690] Fix | Delete
'et-core'
[2691] Fix | Delete
); ?></p>
[2692] Fix | Delete
</div>
[2693] Fix | Delete
<a class="et-core-modal-action"
[2694] Fix | Delete
href="<?php echo admin_url( null, 'admin.php?page=et_support_center#et_card_safe_mode' ); ?>">
[2695] Fix | Delete
<?php print esc_html__( sprintf( 'Turn Off %1$s Safe Mode', $verified_activator ), 'et-core' ); ?>
[2696] Fix | Delete
</a>
[2697] Fix | Delete
</div>
[2698] Fix | Delete
</div>
[2699] Fix | Delete
</div>
[2700] Fix | Delete
</script>
[2701] Fix | Delete
<?php
[2702] Fix | Delete
[2703] Fix | Delete
}
[2704] Fix | Delete
[2705] Fix | Delete
/**
[2706] Fix | Delete
* Disable Custom CSS (if Safe Mode is active)
[2707] Fix | Delete
*
[2708] Fix | Delete
* @since 3.20
[2709] Fix | Delete
*/
[2710] Fix | Delete
function maybe_disable_custom_css() {
[2711] Fix | Delete
// Don't do anything if the user isn't logged in
[2712] Fix | Delete
if ( ! is_user_logged_in() ) {
[2713] Fix | Delete
return;
[2714] Fix | Delete
}
[2715] Fix | Delete
[2716] Fix | Delete
if ( et_core_is_safe_mode_active() ) {
[2717] Fix | Delete
// Remove "Additional CSS" from WP Head action hook
[2718] Fix | Delete
remove_action( 'wp_head', 'wp_custom_css_cb', 101 );
[2719] Fix | Delete
}
[2720] Fix | Delete
}
[2721] Fix | Delete
[2722] Fix | Delete
/**
[2723] Fix | Delete
* Add Safe Mode Indicator (if Safe Mode is active)
[2724] Fix | Delete
*
[2725] Fix | Delete
* @since 3.20
[2726] Fix | Delete
*/
[2727] Fix | Delete
function maybe_add_safe_mode_indicator() {
[2728] Fix | Delete
// Don't do anything if the user isn't logged in
[2729] Fix | Delete
if ( ! is_user_logged_in() ) {
[2730] Fix | Delete
return;
[2731] Fix | Delete
}
[2732] Fix | Delete
[2733] Fix | Delete
// Don't display when Visual Builder is active
[2734] Fix | Delete
if ( et_core_is_fb_enabled() ) {
[2735] Fix | Delete
return;
[2736] Fix | Delete
}
[2737] Fix | Delete
[2738] Fix | Delete
if ( et_core_is_safe_mode_active() ) {
[2739] Fix | Delete
// Get the name of the ET product that activated Safe Mode
[2740] Fix | Delete
$safe_mode_activator = get_user_meta( get_current_user_id(), '_et_support_center_safe_mode_product', true );
[2741] Fix | Delete
$verified_activator = $this->is_allowlisted_product( $safe_mode_activator );
[2742] Fix | Delete
[2743] Fix | Delete
print sprintf( '<a class="%1$s" href="%2$s">%3$s</a>',
[2744] Fix | Delete
'et-safe-mode-indicator',
[2745] Fix | Delete
esc_url( get_admin_url( null, 'admin.php?page=et_support_center#et_card_safe_mode' ) ),
[2746] Fix | Delete
esc_html__( sprintf( 'Turn Off %1$s Safe Mode', $verified_activator ), 'et-core' )
[2747] Fix | Delete
);
[2748] Fix | Delete
[2749] Fix | Delete
print sprintf( '<div id="%1$s"><img src="%2$s" alt="%3$s" id="%3$s"/></div>',
[2750] Fix | Delete
'et-ajax-saving',
[2751] Fix | Delete
esc_url( $this->local_path . 'admin/images/ajax-loader.gif' ),
[2752] Fix | Delete
'loading'
[2753] Fix | Delete
);
[2754] Fix | Delete
}
[2755] Fix | Delete
}
[2756] Fix | Delete
[2757] Fix | Delete
/**
[2758] Fix | Delete
* Prints the admin page for Support Center
[2759] Fix | Delete
*
[2760] Fix | Delete
* @since 3.20
[2761] Fix | Delete
*/
[2762] Fix | Delete
public function add_support_center() {
[2763] Fix | Delete
[2764] Fix | Delete
$is_current_user_et_support = 0;
[2765] Fix | Delete
if ( in_array( 'et_support', wp_get_current_user()->roles ) ) {
[2766] Fix | Delete
$is_current_user_et_support = 1;
[2767] Fix | Delete
}
[2768] Fix | Delete
if ( in_array( 'et_support_elevated', wp_get_current_user()->roles ) ) {
[2769] Fix | Delete
$is_current_user_et_support = 2;
[2770] Fix | Delete
}
[2771] Fix | Delete
[2772] Fix | Delete
// Conditionally Display Divi Hosting Card
[2773] Fix | Delete
$this->maybe_display_divi_hosting_card();
[2774] Fix | Delete
?>
[2775] Fix | Delete
<div id="et_support_center" class="wrap et-divi-admin-page--wrapper" data-et-zone="wp-admin" data-et-page="wp-admin-support-center">
[2776] Fix | Delete
<h1><?php esc_html_e( sprintf( '%1$s Help &amp; Support Center', $this->parent_nicename ), 'et-core' );
[2777] Fix | Delete
?></h1>
[2778] Fix | Delete
[2779] Fix | Delete
<div id="epanel">
[2780] Fix | Delete
<div id="epanel-content">
[2781] Fix | Delete
[2782] Fix | Delete
<?php
[2783] Fix | Delete
[2784] Fix | Delete
/**
[2785] Fix | Delete
* Run code before any of the Support Center cards have been output
[2786] Fix | Delete
*
[2787] Fix | Delete
* @since 3.20
[2788] Fix | Delete
*/
[2789] Fix | Delete
do_action( 'et_support_center_above_cards' );
[2790] Fix | Delete
[2791] Fix | Delete
// Build Card :: System Status
[2792] Fix | Delete
if ( $this->current_user_can( 'et_support_center_system' ) ) {
[2793] Fix | Delete
$card_title = esc_html__( 'System Status', 'et-core' );
[2794] Fix | Delete
$card_content = sprintf( '<div class="et-system-status summary">%1$s</div>'
[2795] Fix | Delete
. '<textarea id="et_system_status_plain">%2$s</textarea>'
[2796] Fix | Delete
. '<div class="et_card_cta">%3$s %4$s %5$s</div>',
[2797] Fix | Delete
et_core_intentionally_unescaped( $this->system_diagnostics_generate_report( true, 'div' ), 'html' ),
[2798] Fix | Delete
et_core_intentionally_unescaped( $this->system_diagnostics_generate_report( true, 'plain' ), 'html' ),
[2799] Fix | Delete
sprintf( '<a class="full_report_show">%1$s</a>', esc_html__( 'Show Full Report', 'et-core' ) ),
[2800] Fix | Delete
sprintf( '<a class="full_report_hide">%1$s</a>', esc_html__( 'Hide Full Report', 'et-core' ) ),
[2801] Fix | Delete
sprintf( '<a class="full_report_copy">%1$s</a>', esc_html__( 'Copy Full Report', 'et-core' ) )
[2802] Fix | Delete
);
[2803] Fix | Delete
[2804] Fix | Delete
print $this->add_support_center_card( array(
[2805] Fix | Delete
'title' => $card_title,
[2806] Fix | Delete
'content' => $card_content,
[2807] Fix | Delete
'additional_classes' => array(
[2808] Fix | Delete
'et_system_status',
[2809] Fix | Delete
'summary',
[2810] Fix | Delete
),
[2811] Fix | Delete
) );
[2812] Fix | Delete
}
[2813] Fix | Delete
[2814] Fix | Delete
/**
[2815] Fix | Delete
* Run code after the 1st Support Center card has been output
[2816] Fix | Delete
*
[2817] Fix | Delete
* @since 3.20
[2818] Fix | Delete
*/
[2819] Fix | Delete
do_action( 'et_support_center_below_position_1' );
[2820] Fix | Delete
[2821] Fix | Delete
// Build Card :: Remote Access
[2822] Fix | Delete
if ( $this->current_user_can( 'et_support_center_remote_access' ) && ( 0 === $is_current_user_et_support ) ) {
[2823] Fix | Delete
[2824] Fix | Delete
$card_title = esc_html__( 'Elegant Themes Support', 'et-core' );
[2825] Fix | Delete
$card_content = __( '<p>Enabling <strong>Remote Access</strong> will give the Elegant Themes support team limited access to your WordPress Dashboard. If requested, you can also enable full admin privileges. Remote Access should only be turned on if requested by the Elegant Themes support team. Remote Access is automatically disabled after 4 days.</p>', 'et-core' );
[2826] Fix | Delete
[2827] Fix | Delete
$support_account = $this->get_et_support_user();
[2828] Fix | Delete
[2829] Fix | Delete
$is_et_support_user_active = 0;
[2830] Fix | Delete
[2831] Fix | Delete
$has_et_license = $this->get_et_license();
[2832] Fix | Delete
[2833] Fix | Delete
if ( ! $has_et_license ) {
[2834] Fix | Delete
[2835] Fix | Delete
$card_content .= sprintf(
[2836] Fix | Delete
'<div class="et-support-user"><h4>%1$s</h4><p>%2$s</p></div>',
[2837] Fix | Delete
esc_html__( 'Remote Access', 'et-core' ),
[2838] Fix | Delete
__( 'Remote Access cannot be enabled because you do not have a valid API Key or your Elegant Themes subscription has expired. You can find your API Key by <a href="https://www.elegantthemes.com/members-area/api/" target="_blank">logging in</a> to your Elegant Themes account. It should then be added to your <a href="https://www.elegantthemes.com/documentation/divi/update-divi/" target=_blank">Options Panel</a>.', 'et-core' )
[2839] Fix | Delete
);
[2840] Fix | Delete
[2841] Fix | Delete
} else {
[2842] Fix | Delete
[2843] Fix | Delete
if ( is_object( $support_account ) && property_exists( $support_account, 'roles' ) ) {
[2844] Fix | Delete
if ( in_array( 'et_support', $support_account->roles ) ) {
[2845] Fix | Delete
$is_et_support_user_active = 1;
[2846] Fix | Delete
}
[2847] Fix | Delete
if ( in_array( 'et_support_elevated', $support_account->roles ) ) {
[2848] Fix | Delete
$is_et_support_user_active = 2;
[2849] Fix | Delete
}
[2850] Fix | Delete
}
[2851] Fix | Delete
[2852] Fix | Delete
$support_user_active_state = ( intval( $is_et_support_user_active ) > 0 ) ? ' et_pb_on_state' : ' et_pb_off_state';
[2853] Fix | Delete
[2854] Fix | Delete
$expiry = '';
[2855] Fix | Delete
if ( ! empty( $this->support_user_options['date_created'] ) ) {
[2856] Fix | Delete
// Calculate the 'Created Date' plus the 'Time To Expire'
[2857] Fix | Delete
$date_created = date( 'Y-m-d H:i:s ', $this->support_user_options['date_created'] );
[2858] Fix | Delete
$expiry = strtotime( $date_created . $this->support_user_expiration_time );
[2859] Fix | Delete
}
[2860] Fix | Delete
[2861] Fix | Delete
// Toggle Support User activation
[2862] Fix | Delete
$card_content .= sprintf( '<div class="et-support-user"><h4>%1$s</h4>'
[2863] Fix | Delete
. '<div class="et_support_user_toggle">'
[2864] Fix | Delete
. '<div class="%7$s_wrapper"><div class="%7$s %2$s">'
[2865] Fix | Delete
. '<span class="%8$s et_pb_on_value">%3$s</span>'
[2866] Fix | Delete
. '<span class="et_pb_button_slider"></span>'
[2867] Fix | Delete
. '<span class="%8$s et_pb_off_value">%4$s</span>'
[2868] Fix | Delete
. '</div></div>'
[2869] Fix | Delete
. '<span class="et-support-user-expiry" data-expiry="%5$s">%6$s'
[2870] Fix | Delete
. '<span class="support-user-time-to-expiry"></span>'
[2871] Fix | Delete
. '</span>'
[2872] Fix | Delete
. '<span class="et-remote-access-error"></span>'
[2873] Fix | Delete
. '</div>'
[2874] Fix | Delete
. '</div>',
[2875] Fix | Delete
esc_html__( 'Remote Access', 'et-core' ),
[2876] Fix | Delete
esc_attr( $support_user_active_state ),
[2877] Fix | Delete
esc_html__( 'Enabled', 'et-core' ),
[2878] Fix | Delete
esc_html__( 'Disabled', 'et-core' ),
[2879] Fix | Delete
esc_attr( $expiry ),
[2880] Fix | Delete
esc_html__( 'Remote Access will be automatically disabled in: ', 'et-core' ),
[2881] Fix | Delete
'et_pb_yes_no_button',
[2882] Fix | Delete
'et_pb_value_text'
[2883] Fix | Delete
);
[2884] Fix | Delete
[2885] Fix | Delete
// Toggle Support User role elevation (only visible if Support User is active)
[2886] Fix | Delete
$extra_css = ( intval( $is_et_support_user_active ) > 0 ) ? 'style="display:block;"' : '';
[2887] Fix | Delete
$support_user_elevated_state = ( intval( $is_et_support_user_active ) > 1 ) ? ' et_pb_on_state' : ' et_pb_off_state';
[2888] Fix | Delete
[2889] Fix | Delete
$card_content .= sprintf( '<div class="et-support-user-elevated" %5$s><h4>%1$s</h4>'
[2890] Fix | Delete
. '<div class="et_support_user_elevated_toggle">'
[2891] Fix | Delete
. '<div class="%6$s_wrapper"><div class="%6$s %2$s">'
[2892] Fix | Delete
. '<span class="%7$s et_pb_on_value">%3$s</span>'
[2893] Fix | Delete
. '<span class="et_pb_button_slider"></span>'
[2894] Fix | Delete
. '<span class="%7$s et_pb_off_value">%4$s</span>'
[2895] Fix | Delete
. '</div></div>'
[2896] Fix | Delete
. '</div>'
[2897] Fix | Delete
. '</div>',
[2898] Fix | Delete
esc_html__( 'Activate Full Admin Privileges', 'et-core' ),
[2899] Fix | Delete
esc_attr( $support_user_elevated_state ),
[2900] Fix | Delete
esc_html__( 'Enabled', 'et-core' ),
[2901] Fix | Delete
esc_html__( 'Disabled', 'et-core' ),
[2902] Fix | Delete
et_core_intentionally_unescaped( $extra_css, 'html' ),
[2903] Fix | Delete
'et_pb_yes_no_button',
[2904] Fix | Delete
'et_pb_value_text'
[2905] Fix | Delete
);
[2906] Fix | Delete
}
[2907] Fix | Delete
[2908] Fix | Delete
// Add a "Copy Support Token" CTA if Remote Access is active
[2909] Fix | Delete
$site_id = get_option( 'et_support_site_id' );
[2910] Fix | Delete
$support_token_cta = '';
[2911] Fix | Delete
if ( intval( $is_et_support_user_active ) > 0 && ! empty( $site_id ) && is_string( $site_id ) ) {
[2912] Fix | Delete
$account_settings = get_option( $this->support_user_options_name );
[2913] Fix | Delete
$support_token_cta = '<a class="copy_support_token" data-token="'
[2914] Fix | Delete
. esc_attr( $account_settings['token'] . '|' . $site_id )
[2915] Fix | Delete
. '">'
[2916] Fix | Delete
. esc_html__( 'Copy Support Token', 'et-core' )
[2917] Fix | Delete
. '</a>';
[2918] Fix | Delete
}
[2919] Fix | Delete
[2920] Fix | Delete
$card_content .= '<div class="et_card_cta">'
[2921] Fix | Delete
. '<a target="_blank" href="https://www.elegantthemes.com/members-area/help/">'
[2922] Fix | Delete
. esc_html__( 'Chat With Support', 'et-core' )
[2923] Fix | Delete
. '</a>'
[2924] Fix | Delete
. $support_token_cta
[2925] Fix | Delete
. '</div>';
[2926] Fix | Delete
[2927] Fix | Delete
print $this->add_support_center_card( array(
[2928] Fix | Delete
'title' => $card_title,
[2929] Fix | Delete
'content' => $card_content,
[2930] Fix | Delete
'additional_classes' => array(
[2931] Fix | Delete
'et_remote_access',
[2932] Fix | Delete
'et-epanel-box',
[2933] Fix | Delete
),
[2934] Fix | Delete
) );
[2935] Fix | Delete
}
[2936] Fix | Delete
[2937] Fix | Delete
/**
[2938] Fix | Delete
* Run code after the 2nd Support Center card has been output
[2939] Fix | Delete
*
[2940] Fix | Delete
* @since 3.20
[2941] Fix | Delete
*/
[2942] Fix | Delete
do_action( 'et_support_center_below_position_2' );
[2943] Fix | Delete
[2944] Fix | Delete
// Build Card :: Divi Documentation & Help
[2945] Fix | Delete
if ( $this->current_user_can( 'et_support_center_documentation' ) ) {
[2946] Fix | Delete
switch ( $this->parent ) {
[2947] Fix | Delete
case 'extra_theme':
[2948] Fix | Delete
$documentation_url = 'https://www.elegantthemes.com/documentation/extra/';
[2949] Fix | Delete
break;
[2950] Fix | Delete
case 'divi_theme':
[2951] Fix | Delete
$documentation_url = 'https://www.elegantthemes.com/documentation/divi/';
[2952] Fix | Delete
break;
[2953] Fix | Delete
case 'divi_builder_plugin':
[2954] Fix | Delete
$documentation_url = 'https://www.elegantthemes.com/documentation/divi-builder/';
[2955] Fix | Delete
break;
[2956] Fix | Delete
case 'monarch_plugin':
[2957] Fix | Delete
$documentation_url = 'https://www.elegantthemes.com/documentation/monarch/';
[2958] Fix | Delete
break;
[2959] Fix | Delete
case 'bloom_plugin':
[2960] Fix | Delete
$documentation_url = 'https://www.elegantthemes.com/documentation/bloom/';
[2961] Fix | Delete
break;
[2962] Fix | Delete
default:
[2963] Fix | Delete
$documentation_url = 'https://www.elegantthemes.com/documentation/';
[2964] Fix | Delete
}
[2965] Fix | Delete
[2966] Fix | Delete
$card_title = esc_html__(
[2967] Fix | Delete
sprintf( '%1$s Documentation &amp; Help', $this->parent_nicename ),
[2968] Fix | Delete
'et-core'
[2969] Fix | Delete
);
[2970] Fix | Delete
$card_content = $this->get_documentation_video_player();
[2971] Fix | Delete
$card_content .= $this->get_documentation_articles_list();
[2972] Fix | Delete
$card_content .= '<div class="et_card_cta">'
[2973] Fix | Delete
. '<a href="' . $documentation_url . '" class="launch_documentation" target="_blank">'
[2974] Fix | Delete
. esc_html__(
[2975] Fix | Delete
sprintf( 'View Full %1$s Documentation', $this->parent_nicename ),
[2976] Fix | Delete
'et-core'
[2977] Fix | Delete
)
[2978] Fix | Delete
. '</a>'
[2979] Fix | Delete
. '</div>';
[2980] Fix | Delete
[2981] Fix | Delete
print $this->add_support_center_card( array(
[2982] Fix | Delete
'title' => $card_title,
[2983] Fix | Delete
'content' => $card_content,
[2984] Fix | Delete
'additional_classes' => array(
[2985] Fix | Delete
'et_documentation_help',
[2986] Fix | Delete
'et-epanel-box',
[2987] Fix | Delete
),
[2988] Fix | Delete
) );
[2989] Fix | Delete
}
[2990] Fix | Delete
[2991] Fix | Delete
/**
[2992] Fix | Delete
* Run code after the 3rd Support Center card has been output
[2993] Fix | Delete
*
[2994] Fix | Delete
* @since 3.20
[2995] Fix | Delete
*/
[2996] Fix | Delete
do_action( 'et_support_center_below_position_3' );
[2997] Fix | Delete
[2998] Fix | Delete
// Build Card :: Safe Mode
[2999] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function