PluginProbe
Database for Contact Form 7 / trunk
Database for Contact Form 7 vtrunk
trunk 3.0.6 3.0.7 3.0.8 3.0.9
cf7-database / frontend / init.php

init.php in Database for Contact Form 7 trunk, at frontend/init.php

45 lines 1.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 if ( ! defined( 'ABSPATH' ) ) {
3 exit( 'Direct\'s not allowed' );
4 }
5 /*
6 * Installing data to database
7 */
8 add_action( 'wpcf7_mail_sent', 'cf7d_wpcf7_mail_sent', 10, 3 );
9
10 if ( ! function_exists( 'cf7d_wpcf7_mail_sent' ) ) {
11 function cf7d_wpcf7_mail_sent( $contact_form ) {
12 global $wpdb;
13 do_action( 'cf7d_before_insert_db', $contact_form );
14
15 $cf7_id = $contact_form->id();
16 $contact_form = cf7d_get_posted_data( $contact_form );
17
18 // for database installion
19 $contact_form = cf7d_add_more_fields( $contact_form );
20
21 // Modify $contact_form
22 $contact_form = apply_filters( 'cf7d_modify_form_before_insert_data', $contact_form );
23 // Type's $contact_form->posted_data is array
24 $contact_form->posted_data = apply_filters( 'cf7d_posted_data', $contact_form->posted_data );
25 $time = date( 'Y-m-d H:i:s' );
26 $wpdb->query( $wpdb->prepare( 'INSERT INTO ' . $wpdb->prefix . 'cf7_data(`created`) VALUES (%s)', $time ) );
27 $data_id = $wpdb->insert_id;
28 // install to database
29 $cf7d_no_save_fields = cf7d_no_save_fields();
30 foreach ( $contact_form->posted_data as $k => $v ) {
31 if ( in_array( $k, $cf7d_no_save_fields ) ) {
32 continue;
33 } else {
34 if ( is_array( $v ) ) {
35 $v = implode( ' ', $v );
36 }
37 if ( ! empty( $v ) ) {
38 $wpdb->query( $wpdb->prepare( 'INSERT INTO ' . $wpdb->prefix . 'cf7_data_entry(`cf7_id`, `data_id`, `name`, `value`) VALUES (%d,%d,%s,%s)', $cf7_id, $data_id, wp_kses_post( $k ), wp_kses_post( $v ) ) );
39 }
40 }
41 }
42 do_action( 'cf7d_after_insert_db', $contact_form, $cf7_id, $data_id );
43 }
44 }
45