From: Steve Sutton Date: Wed, 3 Dec 2014 15:08:41 +0000 (-0500) Subject: database model X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/?a=commitdiff_plain;h=refs%2Fheads%2Fdevelop;p=WP-Plugins%2Fglm-members.git database model add model class for creating the db tables --- diff --git a/glm-members.php b/glm-members.php index 1e53890..3e34b38 100644 --- a/glm-members.php +++ b/glm-members.php @@ -9,15 +9,16 @@ Author URI: License: Gaslght Media All Rights Reserved */ +define('GLM_MEMBERS_PLUGIN_FILE_PATH', __FILE__); define('GLM_MEMBERS_VERSION', '1.0'); define('GLM_MEMBERS_VRS_OPTION_NAME', 'glm_member_db_version'); define('GLM_MEMBERS_MEMBER_TABLE', 'glm_members_members'); define('GLM_MEMBERS_LOCATION_TABLE', 'glm_members_locations'); define('GLM_MEMBERS_CONTACT_TABLE', 'glm_members_contacts'); +define('GLM_MEMBERS_STATE_TABLE', 'glm_members_states'); define('GLM_MEMBERS_REGION_TABLE', 'glm_members_regions'); define('GLM_MEMBERS_COUNTY_TABLE', 'glm_members_counties'); define('GLM_MEMBERS_CITY_TABLE', 'glm_members_cities'); -define('GLM_MEMBERS_PLUGIN_FILE_PATH', __FILE__); require_once 'models/database.php'; $glm_member_db = new glm_members_models_database($GLOBALS['wpdb']); diff --git a/models/database.php b/models/database.php index dde941d..0a1903b 100644 --- a/models/database.php +++ b/models/database.php @@ -36,6 +36,7 @@ class glm_members_models_database public $regionTable; public $countyTable; public $cityTable; + public $stateTable; public function __construct($wpdb) { @@ -52,12 +53,11 @@ class glm_members_models_database $this->regionTable = $this->wpdb->prefix . GLM_MEMBERS_REGION_TABLE; $this->countyTable = $this->wpdb->prefix . GLM_MEMBERS_COUNTY_TABLE; $this->cityTable = $this->wpdb->prefix . GLM_MEMBERS_CITY_TABLE; + $this->stateTable = $this->wpdb->prefix . GLM_MEMBERS_STATE_TABLE; } public function install() { - - $charset_collate = $this->wpdb->get_charset_collate(); $sql = "CREATE TABLE {$this->membersTable} ( @@ -89,11 +89,63 @@ class glm_members_models_database ) {$charset_collate}"; dbDelta($sql); + $sql = "CREATE TABLE {$this->contactTable} ( + id BIGINT(20) NOT NULL AUTO_INCREMENT, + create_time DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL, + modify_time DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL, + member BIGINT(20) NOT NULL, + title TEXT DEFAULT '' NOT NULL, + fname TEXT DEFAULT '' NOT NULL, + lname TEXT DEFAULT '' NOT NULL, + email TEXT DEFAULT '' NOT NULL, + phone TEXT DEFAULT '' NOT NULL, + send_mail BOOLEAN DEFAULT true NOT NULL, + UNIQUE KEY id (id) + ) {$charset_collate}"; + dbDelta($sql); + + $sql = "CREATE TABLE {$this->regionTable} ( + id BIGINT(20) NOT NULL AUTO_INCREMENT, + create_time DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL, + modify_time DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL, + name TEXT NOT NULL, + UNIQUE KEY id (id) + ) {$charset_collate}"; + dbDelta($sql); + + $sql = "CREATE TABLE {$this->countyTable} ( + id BIGINT(20) NOT NULL AUTO_INCREMENT, + create_time DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL, + modify_time DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL, + name TEXT NOT NULL, + state INTEGER NOT NULL, + region INTEGER, + UNIQUE KEY id (id) + ) {$charset_collate}"; + dbDelta($sql); + $sql = "CREATE TABLE {$this->cityTable} ( id BIGINT(20) NOT NULL AUTO_INCREMENT, create_time DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL, modify_time DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL, name TEXT NOT NULL, + state INTEGER NOT NULL, + county INTEGER, + region INTEGER, + lat DOUBLE PRECISION (9, 7) DEFAULT 0 NOT NULL, + lon DOUBLE PRECISION (10, 7) DEFAULT 0 NOT NULL, + description TEXT DEFAULT '' NOT NULL, + UNIQUE KEY id (id) + ) {$charset_collate}"; + dbDelta($sql); + + $sql = "CREATE TABLE {$this->stateTable} ( + id BIGINT(20) NOT NULL AUTO_INCREMENT, + create_time DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL, + modify_time DATETIME DEFAULT '0000-00-00 00:00:00' NOT NULL, + name TEXT NOT NULL, + abb TEXT NOT NULL, + us_state BOOLEAN DEFAULT true NOT NULL, UNIQUE KEY id (id) ) {$charset_collate}"; dbDelta($sql);