JezK
Edit File: class-cartflows-pro-analytics-db.php
<?php /** * Flow * * @package cartflows */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Analytics DB class. */ class Cartflows_Pro_Analytics_Db { /** * Member Variable * * @var object instance */ private static $instance; /** * Initiator */ public static function get_instance() { if ( ! isset( self::$instance ) ) { self::$instance = new self(); } return self::$instance; } /** * Constructor */ public function __construct() { $this->create_db_tables(); } /** * Create tables for analytics. */ public function create_db_tables() { global $wpdb; if ( get_option( 'cartflows_database_tables_created' ) === 'yes' ) { return; } $visits_db = $wpdb->prefix . CARTFLOWS_PRO_VISITS_TABLE; $visits_meta_db = $wpdb->prefix . CARTFLOWS_PRO_VISITS_META_TABLE; $charset_collate = $wpdb->get_charset_collate(); // visits db sql command. $sql = "CREATE TABLE $visits_db ( id bigint(20) NOT NULL AUTO_INCREMENT, step_id bigint(20) NOT NULL, date_visited datetime DEFAULT '0000-00-00 00:00:00' NOT NULL, visit_type enum('new','return'), PRIMARY KEY (id) ) $charset_collate;\n"; // visits meta db sql command. $sql .= "CREATE TABLE $visits_meta_db ( id bigint(20) NOT NULL AUTO_INCREMENT, visit_id bigint(20) NOT NULL, meta_key varchar(255) NULL, meta_value longtext NULL, PRIMARY KEY (id) ) $charset_collate;"; require_once ABSPATH . 'wp-admin/includes/upgrade.php'; dbDelta( $sql ); update_option( 'cartflows_database_tables_created', 'yes' ); } } Cartflows_Pro_Analytics_Db::get_instance();