/**
* --------------------------------------------------
* DATABASE INSTALL (CRITICAL)
* --------------------------------------------------
*/
global $wpdb;
require_once ABSPATH . 'wp-admin/includes/upgrade.php';
$charset_collate = $wpdb->get_charset_collate();
/**
* ----------------------------
* ADVERTISING SLOTS
* ----------------------------
*/
$slots_table = $wpdb->prefix . 'wcis_ad_slots';
$sql_slots = "CREATE TABLE $slots_table (
id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
name VARCHAR(200) NOT NULL,
width INT NOT NULL,
height INT NOT NULL,
location VARCHAR(200) DEFAULT '',
image_url TEXT DEFAULT '',
is_active TINYINT(1) DEFAULT 1,
sort_order INT DEFAULT 0,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id)
) $charset_collate;";
dbDelta($sql_slots);
/**
* ----------------------------
* ADVERTISING PACKAGES
* ----------------------------
*/
$packages_table = $wpdb->prefix . 'wcis_ad_packages';
$sql_packages = "CREATE TABLE $packages_table (
id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
name VARCHAR(100) NOT NULL,
description TEXT,
is_active TINYINT(1) DEFAULT 1,
sort_order INT DEFAULT 0,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id)
) $charset_collate;";
dbDelta($sql_packages);
/**
* ----------------------------
* PACKAGE PRICING (DURATION)
* ----------------------------
*/
$prices_table = $wpdb->prefix . 'wcis_ad_package_prices';
$sql_prices = "CREATE TABLE $prices_table (
id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
package_id BIGINT(20) UNSIGNED NOT NULL,
duration_days INT NOT NULL,
price DECIMAL(10,2) NOT NULL,
currency VARCHAR(10) DEFAULT 'GBP',
PRIMARY KEY (id),
KEY package_id (package_id)
) $charset_collate;";
dbDelta($sql_prices);
/**
* ----------------------------
* ADVERTISING ORDERS
* ----------------------------
*/
$orders_table = $wpdb->prefix . 'wcis_ad_orders';
$sql_orders = "CREATE TABLE $orders_table (
id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
order_code VARCHAR(50) NOT NULL,
user_id BIGINT(20) UNSIGNED NOT NULL,
slot_id BIGINT(20) UNSIGNED NOT NULL,
package_id BIGINT(20) UNSIGNED NOT NULL,
duration_days INT NOT NULL,
payment_type VARCHAR(50),
status VARCHAR(50) DEFAULT 'pending',
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id)
) $charset_collate;";
dbDelta($sql_orders);
/**
* ----------------------------
* DB VERSION
* ----------------------------
*/
update_option('wcis_ads_db_version', '1.0.0');
Hello world! – Where Can Istudy
Hello world!
Welcome to WordPress. This is your first post. Edit or delete it, then start writing!
Leave a Reply