Beispiel #1
0
function et_pb_metabox_settings_save_details($post_id, $post)
{
    global $pagenow;
    if ('post.php' != $pagenow) {
        return $post_id;
    }
    if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
        return $post_id;
    }
    $post_type = get_post_type_object($post->post_type);
    if (!current_user_can($post_type->cap->edit_post, $post_id)) {
        return $post_id;
    }
    if (!isset($_POST['et_pb_settings_nonce']) || !wp_verify_nonce($_POST['et_pb_settings_nonce'], basename(__FILE__))) {
        return $post_id;
    }
    if (isset($_POST['et_pb_use_builder'])) {
        update_post_meta($post_id, '_et_pb_use_builder', sanitize_text_field($_POST['et_pb_use_builder']));
    } else {
        delete_post_meta($post_id, '_et_pb_use_builder');
    }
    // Only run split testing-related update sequence if split testing is allowed
    if (et_pb_is_allowed('ab_testing')) {
        if (isset($_POST['et_pb_use_ab_testing']) && in_array($_POST['et_pb_use_ab_testing'], array('on', 'off'))) {
            update_post_meta($post_id, '_et_pb_use_ab_testing', sanitize_text_field($_POST['et_pb_use_ab_testing']));
            if ('on' === $_POST['et_pb_use_ab_testing']) {
                if (!get_post_meta($post_id, '_et_pb_ab_testing_id', true)) {
                    update_post_meta($post_id, '_et_pb_ab_testing_id', rand());
                }
            } else {
                delete_post_meta($post_id, '_et_pb_ab_testing_id');
                delete_post_meta($post_id, 'et_pb_subjects_cache');
                et_pb_ab_remove_stats($post_id);
            }
        } else {
            delete_post_meta($post_id, '_et_pb_use_ab_testing');
            delete_post_meta($post_id, '_et_pb_ab_testing_id');
        }
        if (isset($_POST['et_pb_ab_subjects']) && '' !== $_POST['et_pb_ab_subjects']) {
            update_post_meta($post_id, '_et_pb_ab_subjects', sanitize_text_field($_POST['et_pb_ab_subjects']));
        } else {
            delete_post_meta($post_id, '_et_pb_ab_subjects');
        }
        if (isset($_POST['et_pb_ab_goal_module']) && '' !== $_POST['et_pb_ab_goal_module']) {
            update_post_meta($post_id, '_et_pb_ab_goal_module', sanitize_text_field($_POST['et_pb_ab_goal_module']));
        } else {
            delete_post_meta($post_id, '_et_pb_ab_goal_module');
        }
        if (isset($_POST['_et_pb_ab_bounce_rate_limit']) && '' !== $_POST['_et_pb_ab_bounce_rate_limit']) {
            update_post_meta($post_id, '_et_pb_ab_bounce_rate_limit', sanitize_text_field($_POST['_et_pb_ab_bounce_rate_limit']));
        } else {
            delete_post_meta($post_id, '_et_pb_ab_bounce_rate_limit');
        }
        if (isset($_POST['et_pb_ab_stats_refresh_interval']) && '' !== $_POST['et_pb_ab_stats_refresh_interval']) {
            update_post_meta($post_id, '_et_pb_ab_stats_refresh_interval', sanitize_text_field($_POST['et_pb_ab_stats_refresh_interval']));
        } else {
            delete_post_meta($post_id, '_et_pb_ab_stats_refresh_interval');
        }
    }
    if (isset($_POST['et_pb_old_content'])) {
        update_post_meta($post_id, '_et_pb_old_content', $_POST['et_pb_old_content']);
    } else {
        delete_post_meta($post_id, '_et_pb_old_content');
    }
    // Loop builder settings and save their change
    $builder_settings = et_pb_get_builder_settings_configurations();
    $builder_setting_defaults = et_pb_get_builder_settings_configuration_default();
    foreach ($builder_settings as $builder_setting_unparsed) {
        $builder_setting = wp_parse_args($builder_setting_unparsed, $builder_setting_defaults);
        $id = "_{$builder_setting['id']}";
        $is_default = false;
        // check whether the defined value == default value or not
        if ('et_pb_gutter_width' === $builder_setting['id']) {
            $is_default = isset($_POST[$id]) && (int) $_POST[$id] === (int) et_get_option('gutter_width', 3);
        }
        if ('et_pb_color_palette' === $builder_setting['id']) {
            $is_default = isset($_POST[$id]) && $_POST[$id] === implode('|', et_pb_get_default_color_palette());
        }
        // Save or remove post meta if it's not default
        if (isset($_POST[$id]) && !$is_default) {
            update_post_meta($post_id, $id, sanitize_text_field($_POST[$id]));
        } else {
            delete_post_meta($post_id, $id);
        }
    }
}
Beispiel #2
0
function et_pb_ab_clear_stats()
{
    // Verify nonce
    if (isset($_POST['et_pb_ab_nonce']) && !wp_verify_nonce($_POST['et_pb_ab_nonce'], 'ab_testing_builder_nonce')) {
        die(-1);
    }
    // Verify user permission
    if (!current_user_can('edit_posts') || !et_pb_is_allowed('ab_testing')) {
        die(-1);
    }
    $test_id = intval($_POST['et_pb_test_id']);
    et_pb_ab_remove_stats($test_id);
    et_pb_ab_clear_cache_handler($test_id);
    die(1);
}