cf7db.php
1.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<?php
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
function cf7mls_is_active_cf7db() {
return defined( 'CF7D_FILE' );
}
if ( cf7mls_is_active_cf7db() ) {
add_filter( 'cf7d_no_save_fields', 'cf7mls_cf7d_no_save_fields' );
function cf7mls_cf7d_no_save_fields( $fields ) {
// $fields[] = '_cf7mls_db_form_data_id';
$fields[] = '_wpnonce';
$fields[] = 'cf7mls_back';
$fields[] = 'cf7mls_next';
return $fields;
}
/*
* Remove user's informations every steps
*/
add_action( 'cf7d_after_insert_db', 'cf7mls_cf7d_after_insert_db', 10, 3 );
function cf7mls_cf7d_after_insert_db( $contact_form, $form_id, $data_id ) {
global $wpdb;
$data_id_be_delete = $wpdb->get_results( 'SELECT `value` FROM ' . $wpdb->prefix . "cf7_data_entry WHERE `cf7_id` = '" . $form_id . "' AND `name` = '_cf7mls_db_form_data_id'" );
if ( isset( $data_id_be_delete[0] ) ) {
$data_id_be_delete = $data_id_be_delete[0]->value;
// delele data_id
$wpdb->delete( $wpdb->prefix . 'cf7_data', array( 'id' => $data_id_be_delete ) );
// delete entry
$wpdb->delete(
$wpdb->prefix . 'cf7_data_entry',
array(
'cf7_id' => $form_id,
'data_id' => $data_id_be_delete,
)
);
$wpdb->delete(
$wpdb->prefix . 'cf7_data_entry',
array(
'cf7_id' => $form_id,
'name' => '_cf7mls_db_form_data_id',
)
);
}
}
// No save fields cf7mls_step-1, cf7mls_step-2,... before when install to database
add_filter( 'cf7d_posted_data', 'cf7mls_cf7d_posted_data', 10, 1 );
function cf7mls_cf7d_posted_data( $contact_form ) {
$pattern = '/cf7mls_step-/i';
foreach ( $contact_form as $k => $v ) {
if ( preg_match( $pattern, $k ) ) {
unset( $contact_form[ $k ] );
}
}
return $contact_form;
}
}