moved Venice migration script into embeds as well
This commit is contained in:
+23
-4
@@ -38,6 +38,9 @@ var errMySQLNoColumn = &mysql.MySQLError{Number: 1054}
|
||||
//go:embed mysql-install.sql
|
||||
var installScriptMySQL string
|
||||
|
||||
//go:embed mysql-convert.sql
|
||||
var convertScriptMySQL string
|
||||
|
||||
// amdb is the reference to the Amsterdam database.
|
||||
var amdb *sqlx.DB
|
||||
|
||||
@@ -82,6 +85,16 @@ func databaseInstallScript() (string, error) {
|
||||
}
|
||||
}
|
||||
|
||||
// databaseConvertScript returns the script to convert a Venice database to Amsterdam.
|
||||
func databaseConvertScript() (string, error) {
|
||||
switch config.GlobalComputedConfig.DatabaseDriver {
|
||||
case "mysql":
|
||||
return convertScriptMySQL, nil
|
||||
default: // N.B.: Not to be implemented for any database type besides MySQL!
|
||||
return "", fmt.Errorf("No conversion script for database driver: %s", config.GlobalComputedConfig.DatabaseDriver)
|
||||
}
|
||||
}
|
||||
|
||||
// prepareDB prepares the database if it's not yet been loaded.
|
||||
func prepareDB() (string, error) {
|
||||
dsn := buildMysqlDSN(true)
|
||||
@@ -106,14 +119,20 @@ func prepareDB() (string, error) {
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("Failure of install script: %w", err)
|
||||
}
|
||||
version, err = databaseVersionNumber(db)
|
||||
case classNeedConvert:
|
||||
convertScript, err := databaseConvertScript()
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
case classNeedConvert:
|
||||
// TODO
|
||||
_, err = db.Exec(convertScript)
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("Failure of conversion script: %w", err)
|
||||
}
|
||||
}
|
||||
version, err = databaseVersionNumber(db)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
err = nil // if get here, we are OK to go
|
||||
}
|
||||
// TODO: apply migration scripts
|
||||
return version, err
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
# MySQL script for migrating a Venice database to the Amsterdam schema.
|
||||
# Written by Amy Bowersox <amy@erbosoft.com>
|
||||
#---------------------------------------------------------------------------
|
||||
# Amsterdam Web Communities System
|
||||
# Copyright (c) 2025-2026 Erbosoft Metaverse Design Solutions, All Rights Reserved
|
||||
#
|
||||
@@ -10,7 +7,6 @@
|
||||
#
|
||||
# SPDX-License-Identifier: MPL-2.0
|
||||
#
|
||||
|
||||
ALTER TABLE globals RENAME COLUMN max_sig_mbr_page TO max_comm_mbr_page;
|
||||
ALTER TABLE globals RENAME COLUMN sig_create_lvl TO comm_create_lvl;
|
||||
|
||||
@@ -1,963 +0,0 @@
|
||||
# MySQL script for initializing the Amsterdam database (contents only).
|
||||
# Written by Amy Bowersox <amy@erbosoft.com>
|
||||
#---------------------------------------------------------------------------
|
||||
# Amsterdam Web Communities System
|
||||
# Copyright (c) 2025 Erbosoft Metaverse Design Solutions, All Rights Reserved
|
||||
#
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
#
|
||||
# SPDX-License-Identifier: MPL-2.0
|
||||
#
|
||||
|
||||
##############################################################################
|
||||
# Table Creation
|
||||
##############################################################################
|
||||
|
||||
# The global parameters table. This is used for stuff that a Venice admin would be
|
||||
# likely to edit "on the fly." Stuff that can only be updated with a shutdown should go
|
||||
# in the XML config file. This table has ONLY ONE ROW!
|
||||
CREATE TABLE globals (
|
||||
version CHAR(10) NOT NULL,
|
||||
posts_per_page INT NOT NULL,
|
||||
old_posts_at_top INT NOT NULL,
|
||||
max_search_page INT NOT NULL,
|
||||
max_comm_mbr_page INT NOT NULL,
|
||||
max_conf_mbr_page INT NOT NULL,
|
||||
fp_posts INT NOT NULL,
|
||||
num_audit_page INT NOT NULL,
|
||||
comm_create_lvl INT NOT NULL
|
||||
) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
||||
|
||||
# The global properties table. The "ndx" parameter is used to indicate what
|
||||
# element is being loaded, and then the "data" element is parsed.
|
||||
CREATE TABLE propglobal (
|
||||
ndx INT NOT NULL PRIMARY KEY,
|
||||
data VARCHAR(255)
|
||||
) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
||||
|
||||
# The audit records table. Most "major" events add a record to this table.
|
||||
CREATE TABLE audit (
|
||||
record BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
on_date DATETIME NOT NULL,
|
||||
event INT NOT NULL,
|
||||
uid INT NOT NULL,
|
||||
commid INT NOT NULL DEFAULT 0,
|
||||
ip VARCHAR(48),
|
||||
data1 VARCHAR(128),
|
||||
data2 VARCHAR(128),
|
||||
data3 VARCHAR(128),
|
||||
data4 VARCHAR(128),
|
||||
INDEX on_date_x (on_date),
|
||||
INDEX comm_view (commid, on_date)
|
||||
) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
||||
|
||||
# The user information table.
|
||||
CREATE TABLE users (
|
||||
uid INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
username VARCHAR(64) NOT NULL,
|
||||
passhash VARCHAR(64) NOT NULL,
|
||||
tokenauth VARCHAR(64),
|
||||
contactid INT DEFAULT -1,
|
||||
is_anon TINYINT DEFAULT 0,
|
||||
verify_email TINYINT DEFAULT 0,
|
||||
lockout TINYINT DEFAULT 0,
|
||||
access_tries SMALLINT DEFAULT 0,
|
||||
email_confnum INT DEFAULT 0,
|
||||
base_lvl SMALLINT UNSIGNED NOT NULL,
|
||||
created DATETIME NOT NULL,
|
||||
lastaccess DATETIME,
|
||||
passreminder VARCHAR(255) DEFAULT '',
|
||||
description VARCHAR(255),
|
||||
dob DATE,
|
||||
UNIQUE INDEX username_x (username)
|
||||
) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
||||
|
||||
# User preferences table.
|
||||
CREATE TABLE userprefs (
|
||||
uid INT NOT NULL PRIMARY KEY,
|
||||
tzid VARCHAR(64) DEFAULT 'UTC',
|
||||
localeid VARCHAR(64) DEFAULT 'en_US'
|
||||
) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
||||
|
||||
# The per-user properties table. The "ndx" parameter is used to indicate what
|
||||
# element is being loaded, and then the "data" element is parsed.
|
||||
CREATE TABLE propuser (
|
||||
uid INT NOT NULL,
|
||||
ndx INT NOT NULL,
|
||||
data VARCHAR(255),
|
||||
PRIMARY KEY (uid, ndx)
|
||||
) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
||||
|
||||
# Indicates what the top-level "sidebox" configuration is for any given user.
|
||||
CREATE TABLE sideboxes (
|
||||
uid INT NOT NULL,
|
||||
boxid INT NOT NULL,
|
||||
sequence INT NOT NULL,
|
||||
param VARCHAR(255),
|
||||
UNIQUE INDEX userboxes (uid, boxid),
|
||||
INDEX inorder (uid, sequence)
|
||||
) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
||||
|
||||
# The contact information table. This is used for both users and communities.
|
||||
CREATE TABLE contacts (
|
||||
contactid INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
given_name VARCHAR(64),
|
||||
family_name VARCHAR(64),
|
||||
middle_init CHAR(1),
|
||||
prefix VARCHAR(8),
|
||||
suffix VARCHAR(16),
|
||||
company VARCHAR(255),
|
||||
addr1 VARCHAR(255),
|
||||
addr2 VARCHAR(255),
|
||||
locality VARCHAR(64),
|
||||
region VARCHAR(64),
|
||||
pcode VARCHAR(16),
|
||||
country CHAR(2),
|
||||
phone VARCHAR(32),
|
||||
fax VARCHAR(32),
|
||||
mobile VARCHAR(32),
|
||||
email VARCHAR(255),
|
||||
pvt_addr TINYINT DEFAULT 0,
|
||||
pvt_phone TINYINT DEFAULT 0,
|
||||
pvt_fax TINYINT DEFAULT 0,
|
||||
pvt_email TINYINT DEFAULT 0,
|
||||
owner_uid INT NOT NULL,
|
||||
owner_commid INT DEFAULT -1,
|
||||
photo_url VARCHAR(255),
|
||||
url VARCHAR(255),
|
||||
lastupdate DATETIME
|
||||
) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
||||
|
||||
# A table listing email addresses which are barred from registering.
|
||||
CREATE TABLE emailban (
|
||||
address VARCHAR(255) NOT NULL PRIMARY KEY,
|
||||
by_uid INT,
|
||||
on_date DATETIME
|
||||
) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
||||
|
||||
# The community table.
|
||||
CREATE TABLE communities (
|
||||
commid INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
createdate DATETIME NOT NULL,
|
||||
lastaccess DATETIME,
|
||||
lastupdate DATETIME,
|
||||
read_lvl SMALLINT UNSIGNED NOT NULL,
|
||||
write_lvl SMALLINT UNSIGNED NOT NULL,
|
||||
create_lvl SMALLINT UNSIGNED NOT NULL,
|
||||
delete_lvl SMALLINT UNSIGNED NOT NULL,
|
||||
join_lvl SMALLINT UNSIGNED NOT NULL,
|
||||
contactid INT DEFAULT -1,
|
||||
host_uid INT,
|
||||
catid INT NOT NULL DEFAULT 0,
|
||||
hide_dir TINYINT DEFAULT 0,
|
||||
hide_search TINYINT DEFAULT 0,
|
||||
membersonly TINYINT DEFAULT 1,
|
||||
is_admin TINYINT DEFAULT 0,
|
||||
init_ftr SMALLINT DEFAULT 0,
|
||||
commname VARCHAR(128) NOT NULL,
|
||||
language VARCHAR(20),
|
||||
synopsis VARCHAR(255),
|
||||
rules VARCHAR(255),
|
||||
joinkey VARCHAR(64),
|
||||
alias VARCHAR(32) NOT NULL,
|
||||
UNIQUE INDEX alias_x (alias),
|
||||
INDEX list_chron (createdate),
|
||||
INDEX list_cat (catid, createdate),
|
||||
INDEX list_alpha (catid, commname)
|
||||
) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
||||
|
||||
# The table mapping category IDs to category names.
|
||||
CREATE TABLE refcategory (
|
||||
catid INT NOT NULL PRIMARY KEY,
|
||||
parent INT NOT NULL,
|
||||
symlink INT NOT NULL,
|
||||
hide_dir TINYINT DEFAULT 0,
|
||||
hide_search TINYINT DEFAULT 0,
|
||||
name VARCHAR(64) NOT NULL,
|
||||
UNIQUE INDEX display (parent, name)
|
||||
) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
||||
|
||||
# The table mapping communities and their associated features.
|
||||
CREATE TABLE commftrs (
|
||||
commid INT NOT NULL,
|
||||
ftr_code SMALLINT NOT NULL,
|
||||
PRIMARY KEY (commid, ftr_code)
|
||||
) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
||||
|
||||
# The table mapping members of a community and their access levels.
|
||||
CREATE TABLE commmember (
|
||||
commid INT NOT NULL,
|
||||
uid INT NOT NULL,
|
||||
granted_lvl SMALLINT UNSIGNED,
|
||||
locked TINYINT DEFAULT 0,
|
||||
hidden TINYINT DEFAULT 0,
|
||||
PRIMARY KEY (commid, uid)
|
||||
) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
||||
|
||||
# A table listing users which have been banned from joining a community.
|
||||
CREATE TABLE commban (
|
||||
commid INT NOT NULL,
|
||||
uid INT NOT NULL,
|
||||
by_uid INT,
|
||||
on_date DATETIME,
|
||||
PRIMARY KEY (commid, uid)
|
||||
) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
||||
|
||||
# The community properties table. The "index" parameter is used to indicate what
|
||||
# element is being loaded, and then the "data" element is parsed.
|
||||
CREATE TABLE propcomm (
|
||||
cid INT NOT NULL,
|
||||
ndx INT NOT NULL,
|
||||
data VARCHAR(255),
|
||||
PRIMARY KEY (cid, ndx)
|
||||
) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
||||
|
||||
# The table describing conferences. Like original CW, confs may be linked to more
|
||||
# than one community.
|
||||
CREATE TABLE confs (
|
||||
confid INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
createdate DATETIME NOT NULL,
|
||||
lastupdate DATETIME,
|
||||
read_lvl SMALLINT UNSIGNED NOT NULL,
|
||||
post_lvl SMALLINT UNSIGNED NOT NULL,
|
||||
create_lvl SMALLINT UNSIGNED NOT NULL,
|
||||
hide_lvl SMALLINT UNSIGNED NOT NULL,
|
||||
nuke_lvl SMALLINT UNSIGNED NOT NULL,
|
||||
change_lvl SMALLINT UNSIGNED NOT NULL,
|
||||
delete_lvl SMALLINT UNSIGNED NOT NULL,
|
||||
top_topic SMALLINT DEFAULT 0,
|
||||
name VARCHAR(128) NOT NULL,
|
||||
descr VARCHAR(255),
|
||||
icon_url VARCHAR(255),
|
||||
color VARCHAR(8),
|
||||
INDEX name_x (name)
|
||||
) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
||||
|
||||
# The table that links communities to conferences.
|
||||
CREATE TABLE commtoconf (
|
||||
commid INT NOT NULL,
|
||||
confid INT NOT NULL,
|
||||
sequence SMALLINT NOT NULL,
|
||||
granted_lvl SMALLINT UNSIGNED DEFAULT 0,
|
||||
hide_list TINYINT DEFAULT 0,
|
||||
PRIMARY KEY (commid, confid),
|
||||
INDEX display_ord (commid, sequence)
|
||||
) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
||||
|
||||
# The table listing "aliases" to a conference for post-linking purposes.
|
||||
CREATE TABLE confalias (
|
||||
confid INT NOT NULL,
|
||||
alias VARCHAR(64) NOT NULL PRIMARY KEY,
|
||||
INDEX confid_x (confid)
|
||||
) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
||||
|
||||
# A "membership" table for conferences used to control access to private conferences
|
||||
# and grant conference hosting powers.
|
||||
CREATE TABLE confmember (
|
||||
confid INT NOT NULL,
|
||||
uid INT NOT NULL,
|
||||
granted_lvl SMALLINT UNSIGNED DEFAULT 0,
|
||||
PRIMARY KEY (confid, uid)
|
||||
) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
||||
|
||||
# Holds "saved settings" for a user with respect to a conference.
|
||||
CREATE TABLE confsettings (
|
||||
confid INT NOT NULL,
|
||||
uid INT NOT NULL,
|
||||
default_pseud VARCHAR(255),
|
||||
last_read DATETIME,
|
||||
last_post DATETIME,
|
||||
PRIMARY KEY (confid, uid)
|
||||
) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
||||
|
||||
# The "hot list" of conferences for a given user.
|
||||
CREATE TABLE confhotlist (
|
||||
uid INT NOT NULL,
|
||||
sequence SMALLINT NOT NULL,
|
||||
commid INT NOT NULL,
|
||||
confid INT NOT NULL,
|
||||
PRIMARY KEY (uid, commid, confid),
|
||||
INDEX inorder (uid, sequence)
|
||||
) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
||||
|
||||
# The conference properties table. The "index" parameter is used to indicate what
|
||||
# element is being loaded, and then the "data" element is parsed.
|
||||
CREATE TABLE propconf (
|
||||
confid INT NOT NULL,
|
||||
ndx INT NOT NULL,
|
||||
data VARCHAR(255),
|
||||
PRIMARY KEY (confid, ndx)
|
||||
) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
||||
|
||||
# The conference custom HTML block table. There are two custom blocks, one at the
|
||||
# top of the page, one at the bottom, each a maximum of 64K in length.
|
||||
CREATE TABLE confcustom (
|
||||
confid INT NOT NULL PRIMARY KEY,
|
||||
htmltop TEXT,
|
||||
htmlbottom TEXT
|
||||
) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
||||
|
||||
# The table describing topics within a conference.
|
||||
CREATE TABLE topics (
|
||||
topicid INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
confid INT NOT NULL,
|
||||
num SMALLINT NOT NULL,
|
||||
creator_uid INT NOT NULL,
|
||||
top_message INT DEFAULT 0,
|
||||
frozen TINYINT DEFAULT 0,
|
||||
archived TINYINT DEFAULT 0,
|
||||
sticky TINYINT DEFAULT 0,
|
||||
createdate DATETIME NOT NULL,
|
||||
lastupdate DATETIME NOT NULL,
|
||||
name VARCHAR(128) NOT NULL,
|
||||
UNIQUE INDEX by_num (confid, num),
|
||||
UNIQUE INDEX by_name (confid, name),
|
||||
INDEX by_date (confid, lastupdate)
|
||||
) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
||||
|
||||
# Holds "saved settings" for a user with respect to a topic.
|
||||
CREATE TABLE topicsettings (
|
||||
topicid INT NOT NULL,
|
||||
uid INT NOT NULL,
|
||||
hidden TINYINT DEFAULT 0,
|
||||
last_message INT DEFAULT -1,
|
||||
last_read DATETIME,
|
||||
last_post DATETIME,
|
||||
subscribe TINYINT DEFAULT 0,
|
||||
PRIMARY KEY (topicid, uid)
|
||||
) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
||||
|
||||
# The "bozo filter" list for a topic, for use by users in filtering out
|
||||
# the rantings of other users who are bozos.
|
||||
CREATE TABLE topicbozo (
|
||||
topicid INT NOT NULL,
|
||||
uid INT NOT NULL,
|
||||
bozo_uid INT NOT NULL,
|
||||
PRIMARY KEY (topicid, uid, bozo_uid)
|
||||
) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
||||
|
||||
# The "header" for a posted message.
|
||||
CREATE TABLE posts (
|
||||
postid BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
parent BIGINT NOT NULL DEFAULT 0,
|
||||
topicid INT NOT NULL,
|
||||
num INT NOT NULL,
|
||||
linecount INT,
|
||||
creator_uid INT NOT NULL,
|
||||
posted DATETIME NOT NULL,
|
||||
hidden TINYINT DEFAULT 0,
|
||||
scribble_uid INT,
|
||||
scribble_date DATETIME,
|
||||
pseud VARCHAR(255),
|
||||
UNIQUE INDEX read_order (topicid, num),
|
||||
INDEX date_order (topicid, posted),
|
||||
INDEX child_order (parent, num)
|
||||
) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
||||
|
||||
# The actual message text.
|
||||
CREATE TABLE postdata (
|
||||
postid BIGINT NOT NULL PRIMARY KEY,
|
||||
data MEDIUMTEXT,
|
||||
FULLTEXT INDEX searchpost (data)
|
||||
) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
||||
|
||||
# Message attachment.
|
||||
CREATE TABLE postattach (
|
||||
postid BIGINT NOT NULL PRIMARY KEY,
|
||||
datalen INT,
|
||||
hits INT DEFAULT 0,
|
||||
last_hit DATETIME,
|
||||
stgmethod SMALLINT DEFAULT 0,
|
||||
priority SMALLINT DEFAULT 0,
|
||||
filename VARCHAR(255),
|
||||
mimetype VARCHAR(128),
|
||||
data MEDIUMBLOB
|
||||
) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
||||
|
||||
# "Bookmark" table for posts we like.
|
||||
CREATE TABLE postdogear (
|
||||
uid INT NOT NULL,
|
||||
postid BIGINT NOT NULL,
|
||||
PRIMARY KEY (uid, postid)
|
||||
) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
||||
|
||||
# "Front page" publishing table.
|
||||
CREATE TABLE postpublish (
|
||||
commid INT NOT NULL,
|
||||
postid BIGINT NOT NULL PRIMARY KEY,
|
||||
by_uid INT NOT NULL,
|
||||
on_date DATETIME NOT NULL,
|
||||
INDEX display_order (on_date, postid)
|
||||
) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
||||
|
||||
# Advertisement (actually quote, for now) banners
|
||||
CREATE TABLE adverts (
|
||||
adid INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
imagepath VARCHAR(255) NOT NULL,
|
||||
pathstyle SMALLINT NOT NULL DEFAULT 0,
|
||||
caption VARCHAR(255),
|
||||
linkurl VARCHAR(255)
|
||||
) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
||||
|
||||
# Storage space for uploaded images.
|
||||
CREATE TABLE imagestore (
|
||||
imgid INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
typecode SMALLINT DEFAULT 0,
|
||||
ownerid INT,
|
||||
mimetype VARCHAR(128) NOT NULL,
|
||||
length INT NOT NULL,
|
||||
data MEDIUMBLOB
|
||||
) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
||||
|
||||
# Table listing IP addresses that are banned from logging in or registering.
|
||||
CREATE TABLE ipban (
|
||||
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
|
||||
address_lo BIGINT UNSIGNED NOT NULL,
|
||||
address_hi BIGINT UNSIGNED NOT NULL,
|
||||
mask_lo BIGINT UNSIGNED NOT NULL,
|
||||
mask_hi BIGINT UNSIGNED NOT NULL,
|
||||
enable TINYINT NOT NULL DEFAULT 1,
|
||||
expire DATETIME,
|
||||
message VARCHAR(255) NOT NULL,
|
||||
block_by INT NOT NULL,
|
||||
block_on DATETIME NOT NULL,
|
||||
INDEX by_mask (mask_hi, mask_lo),
|
||||
INDEX by_date (block_on)
|
||||
) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
|
||||
|
||||
##############################################################################
|
||||
# Constant Data Population
|
||||
##############################################################################
|
||||
|
||||
# Populate the Category table.
|
||||
# Source: Mozilla Open Directory Project categorization system <http://dmoz.org>;
|
||||
# additional categorization from WebbMe categories
|
||||
INSERT INTO refcategory (catid, parent, symlink, name) VALUES
|
||||
(0, -1, -1, 'Unclassified'),
|
||||
(1, -1, -1, 'Arts'),
|
||||
(16, 1, -1, 'Animation'),
|
||||
(17, 1, 181, 'Antiques'),
|
||||
(18, 1, -1, 'Architecture'),
|
||||
(19, 1, -1, 'Art History'),
|
||||
(20, 1, -1, 'Body Art'),
|
||||
(21, 1, -1, 'Celebrities'),
|
||||
(22, 1, -1, 'Comics'),
|
||||
(23, 1, -1, 'Crafts'),
|
||||
(24, 1, -1, 'Dance'),
|
||||
(25, 1, -1, 'Design'),
|
||||
(26, 1, -1, 'Education'),
|
||||
(27, 1, -1, 'Entertainment'),
|
||||
(28, 1, -1, 'Graphic Design'),
|
||||
(29, 1, -1, 'Humanities'),
|
||||
(30, 1, -1, 'Illustration'),
|
||||
(31, 1, -1, 'Literature'),
|
||||
(32, 1, -1, 'Movies'),
|
||||
(33, 1, -1, 'Music'),
|
||||
(34, 1, -1, 'Myths and Folktales'),
|
||||
(35, 1, -1, 'Native and Tribal'),
|
||||
(36, 1, -1, 'Performing Arts'),
|
||||
(37, 1, -1, 'Photography'),
|
||||
(38, 1, -1, 'Radio'),
|
||||
(39, 1, -1, 'Television'),
|
||||
(40, 1, -1, 'Theatre'),
|
||||
(41, 1, -1, 'Typography'),
|
||||
(42, 1, -1, 'Video'),
|
||||
(43, 1, -1, 'Visual Arts'),
|
||||
(44, 1, -1, 'Writing'),
|
||||
(2, -1, -1, 'Business'),
|
||||
(45, 2, -1, 'Accounting'),
|
||||
(46, 2, -1, 'Advertising'),
|
||||
(47, 2, -1, 'Aerospace'),
|
||||
(48, 2, -1, 'Agriculture and Forestry'),
|
||||
(49, 2, -1, 'Apparel'),
|
||||
(50, 2, -1, 'Arts and Entertainment'),
|
||||
(51, 2, -1, 'Associations'),
|
||||
(52, 2, -1, 'Aviation'),
|
||||
(53, 2, -1, 'Business Services'),
|
||||
(54, 2, 245, 'Classifieds'),
|
||||
(55, 2, -1, 'Computers'),
|
||||
(56, 2, -1, 'Consulting'),
|
||||
(57, 2, -1, 'Construction and Maintenance'),
|
||||
(58, 2, -1, 'Electronics'),
|
||||
(59, 2, -1, 'Employment'),
|
||||
(60, 2, -1, 'Energy and Utilities'),
|
||||
(61, 2, -1, 'Environmental and Safety'),
|
||||
(62, 2, -1, 'Financial Services'),
|
||||
(63, 2, -1, 'Food and Related Products'),
|
||||
(64, 2, -1, 'Insurance'),
|
||||
(65, 2, -1, 'Internet Services'),
|
||||
(66, 2, -1, 'Investing'),
|
||||
(67, 2, 290, 'Law'),
|
||||
(68, 2, -1, 'Management'),
|
||||
(69, 2, -1, 'Manufacturing'),
|
||||
(70, 2, -1, 'Marketing'),
|
||||
(71, 2, -1, 'Mining and Drilling'),
|
||||
(72, 2, -1, 'Printing'),
|
||||
(73, 2, -1, 'Publishing'),
|
||||
(74, 2, -1, 'Real Estate'),
|
||||
(75, 2, -1, 'Retail'),
|
||||
(76, 2, -1, 'Security'),
|
||||
(77, 2, -1, 'Small Business'),
|
||||
(78, 2, -1, 'Taxes'),
|
||||
(79, 2, -1, 'Training and Schools'),
|
||||
(80, 2, -1, 'Telecommunications'),
|
||||
(81, 2, -1, 'Transportation'),
|
||||
(82, 2, -1, 'Venture Capital'),
|
||||
(3, -1, -1, 'Computers'),
|
||||
(83, 3, -1, 'CAD'),
|
||||
(84, 3, -1, 'Computer Science'),
|
||||
(85, 3, -1, 'Consultants'),
|
||||
(86, 3, -1, 'Data Communications'),
|
||||
(87, 3, -1, 'Desktop Publishing'),
|
||||
(88, 3, -1, 'Education'),
|
||||
(89, 3, -1, 'Ethics'),
|
||||
(90, 3, -1, 'Fonts'),
|
||||
(91, 3, 124, 'Games'),
|
||||
(92, 3, -1, 'Graphics'),
|
||||
(93, 3, -1, 'Hacking'),
|
||||
(94, 3, -1, 'Hardware'),
|
||||
(95, 3, -1, 'History'),
|
||||
(96, 3, -1, 'Internet'),
|
||||
(97, 3, -1, 'Multimedia'),
|
||||
(98, 3, -1, 'Open Source'),
|
||||
(99, 3, -1, 'Operating Systems'),
|
||||
(100, 3, -1, 'Programming'),
|
||||
(101, 3, -1, 'Robotics'),
|
||||
(102, 3, -1, 'Security'),
|
||||
(103, 3, -1, 'Shopping'),
|
||||
(104, 3, -1, 'Software'),
|
||||
(105, 3, -1, 'Systems'),
|
||||
(4, -1, -1, 'Games'),
|
||||
(106, 4, -1, 'Board Games'),
|
||||
(107, 4, -1, 'Card Games'),
|
||||
(108, 4, -1, 'Coin-op Games'),
|
||||
(109, 4, 123, 'Collectible Card Games'),
|
||||
(110, 4, -1, 'Dice Games'),
|
||||
(111, 4, 319, 'Fantasy Sports'),
|
||||
(112, 4, -1, 'Gambling'),
|
||||
(113, 4, -1, 'Game Creation Systems'),
|
||||
(114, 4, -1, 'Game Design'),
|
||||
(115, 4, -1, 'Hand Games'),
|
||||
(116, 4, -1, 'Internet Games'),
|
||||
(117, 4, -1, 'Party Games'),
|
||||
(118, 4, -1, 'Puzzles'),
|
||||
(119, 4, 270, 'Retailers'),
|
||||
(120, 4, -1, 'Roleplaying Games'),
|
||||
(121, 4, 14, 'Sports'),
|
||||
(122, 4, -1, 'Tile Games'),
|
||||
(123, 4, -1, 'Trading Cards'),
|
||||
(124, 4, -1, 'Video Games'),
|
||||
(125, 4, -1, 'Yard and Deck Games'),
|
||||
(5, -1, -1, 'Health'),
|
||||
(126, 5, -1, 'Aging'),
|
||||
(127, 5, -1, 'Alternative Medicine'),
|
||||
(128, 5, -1, 'Beauty'),
|
||||
(129, 5, -1, 'Children''s Health'),
|
||||
(130, 5, -1, 'Conditions and Diseases'),
|
||||
(131, 5, -1, 'Dentistry'),
|
||||
(132, 5, 280, 'Disabilities'),
|
||||
(133, 5, -1, 'Education'),
|
||||
(134, 5, -1, 'Fitness'),
|
||||
(135, 5, 64, 'Health Insurance'),
|
||||
(136, 5, -1, 'Medicine'),
|
||||
(137, 5, -1, 'Men''s Health'),
|
||||
(138, 5, -1, 'Mental Health'),
|
||||
(139, 5, -1, 'Nursing'),
|
||||
(140, 5, -1, 'Nutrition'),
|
||||
(141, 5, -1, 'Occupational Health and Safety'),
|
||||
(142, 5, -1, 'Pharmacy'),
|
||||
(143, 5, -1, 'Public Health and Safety'),
|
||||
(144, 5, -1, 'Reproductive Health'),
|
||||
(145, 5, -1, 'Seniors'' Health'),
|
||||
(146, 5, -1, 'Services'),
|
||||
(147, 5, -1, 'Substance Abuse'),
|
||||
(148, 5, -1, 'Teen Health'),
|
||||
(149, 5, -1, 'Women''s Health'),
|
||||
(6, -1, -1, 'Home'),
|
||||
(150, 6, -1, 'Apartment Living'),
|
||||
(151, 6, -1, 'Cooking'),
|
||||
(152, 6, -1, 'Do-It-Yourself'),
|
||||
(153, 6, -1, 'Emergency Preparation'),
|
||||
(154, 6, -1, 'Entertaining'),
|
||||
(155, 6, -1, 'Family'),
|
||||
(156, 6, -1, 'Gardens'),
|
||||
(157, 6, -1, 'Home Improvement'),
|
||||
(158, 6, -1, 'Homemaking'),
|
||||
(363, 6, -1, 'Homeowners'),
|
||||
(159, 6, -1, 'Kids'),
|
||||
(160, 6, -1, 'Moving and Relocating'),
|
||||
(161, 6, -1, 'Nursery'),
|
||||
(162, 6, 207, 'Pets'),
|
||||
(163, 6, -1, 'Personal Finance'),
|
||||
(164, 6, -1, 'Personal Organization'),
|
||||
(165, 6, -1, 'Relatives'),
|
||||
(166, 6, -1, 'Rural Living'),
|
||||
(167, 6, 12, 'Shopping'),
|
||||
(168, 6, -1, 'Urban Living'),
|
||||
(7, -1, -1, 'News'),
|
||||
(169, 7, -1, 'Alternative Media'),
|
||||
(170, 7, -1, 'Columnists'),
|
||||
(171, 7, -1, 'Current Events'),
|
||||
(172, 7, -1, 'Magazines'),
|
||||
(173, 7, -1, 'Media'),
|
||||
(174, 7, -1, 'Newspapers'),
|
||||
(175, 7, -1, 'Online'),
|
||||
(176, 7, -1, 'Politics'),
|
||||
(177, 7, -1, 'Satire'),
|
||||
(178, 7, -1, 'Weather'),
|
||||
(8, -1, -1, 'Recreation'),
|
||||
(179, 8, -1, 'Air Hockey'),
|
||||
(180, 8, -1, 'Amateur Radio'),
|
||||
(181, 8, -1, 'Antiques'),
|
||||
(182, 8, -1, 'Audio'),
|
||||
(183, 8, -1, 'Aviation'),
|
||||
(184, 8, -1, 'Birdwatching'),
|
||||
(185, 8, -1, 'Boating'),
|
||||
(186, 8, 310, 'Bowling'),
|
||||
(187, 8, -1, 'Climbing'),
|
||||
(188, 8, -1, 'Collecting'),
|
||||
(189, 8, 23, 'Crafts'),
|
||||
(190, 8, -1, 'Drugs'),
|
||||
(191, 8, -1, 'Food and Drink'),
|
||||
(192, 8, 4, 'Games'),
|
||||
(193, 8, 156, 'Gardens'),
|
||||
(194, 8, 285, 'Genealogy'),
|
||||
(195, 8, -1, 'Guns'),
|
||||
(196, 8, -1, 'Hot Air Ballooning'),
|
||||
(197, 8, -1, 'Humor'),
|
||||
(198, 8, -1, 'Kites'),
|
||||
(199, 8, -1, 'Knives'),
|
||||
(200, 8, -1, 'Living History'),
|
||||
(201, 8, 332, 'Martial Arts'),
|
||||
(202, 8, -1, 'Models'),
|
||||
(203, 8, -1, 'Motorcycles'),
|
||||
(204, 8, -1, 'Nudism'),
|
||||
(205, 8, -1, 'Outdoors'),
|
||||
(206, 8, -1, 'Parties'),
|
||||
(207, 8, -1, 'Pets'),
|
||||
(208, 8, -1, 'Roads and Highways'),
|
||||
(209, 8, -1, 'Scouting'),
|
||||
(210, 8, -1, 'Smoking'),
|
||||
(211, 8, 14, 'Sports'),
|
||||
(212, 8, -1, 'Theme Parks'),
|
||||
(213, 8, -1, 'Trains and Railroads'),
|
||||
(214, 8, -1, 'Travel'),
|
||||
(9, -1, -1, 'Reference and Education'),
|
||||
(215, 9, -1, 'Alumni'),
|
||||
(216, 9, -1, 'Colleges and Universities'),
|
||||
(217, 9, -1, 'Continuing Education'),
|
||||
(218, 9, 79, 'Corporate Training'),
|
||||
(219, 9, -1, 'Distance Learning'),
|
||||
(220, 9, -1, 'International'),
|
||||
(221, 9, -1, 'K through 12'),
|
||||
(222, 9, -1, 'Libraries'),
|
||||
(223, 9, -1, 'Museums'),
|
||||
(224, 9, -1, 'Special Education'),
|
||||
(225, 9, -1, 'Vocational Education'),
|
||||
(10, -1, -1, 'Regional'),
|
||||
(226, 10, -1, 'International'),
|
||||
(227, 10, -1, 'US'),
|
||||
(11, -1, -1, 'Science'),
|
||||
(228, 11, -1, 'Agriculture'),
|
||||
(229, 11, -1, 'Alternative Science'),
|
||||
(230, 11, -1, 'Astronomy'),
|
||||
(231, 11, -1, 'Biology'),
|
||||
(232, 11, -1, 'Chemistry'),
|
||||
(233, 11, -1, 'Earth Sciences'),
|
||||
(234, 11, -1, 'Environment'),
|
||||
(235, 11, -1, 'Mathematics'),
|
||||
(236, 11, -1, 'Physics'),
|
||||
(237, 11, -1, 'Science in Society'),
|
||||
(238, 11, -1, 'Social Sciences'),
|
||||
(239, 11, -1, 'Space'),
|
||||
(240, 11, -1, 'Technology'),
|
||||
(12, -1, -1, 'Shopping'),
|
||||
(241, 12, -1, 'Antiques and Collectibles'),
|
||||
(242, 12, -1, 'Auctions'),
|
||||
(243, 12, -1, 'Books'),
|
||||
(244, 12, -1, 'Children'),
|
||||
(245, 12, -1, 'Classifieds'),
|
||||
(246, 12, -1, 'Clothing'),
|
||||
(247, 12, 103, 'Computers'),
|
||||
(248, 12, -1, 'Consumer Electronics'),
|
||||
(249, 12, -1, 'Crafts'),
|
||||
(250, 12, -1, 'Entertainment'),
|
||||
(251, 12, -1, 'Ethnic and Regional'),
|
||||
(252, 12, -1, 'Flowers'),
|
||||
(253, 12, -1, 'Food and Drink'),
|
||||
(254, 12, -1, 'Furniture'),
|
||||
(255, 12, -1, 'Gifts'),
|
||||
(256, 12, -1, 'Health and Beauty'),
|
||||
(257, 12, -1, 'Holidays'),
|
||||
(258, 12, -1, 'Home and Garden'),
|
||||
(259, 12, -1, 'Jewelry'),
|
||||
(260, 12, -1, 'Music and Video'),
|
||||
(261, 12, -1, 'Niche'),
|
||||
(262, 12, -1, 'Office Products'),
|
||||
(263, 12, -1, 'Pets'),
|
||||
(264, 12, -1, 'Photography'),
|
||||
(265, 12, -1, 'Recreation and Hobbies'),
|
||||
(266, 12, -1, 'Religious'),
|
||||
(267, 12, -1, 'Sports'),
|
||||
(268, 12, -1, 'Tobacco'),
|
||||
(269, 12, -1, 'Tools'),
|
||||
(270, 12, -1, 'Toys and Games'),
|
||||
(271, 12, -1, 'Travel'),
|
||||
(272, 12, -1, 'Vehicles'),
|
||||
(273, 12, -1, 'Visual Arts'),
|
||||
(274, 12, -1, 'Weddings'),
|
||||
(275, 12, -1, 'Wholesale'),
|
||||
(13, -1, -1, 'Society'),
|
||||
(276, 13, -1, 'Activism'),
|
||||
(277, 13, -1, 'Advice'),
|
||||
(278, 13, -1, 'Crime'),
|
||||
(279, 13, -1, 'Death'),
|
||||
(280, 13, -1, 'Disabled'),
|
||||
(281, 13, -1, 'Ethnicity'),
|
||||
(282, 13, -1, 'Folklore'),
|
||||
(283, 13, -1, 'Future'),
|
||||
(284, 13, -1, 'Gay/Lesbian/Bisexual'),
|
||||
(285, 13, -1, 'Genealogy'),
|
||||
(286, 13, -1, 'Government'),
|
||||
(287, 13, -1, 'History'),
|
||||
(288, 13, -1, 'Holidays'),
|
||||
(289, 13, -1, 'Issues'),
|
||||
(290, 13, -1, 'Law'),
|
||||
(291, 13, -1, 'Lifestyle Choices'),
|
||||
(292, 13, -1, 'Military'),
|
||||
(293, 13, -1, 'Paranormal'),
|
||||
(294, 13, -1, 'People'),
|
||||
(295, 13, -1, 'Philosophy'),
|
||||
(296, 13, -1, 'Politics'),
|
||||
(297, 13, -1, 'Recovery and Support Groups'),
|
||||
(298, 13, -1, 'Relationships'),
|
||||
(299, 13, -1, 'Religion and Spirituality'),
|
||||
(300, 13, -1, 'Sexuality'),
|
||||
(301, 13, -1, 'Subcultures'),
|
||||
(302, 13, -1, 'Transgendered'),
|
||||
(303, 13, -1, 'Work'),
|
||||
(14, -1, -1, 'Sports'),
|
||||
(304, 14, -1, 'Archery'),
|
||||
(305, 14, -1, 'Badminton'),
|
||||
(306, 14, -1, 'Baseball'),
|
||||
(307, 14, -1, 'Basketball'),
|
||||
(308, 14, -1, 'Billiards'),
|
||||
(309, 14, -1, 'Boomerang'),
|
||||
(310, 14, -1, 'Bowling'),
|
||||
(311, 14, -1, 'Boxing'),
|
||||
(312, 14, -1, 'Cheerleading'),
|
||||
(313, 14, -1, 'Cricket'),
|
||||
(314, 14, -1, 'Croquet'),
|
||||
(315, 14, -1, 'Cycling'),
|
||||
(316, 14, -1, 'Darts'),
|
||||
(317, 14, -1, 'Equestrian'),
|
||||
(318, 14, -1, 'Extreme Sports'),
|
||||
(319, 14, -1, 'Fantasy'),
|
||||
(320, 14, -1, 'Fencing'),
|
||||
(321, 14, -1, 'Fishing'),
|
||||
(322, 14, -1, 'Flying Discs'),
|
||||
(323, 14, -1, 'Football'),
|
||||
(324, 14, -1, 'Golf'),
|
||||
(325, 14, -1, 'Greyhound Racing'),
|
||||
(326, 14, -1, 'Gymnastics'),
|
||||
(327, 14, -1, 'Handball'),
|
||||
(328, 14, -1, 'Hockey'),
|
||||
(329, 14, -1, 'Lacrosse'),
|
||||
(330, 14, -1, 'Laser Games'),
|
||||
(331, 14, -1, 'Lumberjack'),
|
||||
(332, 14, -1, 'Martial Arts'),
|
||||
(333, 14, -1, 'Motor Sports'),
|
||||
(334, 14, -1, 'Orienteering'),
|
||||
(335, 14, -1, 'Paintball'),
|
||||
(336, 14, -1, 'Racquetball'),
|
||||
(337, 14, -1, 'Rodeo'),
|
||||
(338, 14, -1, 'Roller Derby'),
|
||||
(339, 14, -1, 'Rope Skipping'),
|
||||
(340, 14, -1, 'Rugby'),
|
||||
(341, 14, -1, 'Running'),
|
||||
(342, 14, -1, 'Sailing'),
|
||||
(343, 14, -1, 'Shooting'),
|
||||
(344, 14, 267, 'Shopping'),
|
||||
(345, 14, -1, 'Skateboarding'),
|
||||
(346, 14, -1, 'Skating'),
|
||||
(347, 14, -1, 'Skiing'),
|
||||
(348, 14, -1, 'Sledding'),
|
||||
(349, 14, -1, 'Sled Dog Racing'),
|
||||
(350, 14, -1, 'Snowboarding'),
|
||||
(351, 14, -1, 'Soccer'),
|
||||
(352, 14, -1, 'Softball'),
|
||||
(353, 14, -1, 'Squash'),
|
||||
(354, 14, -1, 'Strength Sports'),
|
||||
(355, 14, -1, 'Table Tennis'),
|
||||
(356, 14, -1, 'Tennis'),
|
||||
(357, 14, -1, 'Track and Field'),
|
||||
(358, 14, -1, 'Volleyball'),
|
||||
(359, 14, -1, 'Walking'),
|
||||
(360, 14, -1, 'Water Sports'),
|
||||
(361, 14, -1, 'Winter Sports'),
|
||||
(362, 14, -1, 'Wrestling'),
|
||||
(15, -1, -1, 'System');
|
||||
### -- LAST IS 363 -- ###
|
||||
|
||||
# Make sure the special "System" category is hidden.
|
||||
UPDATE refcategory SET hide_dir = 1, hide_search = 1 WHERE catid = 15;
|
||||
|
||||
# Create the initial advertisements (quotes).
|
||||
INSERT INTO adverts (imagepath) VALUES
|
||||
('images/ads/Brown.gif'),
|
||||
('images/ads/Caine.gif'),
|
||||
('images/ads/Frost.gif'),
|
||||
('images/ads/Keller.gif'),
|
||||
('images/ads/Letterman.gif'),
|
||||
('images/ads/Pooh.gif'),
|
||||
('images/ads/Shakespeare.gif'),
|
||||
('images/ads/Thomas.gif'),
|
||||
('images/ads/WolinskiTeamwork.gif'),
|
||||
('images/ads/Wonder.gif'),
|
||||
('images/ads/bonaparte.gif'),
|
||||
('images/ads/buscaglia.gif'),
|
||||
('images/ads/dana.gif'),
|
||||
('images/ads/deadpoets.gif'),
|
||||
('images/ads/ford.gif'),
|
||||
('images/ads/karen.gif'),
|
||||
('images/ads/lynett.gif'),
|
||||
('images/ads/mcauliffe.gif'),
|
||||
('images/ads/midler.gif'),
|
||||
('images/ads/sophocles.gif'),
|
||||
('images/ads/talbert.gif'),
|
||||
('images/ads/torvalds.gif'),
|
||||
('images/ads/wonka.gif'),
|
||||
('images/ads/worf.gif');
|
||||
|
||||
##############################################################################
|
||||
# Database Initialization
|
||||
##############################################################################
|
||||
|
||||
# Initialize the system globals table.
|
||||
INSERT INTO globals (version, posts_per_page, old_posts_at_top, max_search_page, max_comm_mbr_page, max_conf_mbr_page,
|
||||
fp_posts, num_audit_page, comm_create_lvl)
|
||||
VALUES ('2026030501', 20, 2, 20, 50, 50, 10, 100, 1000);
|
||||
|
||||
# Initialize the global properies table.
|
||||
INSERT INTO propglobal (ndx, data)
|
||||
VALUES (0, '');
|
||||
|
||||
# Add the 'Anonymous Honyak' user to the users table.
|
||||
# (Do 'SELECT * FROM users WHERE is_anon = 1' to retrieve the AC user details.)
|
||||
# (UID = 1, CONTACTID = 1)
|
||||
INSERT INTO users (uid, username, passhash, contactid, is_anon, verify_email, base_lvl, created)
|
||||
VALUES (1, 'Anonymous_Honyak', '', 1, 1, 1, 100, '2000-12-01 00:00:00');
|
||||
INSERT INTO userprefs (uid) VALUES (1);
|
||||
INSERT INTO propuser (uid, ndx, data) VALUES (1, 0, '');
|
||||
INSERT INTO contacts (contactid, given_name, family_name, locality, region, pcode, country, email, owner_uid)
|
||||
VALUES (1, 'Anonymous', 'User', 'Anywhere', '', '', 'US', 'nobody@example.com', 1);
|
||||
|
||||
# Provide the default view for Anonymous Honyak. This view will be copied to all
|
||||
# new users.
|
||||
INSERT INTO sideboxes (uid, boxid, sequence, param)
|
||||
VALUES (1, 1, 100, NULL), (1, 2, 200, NULL), (1, 3, 300, NULL);
|
||||
INSERT INTO confhotlist (uid, sequence, commid, confid)
|
||||
VALUES (1, 100, 2, 2);
|
||||
|
||||
# Add the 'Administrator' user to the users table.
|
||||
# (UID = 2, CONTACTID = 2)
|
||||
INSERT INTO users (uid, username, passhash, contactid, verify_email, base_lvl, created)
|
||||
VALUES (2, 'Administrator', '', 2, 1, 64999, '2000-12-01 00:00:00');
|
||||
INSERT INTO userprefs (uid) VALUES (2);
|
||||
INSERT INTO propuser (uid, ndx, data) VALUES (2, 0, '');
|
||||
INSERT INTO contacts (contactid, given_name, family_name, locality, region, pcode, country, email, owner_uid)
|
||||
VALUES (2, 'System', 'Administrator', 'Anywhere', '', '', 'US', 'root@your.box.com', 2);
|
||||
|
||||
# Create the default view for Administrator.
|
||||
INSERT INTO sideboxes (uid, boxid, sequence, param)
|
||||
VALUES (2, 1, 100, NULL), (2, 2, 200, NULL), (2, 3, 300, NULL);
|
||||
INSERT INTO confhotlist (uid, sequence, commid, confid)
|
||||
VALUES (2, 100, 2, 2);
|
||||
|
||||
# Add the administration community to the communities table.
|
||||
# (COMMID = 1, CONTACTID = 3)
|
||||
INSERT INTO communities (commid, createdate, read_lvl, write_lvl, create_lvl, delete_lvl, join_lvl, contactid,
|
||||
host_uid, catid, hide_dir, hide_search, membersonly, is_admin, init_ftr,
|
||||
commname, language, synopsis, rules, joinkey, alias)
|
||||
VALUES (1, '2000-12-01 00:00:00', 63000, 63000, 63000, 65500, 63000, 3, 2, 15, 1, 1, 1, 1, 0,
|
||||
'Administration', 'en-US', 'Administrative Community', 'Administrators only!', '',
|
||||
'Admin');
|
||||
INSERT INTO contacts (contactid, locality, country, owner_uid, owner_commid)
|
||||
VALUES (3, 'Anywhere', 'US', 2, 1);
|
||||
INSERT INTO propcomm (cid, ndx, data) VALUES (1, 0, '');
|
||||
|
||||
# Insert the desired features for the 'Administration' community.
|
||||
INSERT INTO commftrs (commid, ftr_code)
|
||||
VALUES (1, 0), (1, 1), (1, 2), (1, 3), (1, 4);
|
||||
|
||||
# Make the 'Administrator' user the host of the 'Administration' community. Also, the Administrator
|
||||
# cannot unjoin the community.
|
||||
INSERT INTO commmember (commid, uid, granted_lvl, locked)
|
||||
VALUES (1, 2, 58500, 1);
|
||||
|
||||
# Insert the "Administrative Notes" conference into the Administration community.
|
||||
# (CONFID = 1)
|
||||
INSERT INTO confs (confid, createdate, read_lvl, post_lvl, create_lvl, hide_lvl, nuke_lvl, change_lvl,
|
||||
delete_lvl, top_topic, name, descr)
|
||||
VALUES (1, '2000-12-01 00:00:00', 63000, 63000, 63000, 63000, 64999, 64999, 65500, 0,
|
||||
'Administrative Notes', 'Used to store notes and discussions between the site administrators.');
|
||||
INSERT INTO commtoconf (commid, confid, sequence) VALUES (1, 1, 10);
|
||||
INSERT INTO confalias (confid, alias) VALUES (1, 'Admin_Notes');
|
||||
INSERT INTO propconf (confid, ndx, data) VALUES (1, 0, '');
|
||||
|
||||
# Make the Administrator the host-of-record of the "Administrative Notes" conference.
|
||||
INSERT INTO confmember (confid, uid, granted_lvl) VALUES (1, 2, 52500);
|
||||
|
||||
# Add the 'Coffeehouse' community. This is the equivalent of the old CommunityWare
|
||||
# 'Universal Community.'
|
||||
# (COMMID = 2, CONTACTID = 4)
|
||||
INSERT INTO communities (commid, createdate, read_lvl, write_lvl, create_lvl, delete_lvl, join_lvl, contactid,
|
||||
host_uid, catid, membersonly, init_ftr, commname, language, synopsis, rules, alias)
|
||||
VALUES (2, '2000-12-01 00:00:00', 100, 58000, 58000, 65500, 500, 4, 2, 0, 1, 0, 'Coffeehouse', 'en-US',
|
||||
'A gathering place for news and information for all Amsterdam users.',
|
||||
'Like the man said, do unto others as you would have them do unto you.', 'Coffeehouse');
|
||||
INSERT INTO contacts (contactid, locality, country, owner_uid, owner_commid)
|
||||
VALUES (4, 'Anywhere', 'US', 2, 2);
|
||||
INSERT INTO propcomm (cid, ndx, data) VALUES (2, 0, '');
|
||||
|
||||
# Insert the desired features for Coffeehouse.
|
||||
INSERT INTO commftrs (commid, ftr_code)
|
||||
VALUES (2, 0), (2, 1), (2, 3), (2, 4);
|
||||
|
||||
# Make 'Anonymous Honyak' a member of Coffeehouse. This is important because new users will
|
||||
# have the membership list of Anonymous Honyak copied to their account on signup (but with
|
||||
# the 'member' access level).
|
||||
INSERT INTO commmember (commid, uid, granted_lvl, locked, hidden)
|
||||
VALUES (2, 1, 100, 1, 1);
|
||||
|
||||
# Make the 'Administrator' user the host of Coffeehouse.
|
||||
INSERT INTO commmember (commid, uid, granted_lvl, locked)
|
||||
VALUES (2, 2, 58500, 1);
|
||||
|
||||
# Insert the "General Discussion" conference into Coffeehouse.
|
||||
# (CONFID = 2)
|
||||
INSERT INTO confs (confid, createdate, read_lvl, post_lvl, create_lvl, hide_lvl, nuke_lvl, change_lvl,
|
||||
delete_lvl, top_topic, name, descr)
|
||||
VALUES (2, '2000-12-01 00:00:00', 6500, 6500, 6500, 52500, 52500, 52500, 58000, 0, 'General Discussion',
|
||||
'Your place for general discussion about the system and general topics.');
|
||||
INSERT INTO commtoconf (commid, confid, sequence) VALUES (2, 2, 10);
|
||||
INSERT INTO confalias (confid, alias) VALUES (2, 'General');
|
||||
INSERT INTO propconf (confid, ndx, data) VALUES (2, 0, '');
|
||||
|
||||
# Make the Administrator the host-of-record of the "General Discussion" conference.
|
||||
INSERT INTO confmember (confid, uid, granted_lvl) VALUES (2, 2, 52500);
|
||||
|
||||
# Insert the "Test Postings" conference into Coffeehouse.
|
||||
# (CONFID = 3)
|
||||
INSERT INTO confs (confid, createdate, read_lvl, post_lvl, create_lvl, hide_lvl, nuke_lvl, change_lvl,
|
||||
delete_lvl, top_topic, name, descr)
|
||||
VALUES (3, '2000-12-01 00:00:00', 6500, 6500, 6500, 52500, 52500, 52500, 58000, 0, 'Test Postings',
|
||||
'Use this conference to test the conferencing system.');
|
||||
INSERT INTO commtoconf (commid, confid, sequence) VALUES (2, 3, 20);
|
||||
INSERT INTO confalias (confid, alias) VALUES (3, 'Test');
|
||||
INSERT INTO propconf (confid, ndx, data) VALUES (3, 0, '');
|
||||
|
||||
# Make the Administrator the host-of-record of the "Test Postings" conference.
|
||||
INSERT INTO confmember (confid, uid, granted_lvl) VALUES (3, 2, 52500);
|
||||
Reference in New Issue
Block a user