/** * create tables for files */ public static function setup() { global $context; $fields = array(); $fields['id'] = "MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT"; $fields['active'] = "ENUM('Y','R','N') DEFAULT 'Y' NOT NULL"; $fields['active_set'] = "ENUM('Y','R','N') DEFAULT 'Y' NOT NULL"; $fields['alternate_href'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['anchor'] = "VARCHAR(64) DEFAULT 'section:1' NOT NULL"; $fields['anchor_id'] = "MEDIUMINT UNSIGNED NOT NULL"; $fields['anchor_type'] = "VARCHAR(64) DEFAULT 'section' NOT NULL"; $fields['assign_address'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['assign_date'] = "DATETIME"; $fields['assign_id'] = "MEDIUMINT DEFAULT 0 NOT NULL"; $fields['assign_name'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['behaviors'] = "TEXT NOT NULL"; $fields['create_address'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['create_date'] = "DATETIME"; $fields['create_id'] = "MEDIUMINT DEFAULT 0 NOT NULL"; $fields['create_name'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['description'] = "TEXT NOT NULL"; $fields['edit_action'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['edit_address'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['edit_date'] = "DATETIME"; $fields['edit_id'] = "MEDIUMINT DEFAULT 0 NOT NULL"; $fields['edit_name'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['file_href'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['file_name'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['file_size'] = "INT UNSIGNED DEFAULT 0 NOT NULL"; $fields['hits'] = "INT UNSIGNED DEFAULT 0 NOT NULL"; $fields['icon_url'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['keywords'] = "TEXT NOT NULL"; $fields['overlay'] = "TEXT NOT NULL"; $fields['overlay_id'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['rank'] = "INT UNSIGNED DEFAULT 10000 NOT NULL"; $fields['source'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['thumbnail_url'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['title'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $indexes = array(); $indexes['PRIMARY KEY'] = "(id)"; $indexes['INDEX active'] = "(active)"; $indexes['INDEX anchor'] = "(anchor)"; $indexes['INDEX edit_date'] = "(edit_date)"; $indexes['INDEX file_size'] = "(file_size)"; $indexes['INDEX hits'] = "(hits)"; $indexes['INDEX overlay_id'] = "(overlay_id)"; $indexes['INDEX rank'] = "(rank)"; $indexes['INDEX title'] = "(title(25))"; $indexes['FULLTEXT INDEX'] = "full_text(title, source, keywords)"; return SQL::setup_table('files', $fields, $indexes); }
/** * create tables for comments * * @see control/setup.php */ public static function setup() { global $context; $fields = array(); $fields['id'] = "MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT"; $fields['anchor'] = "VARCHAR(64) DEFAULT 'section:1' NOT NULL"; $fields['anchor_type'] = "VARCHAR(64) DEFAULT 'section' NOT NULL"; $fields['anchor_id'] = "MEDIUMINT UNSIGNED NOT NULL"; $fields['previous_id'] = "MEDIUMINT UNSIGNED DEFAULT 0 "; $fields['type'] = "VARCHAR(64) DEFAULT 'default' NOT NULL"; $fields['description'] = "TEXT NOT NULL"; $fields['create_name'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['create_id'] = "MEDIUMINT DEFAULT 0 NOT NULL"; $fields['create_address'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['create_date'] = "DATETIME"; $fields['edit_name'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['edit_id'] = "MEDIUMINT DEFAULT 0 NOT NULL"; $fields['edit_address'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['edit_action'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['edit_date'] = "DATETIME"; $indexes = array(); $indexes['PRIMARY KEY'] = "(id)"; $indexes['INDEX anchor'] = "(anchor)"; $indexes['INDEX anchor_id'] = "(anchor_id)"; $indexes['INDEX anchor_type'] = "(anchor_type)"; $indexes['INDEX create_date'] = "(create_date)"; $indexes['INDEX create_id'] = "(create_id)"; $indexes['INDEX edit_date'] = "(edit_date)"; $indexes['INDEX edit_id'] = "(edit_id)"; $indexes['INDEX previous_id'] = "(previous_id)"; $indexes['INDEX type'] = "(type)"; $indexes['FULLTEXT INDEX'] = "full_text(description)"; $views = array(); $views[] = "CREATE OR REPLACE VIEW " . SQL::table_name('comments_by_person_per_month') . " AS" . " SELECT" . " SUBSTRING(edit_date, 1, 7) AS month," . " edit_id AS 'id'," . " edit_name AS 'name'," . " COUNT(id) AS 'contributions'" . " FROM " . SQL::table_name('comments') . " GROUP BY month, edit_name" . " ORDER BY month DESC, contributions DESC"; $views[] = "CREATE OR REPLACE VIEW " . SQL::table_name('comments_by_anchor_per_month') . " AS" . " SELECT" . " SUBSTRING(edit_date, 1, 7) AS month," . " anchor," . " COUNT(id) AS 'contributions'" . " FROM " . SQL::table_name('comments') . " GROUP BY month, anchor" . " ORDER BY month DESC, contributions DESC"; return SQL::setup_table('comments', $fields, $indexes, $views); }
/** * create table for values */ public static function setup() { global $context; $fields = array(); $fields['id'] = "VARCHAR(255) DEFAULT '' NOT NULL"; // up to 255 chars $fields['value'] = "MEDIUMTEXT NOT NULL"; // up to 16M chars $fields['edit_date'] = "DATETIME"; $indexes = array(); $indexes['PRIMARY KEY'] = "(id)"; $indexes['INDEX edit_date'] = "(edit_date)"; return SQL::setup_table('values', $fields, $indexes); }
/** * create tables for users * * @see control/setup.php */ public static function setup() { global $context; $fields = array(); $fields['id'] = "MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT"; $fields['active'] = "ENUM('Y','R','N') DEFAULT 'Y' NOT NULL"; $fields['aim_address'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['alternate_number'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['authenticate_date'] = "DATETIME"; $fields['authenticate_failures'] = "SMALLINT UNSIGNED DEFAULT 0 NOT NULL"; $fields['avatar_url'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['birth_date'] = "DATETIME"; $fields['capability'] = "ENUM('A','M','S','?') DEFAULT '?' NOT NULL"; $fields['click_anchor'] = "VARCHAR(64) DEFAULT '' NOT NULL"; $fields['click_date'] = "DATETIME"; $fields['create_name'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['create_id'] = "MEDIUMINT UNSIGNED DEFAULT 1 NOT NULL"; $fields['create_address'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['create_date'] = "DATETIME"; $fields['description'] = "TEXT NOT NULL"; $fields['edit_name'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['edit_id'] = "MEDIUMINT UNSIGNED DEFAULT 1 NOT NULL"; $fields['edit_address'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['edit_action'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['edit_date'] = "DATETIME"; $fields['editor'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['email'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['full_name'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['from_where'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['handle'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['icq_address'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['interface'] = "ENUM('I','C') DEFAULT 'I' NOT NULL"; $fields['introduction'] = "TEXT NOT NULL"; $fields['irc_address'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['jabber_address'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['language'] = "VARCHAR(6) DEFAULT '' NOT NULL"; $fields['login_address'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['login_date'] = "DATETIME"; $fields['msn_address'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['nick_name'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['options'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['overlay'] = "TEXT NOT NULL"; $fields['overlay_id'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['password'] = "******"; $fields['pgp_key'] = "TEXT NOT NULL"; $fields['phone_number'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['post_date'] = "DATETIME"; $fields['posts'] = "INT UNSIGNED DEFAULT 0 NOT NULL"; $fields['signature'] = "TEXT NOT NULL"; $fields['skype_address'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['tags'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['twitter_address'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['vcard_agent'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['vcard_label'] = "TEXT NOT NULL"; $fields['vcard_organization'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['vcard_title'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['web_address'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['with_newsletters'] = "ENUM('Y','N') DEFAULT 'N' NOT NULL"; $fields['without_alerts'] = "ENUM('Y','N') DEFAULT 'N' NOT NULL"; $fields['without_confirmations'] = "ENUM('Y','N') DEFAULT 'N' NOT NULL"; $fields['without_messages'] = "ENUM('Y','N') DEFAULT 'N' NOT NULL"; $fields['yahoo_address'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $indexes = array(); $indexes['PRIMARY KEY'] = "(id)"; $indexes['INDEX birth_date'] = "(birth_date)"; $indexes['INDEX create_date'] = "(create_date)"; $indexes['INDEX create_id'] = "(create_id)"; $indexes['INDEX edit_date'] = "(edit_date)"; $indexes['INDEX edit_id'] = "(edit_id)"; $indexes['INDEX email'] = "(email)"; $indexes['INDEX full_name'] = "(full_name(255))"; $indexes['INDEX handle'] = "(handle)"; $indexes['INDEX login_date'] = "(login_date)"; $indexes['INDEX nick_name'] = "(nick_name)"; $indexes['INDEX overlay_id'] = "(overlay_id)"; $indexes['INDEX post_date'] = "(post_date)"; $indexes['INDEX posts'] = "(posts)"; $indexes['INDEX with_newsletters'] = "(with_newsletters)"; $indexes['FULLTEXT INDEX'] = "full_text(nick_name, full_name, introduction, description)"; return SQL::setup_table('users', $fields, $indexes); }
/** * create tables for profiles * */ public static function setup() { global $context; $fields = array(); $fields['id'] = "MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT"; $fields['url'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['total_hits'] = "INT UNSIGNED DEFAULT 0 NOT NULL"; $fields['total_time'] = "DOUBLE UNSIGNED"; $fields['minimum_time'] = "FLOAT UNSIGNED"; $fields['maximum_time'] = "FLOAT UNSIGNED"; $indexes = array(); $indexes['PRIMARY KEY'] = "(id)"; $indexes['INDEX url'] = "(url)"; $indexes['INDEX hits'] = "(total_hits)"; return SQL::setup_table('profiles', $fields, $indexes); }
/** * create or alter tables for tables */ public static function setup() { global $context; $fields = array(); $fields['id'] = "MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT"; $fields['nick_name'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['anchor'] = "VARCHAR(64) DEFAULT 'section:1' NOT NULL"; $fields['title'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['description'] = "TEXT NOT NULL"; $fields['source'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['query'] = "TEXT NOT NULL"; $fields['with_zoom'] = "ENUM('Y','T','N') DEFAULT 'N' NOT NULL"; $fields['edit_name'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['edit_id'] = "MEDIUMINT DEFAULT 0 NOT NULL"; $fields['edit_address'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['edit_date'] = "DATETIME"; $indexes = array(); $indexes['PRIMARY KEY'] = "(id)"; $indexes['INDEX anchor'] = "(anchor)"; $indexes['INDEX edit_date'] = "(edit_date)"; $indexes['INDEX edit_id'] = "(edit_id)"; $indexes['INDEX nick_name'] = "(nick_name)"; $indexes['INDEX title'] = "(title(255))"; $indexes['FULLTEXT INDEX'] = "full_text(title, source, description)"; $text = SQL::setup_table('tables', $fields, $indexes); return $text; }
/** * create tables for referrals * * @see agents/referrals_hook.php */ public static function setup() { global $context; $fields = array(); $fields['id'] = "MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT"; $fields['url'] = "TEXT NOT NULL"; $fields['referer'] = "TEXT NOT NULL"; $fields['domain'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['keywords'] = "VARCHAR(255) DEFAULT ''"; $fields['hits'] = "INT UNSIGNED DEFAULT 0 NOT NULL"; $fields['stamp'] = "DATETIME"; $indexes = array(); $indexes['PRIMARY KEY'] = "(id)"; $indexes['INDEX url'] = "(url(255))"; $indexes['INDEX referer'] = "(referer(255))"; $indexes['INDEX domain'] = "(domain)"; $indexes['INDEX keywords'] = "(keywords)"; $indexes['INDEX hits'] = "(hits)"; $indexes['INDEX stamp'] = "(stamp)"; return SQL::setup_table('referrals', $fields, $indexes); }
/** * create table for notifications */ public static function setup() { global $context; $fields = array(); $fields['id'] = "MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT"; $fields['recipient'] = "MEDIUMINT NOT NULL"; $fields['edit_date'] = "DATETIME"; $fields['data'] = "TEXT"; $indexes = array(); $indexes['PRIMARY KEY'] = "(id)"; $indexes['INDEX recipient'] = "(recipient)"; $indexes['INDEX edit_date'] = "(edit_date)"; return SQL::setup_table('notifications', $fields, $indexes); }
/** * create tables for members */ public static function setup() { global $context; $fields = array(); $fields['id'] = "MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT"; $fields['anchor'] = "VARCHAR(64) NOT NULL"; $fields['member'] = "VARCHAR(64) NOT NULL"; $fields['member_type'] = "VARCHAR(64) NOT NULL"; $fields['member_id'] = "VARCHAR(64) NOT NULL"; $fields['edit_date'] = "DATETIME"; $indexes = array(); $indexes['PRIMARY KEY'] = "(id)"; $indexes['INDEX anchor'] = "(anchor)"; $indexes['INDEX member'] = "(member)"; $indexes['INDEX member_type'] = "(member_type)"; $indexes['INDEX member_id'] = "(member_id)"; $indexes['INDEX edit_date'] = "(edit_date)"; return SQL::setup_table('members', $fields, $indexes); }
/** * create tables for the cache */ public static function setup() { global $context; $fields = array(); $fields['id'] = "VARCHAR(255) DEFAULT '' NOT NULL"; // up to 255 chars $fields['text'] = "MEDIUMTEXT NOT NULL"; // up to 16M chars $fields['topic'] = "VARCHAR(64) DEFAULT '' NOT NULL"; // up to 64 chars $fields['edit_date'] = "DATETIME"; // modification date $fields['expiry_date'] = "DATETIME"; // expiry date $indexes = array(); $indexes['PRIMARY KEY'] = "(id)"; $indexes['INDEX topic'] = "(topic)"; $indexes['INDEX edit_date'] = "(edit_date)"; $indexes['INDEX expiry_date'] = "(expiry_date)"; return SQL::setup_table('cache', $fields, $indexes); }
/** * create table for visits */ public static function setup() { global $context; $fields = array(); $fields['id'] = "MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT"; $fields['active'] = "ENUM('Y','R','N') DEFAULT 'Y' NOT NULL"; // Yes, Restricted or No $fields['anchor'] = "VARCHAR(64) NOT NULL"; $fields['edit_date'] = "DATETIME"; $fields['user_id'] = "MEDIUMINT UNSIGNED"; $indexes = array(); $indexes['PRIMARY KEY'] = "(id)"; $indexes['INDEX active'] = "(active)"; $indexes['INDEX anchor'] = "(anchor)"; $indexes['INDEX edit_date'] = "(edit_date)"; $indexes['INDEX user_id'] = "(user_id)"; return SQL::setup_table('visits', $fields, $indexes); }
/** * create table for categories */ public static function setup() { global $context; $fields = array(); $fields['id'] = "MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT"; $fields['active'] = "ENUM('Y','R','N') DEFAULT 'Y' NOT NULL"; $fields['active_set'] = "ENUM('Y','R','N') DEFAULT 'Y' NOT NULL"; $fields['anchor'] = "VARCHAR(64)"; $fields['articles_layout'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['background_color'] = "VARCHAR(64) DEFAULT '' NOT NULL"; $fields['categories_count'] = "INT UNSIGNED NOT NULL"; $fields['categories_layout'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['categories_overlay'] = "VARCHAR(64) DEFAULT '' NOT NULL"; $fields['create_address'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['create_date'] = "DATETIME"; $fields['create_id'] = "MEDIUMINT UNSIGNED DEFAULT 1 NOT NULL"; $fields['create_name'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['description'] = "TEXT NOT NULL"; $fields['display'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['edit_action'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['edit_address'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['edit_date'] = "DATETIME"; $fields['edit_id'] = "MEDIUMINT UNSIGNED DEFAULT 1 NOT NULL"; $fields['edit_name'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['expiry_date'] = "DATETIME"; $fields['extra'] = "TEXT NOT NULL"; $fields['hits'] = "INT UNSIGNED DEFAULT 0 NOT NULL"; $fields['icon_url'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['introduction'] = "TEXT NOT NULL"; $fields['keywords'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['nick_name'] = "VARCHAR(64) DEFAULT '' NOT NULL"; $fields['options'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['overlay'] = "TEXT NOT NULL"; $fields['overlay_id'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['owner_id'] = "MEDIUMINT UNSIGNED DEFAULT 0 NOT NULL"; $fields['path'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['prefix'] = "TEXT NOT NULL"; $fields['rank'] = "MEDIUMINT UNSIGNED DEFAULT 10000 NOT NULL"; $fields['sections_layout'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['suffix'] = "TEXT NOT NULL"; $fields['thumbnail_url'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['title'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['trailer'] = "TEXT NOT NULL"; $fields['users_layout'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $indexes = array(); $indexes['PRIMARY KEY id'] = "(id)"; $indexes['INDEX active'] = "(active)"; $indexes['INDEX anchor'] = "(anchor)"; $indexes['INDEX create_date'] = "(create_date)"; $indexes['INDEX create_id'] = "(create_id)"; $indexes['INDEX display'] = "(display)"; $indexes['INDEX edit_date'] = "(edit_date)"; $indexes['INDEX edit_id'] = "(edit_id)"; $indexes['INDEX expiry_date'] = "(expiry_date)"; $indexes['INDEX hits'] = "(hits)"; $indexes['INDEX keywords'] = "(keywords(255))"; $indexes['INDEX nick_name'] = "(nick_name)"; $indexes['INDEX path'] = "(path(255))"; $indexes['INDEX rank'] = "(rank)"; $indexes['INDEX title'] = "(title(255))"; $indexes['FULLTEXT INDEX'] = "full_text(title, introduction, description, keywords)"; return SQL::setup_table('categories', $fields, $indexes); }
/** * create table for js_css * to count js and css files calls over time * * @see control/setup.php */ public static function setup() { $fields = array(); $fields['id'] = "VARCHAR(32) NOT NULL"; $fields['path'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['calls'] = "MEDIUMINT UNSIGNED DEFAULT 1 NOT NULL"; $indexes = array(); $indexes['PRIMARY KEY'] = "(id)"; return SQL::setup_table('js_css_calls', $fields, $indexes); }
/** * create tables for versions */ public static function setup() { global $context; $fields = array(); $fields['id'] = "MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT"; $fields['anchor'] = "VARCHAR(64) NOT NULL"; $fields['content'] = "MEDIUMTEXT NOT NULL"; $fields['edit_address'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['edit_date'] = "DATETIME"; $fields['edit_id'] = "MEDIUMINT DEFAULT 0 NOT NULL"; $fields['edit_name'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $indexes = array(); $indexes['PRIMARY KEY'] = "(id)"; $indexes['INDEX anchor'] = "(anchor)"; $indexes['INDEX edit_date'] = "(edit_date)"; return SQL::setup_table('versions', $fields, $indexes); }
/** * create tables for queued messages */ public static function setup() { global $context; $fields = array(); $fields['id'] = "MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT"; // up to 16m items $fields['edit_date'] = "DATETIME"; $fields['headers'] = "TEXT NOT NULL"; // up to 64k chars $fields['message'] = "MEDIUMTEXT NOT NULL"; // up to 16M chars $fields['recipient'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['subject'] = "VARCHAR(255) DEFAULT '' NOT NULL"; // up to 255 chars $indexes = array(); $indexes['PRIMARY KEY'] = "(id)"; $indexes['INDEX edit_date'] = "(edit_date)"; return SQL::setup_table('messages', $fields, $indexes); }
/** * create or alter tables for locations * * @see control/setup.php */ public static function setup() { global $context; $fields = array(); $fields['id'] = "MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT"; $fields['anchor'] = "VARCHAR(64) DEFAULT 'article:1' NOT NULL"; $fields['geo_place_name'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['geo_position'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['longitude'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['latitude'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['geo_country'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['description'] = "TEXT NOT NULL"; $fields['edit_name'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['edit_id'] = "MEDIUMINT DEFAULT 0 NOT NULL"; $fields['edit_address'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['edit_date'] = "DATETIME"; $indexes = array(); $indexes['PRIMARY KEY'] = "(id)"; $indexes['INDEX anchor'] = "(anchor)"; $indexes['INDEX edit_date'] = "(edit_date)"; $indexes['INDEX edit_id'] = "(edit_id)"; $indexes['INDEX geo_place_name'] = "(geo_place_name)"; $indexes['INDEX latitude'] = "(latitude)"; $indexes['INDEX longitude'] = "(longitude)"; $indexes['FULLTEXT INDEX'] = "full_text(geo_place_name, geo_country, description)"; return SQL::setup_table('locations', $fields, $indexes); }
/** * create or alter tables for images */ public static function setup() { global $context; $fields = array(); $fields['id'] = "MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT"; $fields['anchor'] = "VARCHAR(64) DEFAULT 'section:1' NOT NULL"; $fields['image_name'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['image_size'] = "INT UNSIGNED DEFAULT 0 NOT NULL"; $fields['title'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['description'] = "TEXT NOT NULL"; $fields['source'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['thumbnail_name'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['link_url'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['use_thumbnail'] = "ENUM('A', 'Y','N') DEFAULT 'Y' NOT NULL"; $fields['edit_name'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['edit_id'] = "MEDIUMINT DEFAULT 0 NOT NULL"; $fields['edit_address'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['edit_date'] = "DATETIME"; $indexes = array(); $indexes['PRIMARY KEY'] = "(id)"; $indexes['INDEX anchor'] = "(anchor)"; $indexes['INDEX edit_date'] = "(edit_date)"; $indexes['INDEX edit_id'] = "(edit_id)"; $indexes['INDEX image_size'] = "(image_size)"; $indexes['INDEX title'] = "(title(255))"; $indexes['FULLTEXT INDEX'] = "full_text(title, source, description)"; return SQL::setup_table('images', $fields, $indexes); }
/** * create tables for sections * * @see control/populate.php */ public static function setup() { global $context; $fields = array(); $fields['id'] = "MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT"; $fields['activation_date'] = "DATETIME"; $fields['active'] = "ENUM('Y','R','N') DEFAULT 'Y' NOT NULL"; $fields['active_set'] = "ENUM('Y','R','N') DEFAULT 'Y' NOT NULL"; $fields['anchor'] = "VARCHAR(64)"; $fields['articles_canvas'] = "VARCHAR(255) DEFAULT 'standard' NOT NULL"; $fields['articles_layout'] = "VARCHAR(255) DEFAULT 'decorated' NOT NULL"; $fields['articles_templates'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['behaviors'] = "TEXT NOT NULL"; $fields['content_options'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['content_overlay'] = "VARCHAR(64) DEFAULT '' NOT NULL"; $fields['create_address'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['create_date'] = "DATETIME"; $fields['create_id'] = "MEDIUMINT UNSIGNED DEFAULT 1 NOT NULL"; $fields['create_name'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['description'] = "TEXT NOT NULL"; $fields['edit_action'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['edit_address'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['edit_date'] = "DATETIME"; $fields['edit_id'] = "MEDIUMINT UNSIGNED DEFAULT 1 NOT NULL"; $fields['edit_name'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['expiry_date'] = "DATETIME"; $fields['extra'] = "TEXT NOT NULL"; $fields['family'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['file_overlay'] = "VARCHAR(64) DEFAULT '' NOT NULL"; $fields['handle'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['hits'] = "INT UNSIGNED DEFAULT 0 NOT NULL"; $fields['home_panel'] = "VARCHAR(10) DEFAULT 'main' NOT NULL"; $fields['icon_url'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['index_map'] = "ENUM('Y', 'N') DEFAULT 'Y' NOT NULL"; $fields['index_news'] = "VARCHAR(255) DEFAULT 'static' NOT NULL"; $fields['index_news_count'] = "SMALLINT UNSIGNED DEFAULT 5 NOT NULL"; $fields['index_title'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['introduction'] = "TEXT NOT NULL"; $fields['language'] = "VARCHAR(64) DEFAULT '' NOT NULL"; $fields['locked'] = "ENUM('Y', 'N') DEFAULT 'N' NOT NULL"; $fields['maximum_items'] = "MEDIUMINT UNSIGNED"; $fields['meta'] = "TEXT NOT NULL"; $fields['nick_name'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['options'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['overlay'] = "TEXT NOT NULL"; $fields['overlay_id'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['owner_id'] = "MEDIUMINT UNSIGNED DEFAULT 0 NOT NULL"; $fields['prefix'] = "TEXT NOT NULL"; $fields['rank'] = "MEDIUMINT UNSIGNED DEFAULT 10000 NOT NULL"; $fields['section_overlay'] = "VARCHAR(64) DEFAULT '' NOT NULL"; $fields['sections_layout'] = "VARCHAR(255) DEFAULT 'none' NOT NULL"; $fields['suffix'] = "TEXT NOT NULL"; $fields['tags'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['template'] = "TEXT NOT NULL"; $fields['thumbnail_url'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['title'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['trailer'] = "TEXT NOT NULL"; // up to 64k chars $indexes = array(); $indexes['PRIMARY KEY'] = "(id)"; $indexes['INDEX activation_date'] = "(activation_date)"; $indexes['INDEX active'] = "(active)"; $indexes['INDEX anchor'] = "(anchor)"; $indexes['INDEX create_date'] = "(create_date)"; $indexes['INDEX edit_date'] = "(edit_date)"; $indexes['INDEX expiry_date'] = "(expiry_date)"; $indexes['INDEX handle'] = "(handle)"; $indexes['INDEX hits'] = "(hits)"; $indexes['INDEX home_panel'] = "(home_panel)"; $indexes['INDEX index_map'] = "(index_map)"; $indexes['INDEX language'] = "(language)"; $indexes['INDEX nick_name'] = "(nick_name)"; $indexes['INDEX overlay_id'] = "(overlay_id)"; $indexes['INDEX rank'] = "(rank)"; $indexes['INDEX title'] = "(title(12))"; $indexes['FULLTEXT INDEX'] = "full_text(title, introduction, description)"; return SQL::setup_table('sections', $fields, $indexes); }
/** * create a table for the php documentation */ public static function setup() { global $context; $fields = array(); $fields['name'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['anchor'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['label'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['content'] = "MEDIUMTEXT NOT NULL"; $fields['hits'] = "INT UNSIGNED DEFAULT 0 NOT NULL"; $fields['edit_date'] = "DATETIME"; $indexes = array(); $indexes['PRIMARY KEY'] = "(name)"; $indexes['INDEX anchor'] = "(anchor)"; $indexes['INDEX hits'] = "(hits)"; $indexes['INDEX edit_date'] = "(edit_date)"; $indexes['FULLTEXT INDEX'] = "full_text(name, content)"; return SQL::setup_table('phpdoc', $fields, $indexes); }
/** * create or alter tables for servers * * @see control/setup.php */ public static function setup() { global $context; $fields = array(); $fields['id'] = "MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT"; $fields['title'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['host_name'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['description'] = "TEXT NOT NULL"; $fields['main_url'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['submit_feed'] = "ENUM('Y','N') DEFAULT 'N' NOT NULL"; $fields['feed_url'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['anchor'] = "VARCHAR(64) DEFAULT 'category:1' NOT NULL"; $fields['submit_ping'] = "ENUM('Y','N') DEFAULT 'N' NOT NULL"; $fields['ping_url'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['process_ping'] = "ENUM('Y','N') DEFAULT 'Y' NOT NULL"; $fields['submit_monitor'] = "ENUM('Y','N') DEFAULT 'N' NOT NULL"; $fields['monitor_url'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['process_monitor'] = "ENUM('Y','N') DEFAULT 'Y' NOT NULL"; $fields['submit_search'] = "ENUM('Y','N') DEFAULT 'N' NOT NULL"; $fields['search_url'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['process_search'] = "ENUM('Y','N') DEFAULT 'Y' NOT NULL"; $fields['stamp_date'] = "DATETIME"; $fields['active'] = "ENUM('Y','R','N') DEFAULT 'Y' NOT NULL"; $fields['edit_name'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['edit_id'] = "MEDIUMINT DEFAULT 0 NOT NULL"; $fields['edit_address'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['edit_date'] = "DATETIME"; $indexes = array(); $indexes['PRIMARY KEY'] = "(id)"; $indexes['INDEX active'] = "(active)"; $indexes['INDEX edit_date'] = "(edit_date)"; $indexes['INDEX edit_id'] = "(edit_id)"; $indexes['INDEX host_name'] = "(host_name)"; $indexes['INDEX main_url'] = "(main_url)"; $indexes['INDEX stamp_date'] = "(stamp_date)"; $indexes['INDEX submit_monitor'] = "(submit_monitor)"; $indexes['INDEX submit_ping'] = "(submit_ping)"; $indexes['INDEX submit_search'] = "(submit_search)"; $indexes['INDEX title'] = "(title)"; $indexes['FULLTEXT INDEX'] = "full_text(title, description)"; return SQL::setup_table('servers', $fields, $indexes); }
/** * create tables for issues * * @see control/setup.php */ public static function setup() { global $context; $fields = array(); $fields['id'] = "MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT"; $fields['analysis_name'] = "VARCHAR(128) DEFAULT '' NOT NULL"; // root cause analysis $fields['analysis_id'] = "MEDIUMINT DEFAULT 0 NOT NULL"; $fields['analysis_address'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['analysis_date'] = "DATETIME"; $fields['anchor'] = "VARCHAR(64) DEFAULT 'section:1' NOT NULL"; // up to 64 chars $fields['anchor_url'] = "VARCHAR(255) DEFAULT '' NOT NULL"; // up to 255 chars $fields['close_name'] = "VARCHAR(128) DEFAULT '' NOT NULL"; // end of issue $fields['close_id'] = "MEDIUMINT DEFAULT 0 NOT NULL"; $fields['close_address'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['close_date'] = "DATETIME"; $fields['color'] = "ENUM('green', 'orange', 'red') DEFAULT 'green' NOT NULL"; $fields['create_name'] = "VARCHAR(128) DEFAULT '' NOT NULL"; // lead creation $fields['create_id'] = "MEDIUMINT DEFAULT 0 NOT NULL"; $fields['create_address'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['create_date'] = "DATETIME"; $fields['edit_name'] = "VARCHAR(128) DEFAULT '' NOT NULL"; // item modification $fields['edit_id'] = "MEDIUMINT DEFAULT 0 NOT NULL"; $fields['edit_address'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['edit_action'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['edit_date'] = "DATETIME"; $fields['qualification_name'] = "VARCHAR(128) DEFAULT '' NOT NULL"; // qualification $fields['qualification_id'] = "MEDIUMINT DEFAULT 0 NOT NULL"; $fields['qualification_address'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['qualification_date'] = "DATETIME"; $fields['resolution_name'] = "VARCHAR(128) DEFAULT '' NOT NULL"; // resolution $fields['resolution_id'] = "MEDIUMINT DEFAULT 0 NOT NULL"; $fields['resolution_address'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['resolution_date'] = "DATETIME"; $fields['status'] = "ENUM('on-going:suspect', 'cancelled:suspect',\n\t\t\t'on-going:problem', 'cancelled:problem',\n\t\t\t'on-going:issue', 'cancelled:issue',\n\t\t\t'on-going:solution', 'cancelled:solution', 'completed:solution') DEFAULT 'on-going:suspect' NOT NULL"; $fields['title'] = "VARCHAR(255) DEFAULT '' NOT NULL"; // up to 255 chars $fields['type'] = "ENUM('feature', 'incident', 'maintenance', 'patch') DEFAULT 'incident' NOT NULL"; $indexes = array(); $indexes['PRIMARY KEY'] = "(id)"; $indexes['INDEX analysis_date'] = "(analysis_date)"; $indexes['INDEX anchor'] = "(anchor)"; $indexes['INDEX close_date'] = "(close_date)"; $indexes['INDEX create_date'] = "(create_date)"; $indexes['INDEX create_id'] = "(create_id)"; $indexes['INDEX edit_id'] = "(edit_id)"; $indexes['INDEX edit_date'] = "(edit_date)"; $indexes['INDEX qualification_date'] = "(qualification_date)"; $indexes['INDEX resolution_date'] = "(resolution_date)"; $indexes['INDEX status'] = "(status)"; $indexes['INDEX type'] = "(type)"; return SQL::setup_table('issues', $fields, $indexes); }
/** * create tables for enrolment * * @see control/setup.php */ public static function setup() { global $context; $fields = array(); $fields['id'] = "MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT"; $fields['anchor'] = "VARCHAR(64) DEFAULT '' NOT NULL"; $fields['approved'] = "ENUM('Y', 'N') DEFAULT 'N' NOT NULL"; $fields['edit_date'] = "DATETIME"; $fields['user_email'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['user_id'] = "MEDIUMINT UNSIGNED DEFAULT 0 NOT NULL"; $indexes = array(); $indexes['PRIMARY KEY'] = "(id)"; $indexes['INDEX anchor'] = "(anchor)"; $indexes['INDEX user_email'] = "(user_email)"; $indexes['INDEX user_id'] = "(user_id)"; return SQL::setup_table('enrolments', $fields, $indexes); }
/** * create tables for articles */ public static function setup() { global $context; $fields = array(); $fields['id'] = "MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT"; $fields['active'] = "ENUM('Y','R','N') DEFAULT 'Y' NOT NULL"; $fields['active_set'] = "ENUM('Y','R','N') DEFAULT 'Y' NOT NULL"; $fields['anchor'] = "VARCHAR(64) DEFAULT 'section:1' NOT NULL"; $fields['anchor_type'] = "VARCHAR(64) DEFAULT 'section' NOT NULL"; $fields['anchor_id'] = "MEDIUMINT UNSIGNED NOT NULL"; $fields['assign_address'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['assign_date'] = "DATETIME"; $fields['assign_id'] = "MEDIUMINT DEFAULT 0 NOT NULL"; $fields['assign_name'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['behaviors'] = "TEXT NOT NULL"; $fields['canvas'] = "VARCHAR(255) DEFAULT 'standard' NOT NULL"; $fields['create_address'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['create_date'] = "DATETIME"; $fields['create_id'] = "MEDIUMINT DEFAULT 0 NOT NULL"; $fields['create_name'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['description'] = "MEDIUMTEXT NOT NULL"; $fields['edit_action'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['edit_address'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['edit_date'] = "DATETIME"; $fields['edit_id'] = "MEDIUMINT DEFAULT 0 NOT NULL"; $fields['edit_name'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['expiry_date'] = "DATETIME"; $fields['extra'] = "TEXT NOT NULL"; $fields['file_overlay'] = "VARCHAR(64) DEFAULT '' NOT NULL"; $fields['handle'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['hits'] = "INT UNSIGNED DEFAULT 0 NOT NULL"; $fields['icon_url'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['introduction'] = "TEXT NOT NULL"; $fields['language'] = "VARCHAR(64) DEFAULT '' NOT NULL"; $fields['locked'] = "ENUM('Y', 'N') DEFAULT 'N' NOT NULL"; $fields['meta'] = "TEXT NOT NULL"; $fields['nick_name'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['options'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['overlay'] = "TEXT NOT NULL"; $fields['overlay_id'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['owner_id'] = "MEDIUMINT UNSIGNED DEFAULT 0 NOT NULL"; $fields['prefix'] = "TEXT NOT NULL"; $fields['publish_address'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['publish_date'] = "DATETIME"; $fields['publish_id'] = "MEDIUMINT DEFAULT 0 NOT NULL"; $fields['publish_name'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['rank'] = "INT UNSIGNED DEFAULT 10000 NOT NULL"; $fields['rating_count'] = "INT UNSIGNED DEFAULT 0 NOT NULL"; $fields['rating_sum'] = "INT UNSIGNED DEFAULT 0 NOT NULL"; $fields['review_date'] = "DATETIME"; $fields['source'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['suffix'] = "TEXT NOT NULL"; $fields['tags'] = "TEXT DEFAULT '' NOT NULL"; $fields['thumbnail_url'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['title'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['trailer'] = "TEXT NOT NULL"; $indexes = array(); $indexes['PRIMARY KEY'] = "(id)"; $indexes['INDEX active'] = "(active)"; $indexes['INDEX anchor'] = "(anchor)"; $indexes['INDEX anchor_id'] = "(anchor_id)"; $indexes['INDEX anchor_type'] = "(anchor_type)"; $indexes['INDEX create_date'] = "(create_date)"; $indexes['INDEX create_id'] = "(create_id)"; $indexes['INDEX edit_date'] = "(edit_date)"; $indexes['INDEX edit_id'] = "(edit_id)"; $indexes['INDEX expiry_date'] = "(expiry_date)"; $indexes['INDEX handle'] = "(handle)"; $indexes['INDEX hits'] = "(hits)"; $indexes['INDEX language'] = "(language)"; $indexes['INDEX locked'] = "(locked)"; $indexes['INDEX nick_name'] = "(nick_name)"; $indexes['INDEX overlay_id'] = "(overlay_id)"; $indexes['INDEX publish_date'] = "(publish_date)"; $indexes['INDEX publish_id'] = "(publish_id)"; $indexes['INDEX rank'] = "(rank)"; $indexes['INDEX rating_sum'] = "(rating_sum)"; $indexes['INDEX review_date'] = "(review_date)"; $indexes['INDEX title'] = "(title(255))"; $indexes['FULLTEXT INDEX'] = "full_text(title, source, introduction, overlay, description)"; return SQL::setup_table('articles', $fields, $indexes); }
/** * create tables for links * * @see control/setup.php */ public static function setup() { global $context; $fields = array(); $fields['id'] = "MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT"; $fields['anchor'] = "VARCHAR(64) DEFAULT 'section:1' NOT NULL"; $fields['anchor_id'] = "MEDIUMINT UNSIGNED NOT NULL"; $fields['anchor_type'] = "VARCHAR(64) DEFAULT 'section' NOT NULL"; $fields['link_url'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['link_target'] = "ENUM('I','B') DEFAULT 'I' NOT NULL"; $fields['link_title'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['title'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['description'] = "TEXT NOT NULL"; $fields['keywords'] = "VARCHAR(255) DEFAULT '' NOT NULL"; $fields['hits'] = "INT UNSIGNED DEFAULT 0 NOT NULL"; $fields['edit_name'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['edit_id'] = "MEDIUMINT DEFAULT 0 NOT NULL"; $fields['edit_address'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['edit_action'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $fields['edit_date'] = "DATETIME"; $indexes = array(); $indexes['PRIMARY KEY'] = "(id)"; $indexes['INDEX anchor'] = "(anchor)"; $indexes['INDEX anchor_id'] = "(anchor_id)"; $indexes['INDEX anchor_type'] = "(anchor_type)"; $indexes['INDEX edit_date'] = "(edit_date)"; $indexes['INDEX edit_id'] = "(edit_id)"; $indexes['INDEX hits'] = "(hits)"; $indexes['INDEX link_url'] = "(link_url)"; $indexes['INDEX title'] = "(title(255))"; $indexes['FULLTEXT INDEX'] = "full_text(title, link_url, description)"; return SQL::setup_table('links', $fields, $indexes); }
/** * create table for activities */ public static function setup() { global $context; $fields = array(); $fields['id'] = "MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT"; $fields['action'] = "VARCHAR(64) DEFAULT 'view' NOT NULL"; $fields['anchor'] = "VARCHAR(255) DEFAULT '' NOT NULL"; // can also be a web URL $fields['count'] = "MEDIUMINT UNSIGNED DEFAULT 1 NOT NULL"; $fields['edit_date'] = "DATETIME"; $fields['edit_id'] = "MEDIUMINT UNSIGNED DEFAULT 1 NOT NULL"; $fields['edit_name'] = "VARCHAR(128) DEFAULT '' NOT NULL"; $indexes = array(); $indexes['PRIMARY KEY'] = "(id)"; $indexes['INDEX action'] = "(action)"; $indexes['INDEX anchor'] = "(anchor)"; $indexes['INDEX edit_date'] = "(edit_date)"; $indexes['INDEX edit_id'] = "(edit_id)"; $views = array(); $views[] = "CREATE OR REPLACE VIEW " . SQL::table_name('activities_by_user_per_month') . " AS" . " SELECT" . " SUBSTRING(edit_date, 1, 7) AS month," . " edit_id AS 'id'," . " edit_name AS 'name'," . " SUM(count) AS 'activities'" . " FROM " . SQL::table_name('activities') . " GROUP BY month, edit_name" . " ORDER BY month DESC, activities DESC"; $views[] = "CREATE OR REPLACE VIEW " . SQL::table_name('activities_by_anchor_per_month') . " AS" . " SELECT" . " SUBSTRING(edit_date, 1, 7) AS month," . " anchor," . " SUM(count) AS 'activities'" . " FROM " . SQL::table_name('activities') . " GROUP BY month, anchor" . " ORDER BY month DESC, activities DESC"; return SQL::setup_table('activities', $fields, $indexes, $views); }