Files
roi-theme/wp-content/plugins/wp-marketing-automations/woofunnels/contact/class-woofunnels-db-tables.php
root a22573bf0b Commit inicial - WordPress Análisis de Precios Unitarios
- WordPress core y plugins
- Tema Twenty Twenty-Four configurado
- Plugin allow-unfiltered-html.php simplificado
- .gitignore configurado para excluir wp-config.php y uploads

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 21:04:30 -06:00

135 lines
4.2 KiB
PHP
Executable File

<?php
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
if ( ! class_exists( 'WooFunnels_DB_Tables' ) ) {
/**
* Class WooFunnels_DB_Tables
*/
#[AllowDynamicProperties]
class WooFunnels_DB_Tables {
/**
* instance of class
* @var null
*/
private static $ins = null;
/**
* WooFunnels_DB_Tables constructor.
*/
public function __construct() {
add_filter( 'bwf_add_db_table_schema', array( $this, 'create_db_tables' ), 10, 2 );
}
/**
* @return WooFunnels_DB_Tables|null
*/
public static function get_instance() {
if ( null === self::$ins ) {
self::$ins = new self;
}
return self::$ins;
}
/**
* Add bwf_contact table
*
* Warning: check if it exists first, which could cause SQL errors.
*/
public function create_db_tables( $args, $tables ) {
if ( $tables['version'] !== BWF_DB_VERSION || ! in_array( 'bwf_contact', $tables['tables'], true ) ) {
$args[] = [
'name' => 'bwf_contact',
'schema' => "CREATE TABLE `{table_prefix}bwf_contact` (
`id` int(12) unsigned NOT NULL AUTO_INCREMENT,
`wpid` int(12) NOT NULL,
`uid` varchar(35) NOT NULL DEFAULT '',
`email` varchar(100) NOT NULL,
`f_name` varchar(100),
`l_name` varchar(100),
`contact_no` varchar(20),
`country` char(2),
`state` varchar(100),
`timezone` varchar(50) DEFAULT '',
`type` varchar(20) DEFAULT 'lead',
`source` varchar(100) DEFAULT '',
`points` bigint(20) unsigned NOT NULL DEFAULT '0',
`tags` longtext,
`lists` longtext,
`last_modified` DateTime NOT NULL,
`creation_date` DateTime NOT NULL,
`status` tinyint unsigned NOT NULL DEFAULT 1,
PRIMARY KEY (`id`),
KEY `id` (`id`),
KEY `wpid` (`wpid`),
KEY `uid` (`uid`),
KEY `contact_no` (`contact_no`),
KEY `last_modified` (`last_modified`),
KEY `creation_date` (`creation_date`),
KEY `status` (`status`),
UNIQUE KEY `email` (`email`)
) {table_collate};",
];
}
if ( $tables['version'] !== BWF_DB_VERSION || ! in_array( 'bwf_contact_meta', $tables['tables'], true ) ) {
$args[] = [
'name' => 'bwf_contact_meta',
'schema' => "CREATE TABLE `{table_prefix}bwf_contact_meta` (
`meta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`contact_id` bigint(20) unsigned NOT NULL DEFAULT '0',
`meta_key` varchar(50) DEFAULT NULL,
`meta_value` longtext,
PRIMARY KEY (`meta_id`)
) {table_collate};",
];
}
if ( $tables['version'] !== BWF_DB_VERSION || ! in_array( 'bwf_wc_customers', $tables['tables'], true ) ) {
$args[] = [
'name' => 'bwf_wc_customers',
'schema' => "CREATE TABLE `{table_prefix}bwf_wc_customers` (
`id` int(12) unsigned NOT NULL AUTO_INCREMENT,
`cid` int(12) NOT NULL,
`l_order_date` DateTime NOT NULL,
`f_order_date` DateTime NOT NULL,
`total_order_count` int(7) unsigned NOT NULL,
`total_order_value` double NOT NULL,
`aov` double NOT NULL,
`purchased_products` longtext,
`purchased_products_cats` longtext,
`purchased_products_tags` longtext,
`used_coupons` longtext,
PRIMARY KEY (`id`),
KEY `id` (`id`),
UNIQUE KEY `cid` (`cid`)
) {table_collate};",
];
}
if ( $tables['version'] !== BWF_DB_VERSION || ! in_array( 'wfco_report_views', $tables['tables'], true ) ) {
$args[] = [
'name' => 'wfco_report_views',
'schema' => "CREATE TABLE `{table_prefix}wfco_report_views` (
id bigint(20) unsigned NOT NULL auto_increment,
date date NOT NULL,
no_of_sessions int(11) NOT NULL DEFAULT '1',
object_id bigint(20) DEFAULT '0',
type tinyint(2) NOT NULL COMMENT '1 - Abandonment 2 - Landing visited 3 - Landing converted 4 - Aero visited 5- Thank you visited 6 - NextMove 7 - Funnel session 8-Optin visited 9-Optin converted 10- Optin thank you visited 11- Optin thank you converted' DEFAULT '1',
PRIMARY KEY (id),
KEY date (date),
KEY object_id (object_id),
KEY type (type)
) {table_collate};",
];
}
return $args;
}
}
WooFunnels_DB_Tables::get_instance();
}