File: /var/www/stg-everycred.com/wp-content/themes/everycred/inc/save-form-inquiries.php
<?php
function ec_maybe_create_cf7_tables() {
global $wpdb;
$installed_version = get_option('ec_cf7_db_version');
$current_version = '1.0';
if ($installed_version === $current_version) return;
$charset_collate = $wpdb->get_charset_collate();
$contact_table = $wpdb->prefix . 'ec_contact_inquiries';
$support_table = $wpdb->prefix . 'ec_support_requests';
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
// CONTACT FORM TABLE
$sql1 = "CREATE TABLE $contact_table (
id BIGINT(20) NOT NULL AUTO_INCREMENT,
organization_name VARCHAR(255) DEFAULT '',
contact_name VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL,
phone VARCHAR(50) DEFAULT '',
message TEXT NOT NULL,
ec_tag VARCHAR(100) DEFAULT '',
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id),
KEY email (email)
) $charset_collate;";
// SUPPORT FORM TABLE
$sql2 = "CREATE TABLE $support_table (
id BIGINT(20) NOT NULL AUTO_INCREMENT,
everycred_id VARCHAR(255) DEFAULT '',
contact_name VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL,
subject VARCHAR(255) DEFAULT '',
message TEXT NOT NULL,
ec_tag VARCHAR(100) DEFAULT '',
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id),
KEY email (email),
KEY subject (subject)
) $charset_collate;";
dbDelta($sql1);
dbDelta($sql2);
update_option('ec_cf7_db_version', $current_version);
}
add_action('init', 'ec_maybe_create_cf7_tables');
add_action('wpcf7_before_send_mail', 'ec_save_cf7_submissions');
function ec_save_cf7_submissions($contact_form) {
global $wpdb;
$submission = WPCF7_Submission::get_instance();
if (!$submission) return;
$data = $submission->get_posted_data();
$form_id = $contact_form->id();
$contact_form_id = 296; // Contact Form
$support_form_ids = [1188,3615]; // Support Form
/* ================= CONTACT FORM ================= */
if ($form_id == $contact_form_id) {
$wpdb->insert(
$wpdb->prefix . 'ec_contact_inquiries',
[
'organization_name' => sanitize_text_field($data['your-name'] ?? ''),
'contact_name' => sanitize_text_field($data['contact-name'] ?? ''),
'email' => sanitize_email($data['your-email'] ?? ''),
'phone' => sanitize_text_field($data['your-contact'] ?? ''),
'message' => sanitize_textarea_field($data['message'] ?? ''),
'ec_tag' => sanitize_text_field($data['ec_tag'] ?? ''),
'created_at' => current_time('mysql'),
],
['%s','%s','%s','%s','%s','%s','%s']
);
}
/* ================= SUPPORT FORM ================= */
if (in_array($form_id, $support_form_ids)) {
$wpdb->insert(
$wpdb->prefix . 'ec_support_requests',
[
'everycred_id' => sanitize_text_field($data['your-name'] ?? ''),
'contact_name' => sanitize_text_field($data['contact-name'] ?? ''),
'email' => sanitize_email($data['your-email'] ?? ''),
'subject' => sanitize_text_field($data['subject'] ?? ''),
'message' => sanitize_textarea_field($data['message'] ?? ''),
'ec_tag' => sanitize_text_field($data['ec_tag'] ?? ''),
'created_at' => current_time('mysql'),
],
['%s','%s','%s','%s','%s','%s','%s']
);
}
}