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); } } }
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); }