/** * * craete tables */ public static function createTable($tableName) { global $wpdb; //if table exists - don't create it. $tableRealName = self::$table_prefix . $tableName; if (UniteFunctionsWPBiz::isDBTableExists($tableRealName)) { //check if we need to update the settings table if ($tableName == GlobalsShowBiz::TABLE_SETTINGS_NAME) { $result = $wpdb->query("SHOW COLUMNS FROM `" . self::$table_prefix . $tableName . "` LIKE 'general'"); if ($result == 0) { $wpdb->query("ALTER TABLE `" . self::$table_prefix . $tableName . "` ADD general TEXT NOT NULL"); } } return false; } $charset_collate = ''; if (method_exists($wpdb, "get_charset_collate")) { $charset_collate = $wpdb->get_charset_collate(); } else { if (!empty($wpdb->charset)) { $charset_collate = "DEFAULT CHARACTER SET {$wpdb->charset}"; } if (!empty($wpdb->collate)) { $charset_collate .= " COLLATE {$wpdb->collate}"; } } switch ($tableName) { case GlobalsShowBiz::TABLE_SLIDERS_NAME: $sql = "CREATE TABLE " . self::$table_prefix . $tableName . " (\r\n\t\t\t\t\t\t\t id int(9) NOT NULL AUTO_INCREMENT,\r\n\t\t\t\t\t\t\t title tinytext NOT NULL,\r\n\t\t\t\t\t\t\t alias tinytext,\r\n\t\t\t\t\t\t\t params text NOT NULL,\r\n\t\t\t\t\t\t\t PRIMARY KEY (id)\r\n\t\t\t\t\t\t\t){$charset_collate};"; break; case GlobalsShowBiz::TABLE_SLIDES_NAME: $sql = "CREATE TABLE " . self::$table_prefix . $tableName . " (\r\n\t\t\t\t\t\t\t\t id int(9) NOT NULL AUTO_INCREMENT,\r\n\t\t\t\t\t\t\t\t slider_id int(9) NOT NULL,\r\n\t\t\t\t\t\t\t\t slide_order int not NULL,\t\t \r\n\t\t\t\t\t\t\t\t params text NOT NULL,\r\n\t\t\t\t\t\t\t\t PRIMARY KEY (id)\r\n\t\t\t\t\t\t\t\t){$charset_collate};"; break; case GlobalsShowBiz::TABLE_TEMPLATES_NAME: $sql = "CREATE TABLE " . self::$table_prefix . $tableName . " (\r\n\t\t\t\t\t\t\t\t id int(9) NOT NULL AUTO_INCREMENT,\r\n\t\t\t\t\t\t\t\t title tinytext NOT NULL,\r\n\t\t\t\t\t\t\t\t type tinytext NOT NULL,\r\n\t\t\t\t\t\t\t\t content TEXT NOT NULL,\r\n\t\t\t\t\t\t\t\t css TEXT NOT NULL,\r\n\t\t\t\t\t\t\t\t ordering int not NULL,\r\n\t\t\t\t\t\t\t\t params TEXT NOT NULL,\r\n\t\t\t\t\t\t\t\t PRIMARY KEY (id)\r\n\t\t\t\t\t\t\t\t){$charset_collate};"; break; case GlobalsShowBiz::TABLE_SETTINGS_NAME: $sql = "CREATE TABLE " . self::$table_prefix . $tableName . " (\r\n\t\t\t\t\t\t\t\t id int(9) NOT NULL AUTO_INCREMENT,\r\n\t\t\t\t\t\t\t\t wildcards TEXT NOT NULL,\r\n\t\t\t\t\t\t\t\t general TEXT NOT NULL,\r\n\t\t\t\t\t\t\t\t params TEXT NOT NULL,\r\n\t\t\t\t\t\t\t\t PRIMARY KEY (id)\r\n\t\t\t\t\t\t\t\t){$charset_collate};"; break; default: UniteFunctionsBiz::throwError("table: {$tableName} not found"); break; } require_once ABSPATH . 'wp-admin/includes/upgrade.php'; dbDelta($sql); }