Example #1
0
/**
 * Perform Divi's Split testing cron
 *
 * @return void
 */
function et_pb_ab_cron($args)
{
    $all_tests = et_pb_ab_get_all_tests();
    $interval = isset($args) ? $args : 'hourly';
    if (empty($all_tests)) {
        return;
    }
    // update cache for each test and for each duration
    foreach ($all_tests as $test) {
        $current_test_interval = et_pb_ab_get_refresh_interval($test['test_id']);
        // determine whether or not we should update the stats for current test depending on interval parameter
        if ($current_test_interval !== $interval) {
            continue;
        }
        foreach (et_pb_ab_get_stats_data_duration() as $duration) {
            et_pb_ab_get_stats_data($test['test_id'], $duration, false, true);
        }
    }
}
Example #2
0
function et_pb_before_main_editor($post)
{
    if (!in_array($post->post_type, et_builder_get_builder_post_types())) {
        return;
    }
    $_et_builder_use_builder = get_post_meta($post->ID, '_et_pb_use_builder', true);
    $is_builder_used = 'on' === $_et_builder_use_builder ? true : false;
    $_et_builder_use_ab_testing = get_post_meta($post->ID, '_et_pb_use_ab_testing', true);
    $_et_builder_ab_stats_refresh_interval = et_pb_ab_get_refresh_interval($post->ID);
    $_et_builder_ab_subjects = get_post_meta($post->ID, '_et_pb_ab_subjects', true);
    $_et_builder_ab_goal_module = et_pb_ab_get_goal_module($post->ID);
    $builder_always_enabled = apply_filters('et_builder_always_enabled', false, $post->post_type, $post);
    if ($builder_always_enabled || 'et_pb_layout' === $post->post_type) {
        $is_builder_used = true;
        $_et_builder_use_builder = 'on';
    }
    // Add button only if current user is allowed to use it otherwise display placeholder with all required data
    if (et_pb_is_allowed('divi_builder_control')) {
        printf('<div class="et_pb_toggle_builder_wrapper%5$s"><a href="#" id="et_pb_toggle_builder" data-builder="%2$s" data-editor="%3$s" class="button button-primary button-large%5$s%6$s">%1$s</a></div><div id="et_pb_main_editor_wrap"%4$s>', $is_builder_used ? esc_html__('Use Default Editor', 'et_builder') : esc_html__('Use The Divi Builder', 'et_builder'), esc_html__('Use The Divi Builder', 'et_builder'), esc_html__('Use Default Editor', 'et_builder'), $is_builder_used ? ' class="et_pb_hidden"' : '', $is_builder_used ? ' et_pb_builder_is_used' : '', $builder_always_enabled ? ' et_pb_hidden' : '');
    } else {
        printf('<div class="et_pb_toggle_builder_wrapper%2$s"></div><div id="et_pb_main_editor_wrap"%1$s>', $is_builder_used ? ' class="et_pb_hidden"' : '', $is_builder_used ? ' et_pb_builder_is_used' : '');
    }
    ?>
	<p class="et_pb_page_settings" style="display: none;">
		<?php 
    wp_nonce_field(basename(__FILE__), 'et_pb_settings_nonce');
    ?>
		<input type="hidden" id="et_pb_use_builder" name="et_pb_use_builder" value="<?php 
    echo esc_attr($_et_builder_use_builder);
    ?>
" />
		<input type="hidden" autocomplete="off" id="et_pb_use_ab_testing" name="et_pb_use_ab_testing" value="<?php 
    echo esc_attr($_et_builder_use_ab_testing);
    ?>
">
		<input type="hidden" autocomplete="off" id="et_pb_ab_stats_refresh_interval" name="et_pb_ab_stats_refresh_interval" value="<?php 
    echo esc_attr($_et_builder_ab_stats_refresh_interval);
    ?>
">
		<input type="hidden" autocomplete="off" id="et_pb_ab_subjects" name="et_pb_ab_subjects" value="<?php 
    echo esc_attr($_et_builder_ab_subjects);
    ?>
">
		<input type="hidden" autocomplete="off" id="et_pb_ab_goal_module" name="et_pb_ab_goal_module" value="<?php 
    echo esc_attr($_et_builder_ab_goal_module);
    ?>
">
		<?php 
    et_pb_builder_settings_hidden_inputs($post->ID);
    ?>

		<textarea id="et_pb_old_content" name="et_pb_old_content"><?php 
    echo esc_attr(get_post_meta($post->ID, '_et_pb_old_content', true));
    ?>
</textarea>
	</p>
	<?php 
}
Example #3
0
/**
 * Returns array of builder settings' value
 *
 * @return array of builder settings' value
 */
function et_pb_get_builder_settings_values($post_id = false)
{
    // Get post ID
    $post_id = $post_id ? $post_id : get_the_ID();
    // Page settings config
    $config = et_pb_get_builder_settings_configurations();
    // Defaults
    $default_bounce_rate_limit = 5;
    // Get values;
    $ab_bounce_rate_limit = get_post_meta($post_id, '_et_pb_ab_bounce_rate_limit', true);
    $et_pb_ab_bounce_rate_limit = '' !== $ab_bounce_rate_limit ? $ab_bounce_rate_limit : $default_bounce_rate_limit;
    $color_palette = get_post_meta($post_id, '_et_pb_color_palette', true);
    $et_pb_color_palette = '' !== $color_palette ? $color_palette : implode('|', et_pb_get_default_color_palette());
    $gutter_width = get_post_meta($post_id, '_et_pb_gutter_width', true);
    $et_pb_gutter_width = '' !== $gutter_width ? $gutter_width : $config['et_pb_gutter_width']['default'];
    $light_text_color = get_post_meta($post_id, '_et_pb_light_text_color', true);
    $et_pb_light_text_color = $config['et_pb_light_text_color']['default'] !== $light_text_color ? $light_text_color : $config['et_pb_light_text_color']['default'];
    $dark_text_color = get_post_meta($post_id, '_et_pb_dark_text_color', true);
    $et_pb_dark_text_color = $config['et_pb_dark_text_color']['default'] !== $dark_text_color ? $dark_text_color : $config['et_pb_dark_text_color']['default'];
    $content_area_background_color = get_post_meta($post_id, '_et_pb_content_area_background_color', true);
    $et_pb_content_area_background_color = '' === $content_area_background_color ? $config['et_pb_content_area_background_color']['default'] : $content_area_background_color;
    $section_background_color = get_post_meta($post_id, '_et_pb_section_background_color', true);
    $et_pb_section_background_color = '' === $section_background_color ? $config['et_pb_section_background_color']['default'] : $section_background_color;
    return apply_filters('et_pb_get_builder_settings_values', array('et_pb_enable_ab_testing' => et_is_ab_testing_active() ? 'on' : 'off', 'et_pb_ab_bounce_rate_limit' => $et_pb_ab_bounce_rate_limit, 'et_pb_ab_refresh_interval' => et_pb_ab_get_refresh_interval($post_id), 'et_pb_enable_shortcode_tracking' => get_post_meta($post_id, '_et_pb_enable_shortcode_tracking', true), 'et_pb_ab_current_shortcode' => '[et_pb_split_track id="' . $post_id . '" /]', 'et_pb_custom_css' => get_post_meta($post_id, '_et_pb_custom_css', true), 'et_pb_color_palette' => $et_pb_color_palette, 'et_pb_gutter_width' => $et_pb_gutter_width, 'et_pb_light_text_color' => strtolower($et_pb_light_text_color), 'et_pb_dark_text_color' => strtolower($et_pb_dark_text_color), 'et_pb_content_area_background_color' => strtolower($et_pb_content_area_background_color), 'et_pb_section_background_color' => strtolower($et_pb_section_background_color)), $post_id);
}