private function _get_saved_ab_module_id($test_id, $client_id) { if (!empty($this->ab_tests_saved_id[$test_id])) { return $this->ab_tests_saved_id[$test_id]; } $saved_module_id = et_pb_ab_get_saved_ab_module_id($test_id, $client_id); if (false !== $saved_module_id) { // cache the retrieved value $this->ab_tests_saved_id[$test_id] = $saved_module_id; } return $saved_module_id; }
function et_pb_ab_get_subject_id() { if (isset($_POST['et_frontend_nonce']) && !wp_verify_nonce($_POST['et_frontend_nonce'], 'et_frontend_nonce')) { die(-1); } $test_id = intval($_POST['et_pb_ab_test_id']); $user_unique_id = et_pb_get_visitor_id(); $saved_module_id = et_pb_ab_get_saved_ab_module_id($test_id, $user_unique_id); $current_ab_module_id = et_pb_ab_get_current_ab_module_id($test_id, $saved_module_id); $current_ab_module_id = intval($current_ab_module_id); if (false === $saved_module_id) { // log the view_page event et_pb_add_stats_record(array('test_id' => $test_id, 'subject_id' => $current_ab_module_id, 'record_type' => 'view_page')); // increment the module id for the next time et_pb_ab_increment_current_ab_module_id($test_id, $user_unique_id); } // retrieve the cached subjects HTML $subjects_cache = get_post_meta($test_id, 'et_pb_subjects_cache', true); $result = array('id' => $current_ab_module_id, 'content' => isset($subjects_cache[$current_ab_module_id]) ? $subjects_cache[$current_ab_module_id] : ''); die(json_encode($result)); }