}
// Adds a CREATE TABLE statement if the requested table is not there
-function addCreateTableSql ($tableName, $sql) {
+function addCreateTableSql ($tableName, $sql, $comment) {
// Is the table not there?
if (!isSqlTableCreated($tableName)) {
// Is not found, so add it
- addExtensionSql('CREATE TABLE `{?_MYSQL_PREFIX?}_' . $tableName . '` ' . $sql);
+ addExtensionSql('CREATE TABLE
+ `{?_MYSQL_PREFIX?}_' . $tableName . '` (' . $sql . ')
+ENGINE = {?_TABLE_TYPE?}
+CHARACTER SET utf8
+COLLATE utf8_general_ci
+COMMENT ' . "'" . $comment . "'");
} else {
// Is already there, which should not happen
debug_report_bug(__FUNCTION__, __LINE__, 'The table ' . $tableName . ' is already created which should not happen.');
// But allow current admin everything (THIS SHALL BE YOU!)
addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admins` SET `default_acl`='allow' WHERE `id`=".bigintval(getCurrentAdminId())." LIMIT 1");
addDropTableSql('admins_acls');
- addCreateTableSql('admins_acls', "(
+ addCreateTableSql('admins_acls', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`admin_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`action_menu` VARCHAR(255) NOT NULL DEFAULT '',
`what_menu` VARCHAR(255) NOT NULL DEFAULT '',
`access_mode` ENUM('deny','allow') NOT NULL DEFAULT 'deny',
-KEY (`admin_id`),
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Access control lines (ACLs)'");
+PRIMARY KEY (`id`),
+KEY (`admin_id`)",
+ 'Access control lines (ACLs)');
// Update notes (these will be set as task text!)
setExtensionUpdateNotes("Sogn. ACLs werden hinzugefügt: <strong>A</strong>ccess <strong>C</strong>ontrol <strong>L</strong>ines sind zu deutsch Zugriffkontrollzeilen, mit denen Sie einstellen können, was welcher Admin machen darf oder nicht. <strong>Nur Sie haben momentan Vollzugriff auf den Adminbereich.</strong>");
case '0.4.0': // SQL queries for v0.4.0
addDropTableSql('admins_mails');
- addCreateTableSql('admins_mails', "(
+ addCreateTableSql('admins_mails', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`admin_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`mail_template` VARCHAR(255) NOT NULL,
-KEY (`admin_id`),
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Mail template -> admin connection table'");
+PRIMARY KEY (`id`),
+INDEX (`admin_id`)",
+ 'Mail template -> admin connection table');
addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('admins','admins_mails','Admin-Mails','Stellen Sie hier ein, welcher Admin welche Mail erhalten soll. Sie können dies (derzeit) jedoch erst, wenn einmal die Mail versendet wurde!',5)");
// Update notes (these will be set as task text!)
case 'register': // Do stuff when installation is running
// SQL commands to run
addDropTableSql('bank_accounts');
- addCreateTableSql('bank_accounts', "(
+ addCreateTableSql('bank_accounts', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`account_created` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
INDEX `userid_type` (`userid`, `account_type`),
INDEX (`account_created`),
INDEX (`account_locked`),
-INDEX (`last_tan_stamp`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'User bank accounts data'");
+INDEX (`last_tan_stamp`)",
+ 'User bank accounts data');
+
addDropTableSql('bank_transfers');
- addCreateTableSql('bank_transfers', "(
+ addCreateTableSql('bank_transfers', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`to_account_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`from_account_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`transfer_purpose` TINYTEXT,
PRIMARY KEY (`id`),
INDEX (`to_account_id`, `from_account_id`),
-INDEX (`day_bookkeeping`, `day_available`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Bank user->user transfers'");
+INDEX (`day_bookkeeping`, `day_available`)",
+ 'Bank user->user transfers');
+
addDropTableSql('bank_packages');
- addCreateTableSql('bank_packages', "(
+ addCreateTableSql('bank_packages', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`title` VARCHAR(255) NOT NULL DEFAULT '',
`description` TINYTEXT,
`free_account_income` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000,
`free_account_stuff` TINYTEXT null,
`tan_lock` TINYINT(3) UNSIGNED NOT NULL DEFAULT 0,
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Bank account packages'");
+PRIMARY KEY (`id`)",
+ 'Bank account packages');
+
// Free_account_stuff will be a list of columns of the table _bank_packages
// what the member shall get for the specified income. output_system_mode
// must be extended with the mode you get for free: output_system_mode:LOGIN
// should be fine. More than one entry and not DISABLED ;) are not supported.
addDropTableSql('bank_tanlist');
- addCreateTableSql('bank_tanlist', "(
+ addCreateTableSql('bank_tanlist', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`idx` TINYINT(3) UNSIGNED NOT NULL DEFAULT 0,
`account_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`tan` VARCHAR(50) NOT NULL DEFAULT '',
`used` ENUM('Y','N') NOT NULL DEFAULT 'N',
PRIMARY KEY (`id`),
-UNIQUE (`account_id`, `tan`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Bank TAN lists per user'");
+UNIQUE (`account_id`, `tan`)",
+ 'Bank TAN lists per user');
// Admin menu queries
addAdminMenuSql('bank', NULL, 'Bank-Accounts', 'Verwalten Sie hier alle Bank-Accounts Ihrer Mitglieder, sowie Angebotspakete und Überweisungen.', 6);
// Table for IP locks
addDropTableSql('beg_ips');
- addCreateTableSql('beg_ips', "(
+ addCreateTableSql('beg_ips', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`remote_ip` VARCHAR(15) NOT NULL DEFAULT '0.0.0.0',
`timeout` VARCHAR(10) NOT NULL DEFAULT '',
`sid` VARCHAR(255) NOT NULL DEFAULT '',
-KEY (`userid`),
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'IP lock data for beg links'");
+PRIMARY KEY (`id`),
+INDEX (`userid`)",
+ 'IP lock data for beg links');
break;
case 'remove': // Do stuff when removing extension
case '0.2.9': // SQL queries for v0.2.9
addDropTableSql('beg_referals');
- addCreateTableSql('beg_referals', "(
-`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
-`userid` BIGINT(20) UNSIGNED NULL DEFAULT NULL ,
+ addCreateTableSql('beg_referals', "
+`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+`userid` BIGINT(20) UNSIGNED NULL DEFAULT NULL,
`remote_ip` VARCHAR(15) NOT NULL DEFAULT '0.0.0.0',
-`timestamp` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
-`referal_url` TINYTEXT NOT NULL ,
-INDEX (`userid`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Recorded Referal URLs'");
+`timestamp` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+`referal_url` TINYTEXT NOT NULL,
+PRIMARY KEY (`id),
+INDEX (`userid`)",
+ 'Recorded Referal URLs');
// Add admin menu
addAdminMenuSql('user','list_beg_referal_urls','Bettel-Referals auflisten','Listet alle Bettellink-Aufrufe inklusive Referal-URL auf.','13');
case '0.2.0': // SQL queries for v0.2
addConfigAddSql('birthday_points', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 0');
addDropTableSql('user_birthday');
- addCreateTableSql('user_birthday', "(
+ addCreateTableSql('user_birthday', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`points` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`chk_value` VARCHAR(255) NOT NULL DEFAULT '',
-KEY (`userid`),
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Pending birthday codes'");
+PRIMARY KEY (`id`),
+KEY (`userid`)",
+ 'Pending birthday codes');
+
+ // Admin menu
addAdminMenuSql('setup','config_birthday','Geburtstagsmails','Stellen Sie hier ein, ob die Mitglieder {OPEN_CONFIG}POINTS{CLOSE_CONFIG} (nicht automatisch) gutgeschrieben kommen sollen oder nicht.', 9);
// Update notes (these will be set as task text!)
addAdminMenuSql('email', 'send_bonus', 'Bonusmail senden', 'Versenden Sie hier Bonus-Mails an alle Mitglieder oder nur an alle aus einer Kategorie. Es spielt keine Rolle, wie viele Mails bereits versendet worden, Sie können hier immer senden.', 5);
addMemberMenuSql('main', 'bonus', 'Bonuspunkte', 7);
addDropTableSql('bonus');
- addCreateTableSql('bonus', "(
+ addCreateTableSql('bonus', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`cat_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`subject` VARCHAR(255) NOT NULL DEFAULT '',
`target_send` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`clicks` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`mails_sent` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-KEY (`cat_id`),
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Bonus mails'");
+PRIMARY KEY (`id`),
+INDEX (`cat_id`)",
+ 'Bonus mails');
+
addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_links` CHANGE `link_type` `link_type` ENUM('NORMAL','BONUS') NOT NULL DEFAULT 'NORMAL'");
addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_links` ADD `bonus_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0");
addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_links` ADD INDEX (`bonus_id`)");
-
- // Run this SQL when html_mail extension is installed
- if (isExtensionActive('html_mail')) {
- addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_bonus` ADD `html_msg` ENUM('Y','N') NOT NULL DEFAULT 'N'");
- } // END - if
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_bonus` ADD `html_msg` ENUM('Y','N') NOT NULL DEFAULT 'N'");
break;
case 'remove': // Do stuff when removing extension
case '0.2.2': // SQL queries for v0.2.2
addDropTableSql('bonus_turbo');
- addCreateTableSql('bonus_turbo', "(
+ addCreateTableSql('bonus_turbo', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`mail_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
PRIMARY KEY (`id`),
INDEX `mail_id` (`mail_id`),
INDEX `bonus_id` (`bonus_id`),
-INDEX `userid` (`userid`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Fastest click rallye table'");
+INDEX `userid` (`userid`)",
+ 'Fastest click rallye table');
// Update notes (these will be set as task text!)
setExtensionUpdateNotes("Turbo-Bonus wird in Tabelle gezählt für Anzeige, wer alles bereits geklickt hat und welchen Platz er gemacht hat.");
break;
case '0.9.4': // SQL queries for v0.9.4
- addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_links` CHANGE `bonus_id` `bonus_id` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL');
+ addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_links` CHANGE `bonus_id` `bonus_id` BIGINT(20) UNSIGNED NULL DEFAULT NULL');
addExtensionSql('UPDATE `{?_MYSQL_PREFIX?}_user_links` SET `bonus_id`=NULL WHERE `bonus_id`=0');
// Update notes
// Drop/create table for user bookings
addDropTableSql('user_booking');
- addCreateTableSql('user_booking', "(
+ addCreateTableSql('user_booking', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`subject` VARCHAR(255) NOT NULL DEFAULT 'missing',
`points` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.0000,
`comments` TINYTEXT NULL DEFAULT NULL,
`recorded` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
-INDEX (`userid`),
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Member points booking table'");
+PRIMARY KEY (`id`),
+INDEX (`userid`)",
+ 'Member points booking table');
// Admin menu
addAdminMenuSql('setup','config_booking','Kontoauszug','Einstellungen am Kontoauszug für Mitglieder vornehmen.', 14);
case 'register': // Do stuff when installation is running
// SQL commands to run
addDropTableSql('countries');
- addCreateTableSql('countries', "(
+ addCreateTableSql('countries', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`code` CHAR(2) NOT NULL DEFAULT 'DE',
`descr` VARCHAR(255) NOT NULL DEFAULT 'Deutschland',
`is_active` ENUM('Y','N') NOT NULL DEFAULT 'N',
-KEY (`code`),
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Country codes and their full-length descriptions'");
+PRIMARY KEY (`id`),
+UNIQUE KEY (`code`)",
+ 'Country codes and their full-length descriptions');
+
+ // Insert first (Germany) country
addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_countries` (code, descr, is_active) VALUES ('DE','Deutschland','Y')");
// Admin menu
// Coupon data
addDropTableSql('coupon_data');
- addCreateTableSql('coupon_data', "(
+ addCreateTableSql('coupon_data', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`coupon_created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`coupon_expired` TIMESTAMP NULL DEFAULT NULL,
`total_cashed` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`points` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000,
`coupon_description` TEXT,
-PRIMARY KEY (`id`)
-) TYPE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Created coupons'");
+PRIMARY KEY (`id`)",
+ 'Created coupons');
// Coupon->user connection table
addDropTableSql('user_coupons');
- addCreateTableSql('user_coupons', "(
+ addCreateTableSql('user_coupons', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`coupon_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`userid` BIGINT(2) UNSIGNED NOT NULL DEFAULT 0,
`cashed_on` TIMESTAMP NULL DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `coupon_user` (`coupon_id`,`userid`),
-UNIQUE KEY (`coupon_code`)
-) TYPE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Coupon->user connection'");
+UNIQUE KEY (`coupon_code`)",
+ 'Coupon->user connection');
// Configuration entries
addConfigAddSql('coupon_default_time', 'BIGINT(20) NOT NULL DEFAULT ' . (getOneDay() * 7));
case 'register': // Do stuff when installation is running
// Table for debug log entries
addDropTableSql('debug_log');
- addCreateTableSql('debug_log', "(
+ addCreateTableSql('debug_log', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`sender_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`timestamp` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00',
`comment` TINYTEXT,
`status` ENUM('NEW','PENDING','ACCEPTED','FIXED','INVALID','DUBLICATE','SPAM') NOT NULL DEFAULT 'NEW',
`inserted` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
-INDEX (`sender_id`),
-PRIMARY KEY (`id`)
-) TYPE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Debug log data'");
+PRIMARY KEY (`id`),
+INDEX (`sender_id`)",
+ 'Debug log data');
// Table against debug log abuse
addDropTableSql('debug_log_abuse');
- addCreateTableSql('debug_log_abuse', "(
+ addCreateTableSql('debug_log_abuse', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`client_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`timestamp` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00',
`raw_data` LONGTEXT,
`inserted` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
-INDEX (`client_id`),
-PRIMARY KEY (`id`)
-) TYPE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Debug log abuse'");
+PRIMARY KEY (`id`),
+INDEX (`client_id`)",
+ 'Debug log abuse');
// Table on relay/server for client exchanges
addDropTableSql('debug_client');
- addCreateTableSql('debug_client', "(
+ addCreateTableSql('debug_client', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`key` VARCHAR(255) NOT NULL DEFAULT 'SELF',
`url` VARCHAR(255) NOT NULL DEFAULT '',
`type` ENUM ('CLIENT','RELAY','SERVER') NOT NULL DEFAULT 'CLIENT',
`inserted` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`lock_spam_reason` TINYTEXT,
+PRIMARY KEY (`id`),
UNIQUE (`key`),
-UNIQUE (`url`),
-PRIMARY KEY (`id`)
-) TYPE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Debug clients'");
+UNIQUE (`url`)",
+ 'Debug clients');
// Add this exchange as first client
addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_debug_client` (`url`,`title`,`webmaster`,`status`) VALUES ('{?URL?}','{?MAIN_TITLE?}','{?WEBMASTER?}','ACTIVE')");
// Table for debug log <-> client connection
addDropTableSql('debug_client_log');
- addCreateTableSql('debug_client_log', "(
+ addCreateTableSql('debug_client_log', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
-`client_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 1,
+`client_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`log_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-INDEX `client_log` (`client_id`,`log_id`),
+PRIMARY KEY (`id`),
UNIQUE (`log_id`),
-PRIMARY KEY (`id`)
-) TYPE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Debug client <-> log connection'");
+INDEX `client_log` (`client_id`,`log_id`)",
+ 'Debug client <-> log connection');
// Guest menus
addGuestMenuSql('debug', NULL, 'Debug-System', 2);
case 'register': // Do stuff when installation is running
// Doubler table
addDropTableSql('doubler');
- addCreateTableSql('doubler', "(
+ addCreateTableSql('doubler', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`refid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`timemark` BIGINT(10) NOT NULL DEFAULT 0,
`completed` ENUM('Y','N') NOT NULL DEFAULT 'N',
`is_ref` ENUM('Y','N') NOT NULL DEFAULT 'N',
-KEY (`refid`),
-KEY (`userid`),
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'User doubler data'");
+PRIMARY KEY (`id`),
+INDEX (`refid`),
+INDEX (`userid`)",
+ 'User doubler data');
//
// --- SETTINGS ---
// All required tables for this extension:
// - Ads
addDropTableSql('forced_ads');
- addCreateTableSql('forced_ads', "(
-`forced_ads_id` BIGINT( 20 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
-`forced_ads_ad_url` VARCHAR( 255 ) NULL DEFAULT NULL ,
-`forced_ads_click_url` VARCHAR( 255 ) NOT NULL ,
-`forced_ads_width` SMALLINT( 3 ) UNSIGNED NULL DEFAULT NULL ,
-`forced_ads_height` SMALLINT( 3 ) UNSIGNED NULL DEFAULT NULL ,
-`forced_ads_alt_text` VARCHAR( 255 ) NULL DEFAULT NULL ,
-`forced_ads_framebreaker` ENUM( 'Y', 'N' ) NOT NULL DEFAULT 'Y',
-`forced_ads_views_counter` BIGINT( 20 ) UNSIGNED NOT NULL DEFAULT 0,
-`forced_ads_clicks_counter` BIGINT( 20 ) UNSIGNED NOT NULL DEFAULT 0,
-`forced_ads_reload_lock` BIGINT( 20 ) UNSIGNED NOT NULL DEFAULT 0,
-`forced_ads_min_stay` BIGINT( 20 ) UNSIGNED NOT NULL DEFAULT 0,
-PRIMARY KEY ( `forced_ads_id` )
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Forced Ads Data'");
+ addCreateTableSql('forced_ads', "
+`forced_ads_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+`forced_ads_ad_url` VARCHAR(255) NULL DEFAULT NULL,
+`forced_ads_click_url` VARCHAR(255) NOT NULL,
+`forced_ads_width` SMALLINT(3) UNSIGNED NULL DEFAULT NULL,
+`forced_ads_height` SMALLINT(3) UNSIGNED NULL DEFAULT NULL,
+`forced_ads_alt_text` VARCHAR(255) NULL DEFAULT NULL,
+`forced_ads_framebreaker` ENUM('Y','N') NOT NULL DEFAULT 'Y',
+`forced_ads_views_counter` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`forced_ads_clicks_counter` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`forced_ads_reload_lock` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`forced_ads_min_stay` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+PRIMARY KEY ( `forced_ads_id` )",
+ 'Forced Ads Data');
// - Campaigns
addDropTableSql('forced_campaigns');
addCreateTableSql('forced_campaigns', "(
-`forced_campaign_id` BIGINT( 20 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
-`forced_campaign_created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
-`forced_campaign_status` ENUM( 'ACTIVE', 'PENDING', 'EXPIRED', 'LOCKED' ) NOT NULL DEFAULT 'PENDING',
-`forced_campaign_lock_reason` VARCHAR( 255 ) NULL DEFAULT NULL ,
-`forced_campaign_lock_timetstamp` TIMESTAMP NULL DEFAULT NULL ,
-`forced_campaign_expired` TIMESTAMP NULL DEFAULT NULL ,
-`forced_campaign_ordered_clicks` BIGINT( 20 ) UNSIGNED NOT NULL DEFAULT 0,
-`forced_campaign_costs_api` FLOAT( 20 , 5 ) UNSIGNED NULL DEFAULT NULL,
-`forced_campaign_price_api` FLOAT( 20 , 5 ) UNSIGNED NULL DEFAULT NULL,
-`forced_costs_id` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL,
-INDEX ( `forced_costs_id` ) ,
-PRIMARY KEY ( `forced_campaign_id` )
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Forced Campaign Data'");
+`forced_campaign_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+`forced_campaign_created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+`forced_campaign_status` ENUM('ACTIVE','PENDING','EXPIRED','LOCKED') NOT NULL DEFAULT 'PENDING',
+`forced_campaign_lock_reason` VARCHAR(255) NULL DEFAULT NULL,
+`forced_campaign_lock_timetstamp` TIMESTAMP NULL DEFAULT NULL,
+`forced_campaign_expired` TIMESTAMP NULL DEFAULT NULL,
+`forced_campaign_ordered_clicks` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`forced_campaign_costs_api` FLOAT(20,5) UNSIGNED NULL DEFAULT NULL,
+`forced_campaign_price_api` FLOAT(20,5) UNSIGNED NULL DEFAULT NULL,
+`forced_costs_id` BIGINT(20) UNSIGNED NULL DEFAULT NULL,
+PRIMARY KEY (`forced_campaign_id`),
+INDEX (`forced_costs_id`)",
+ 'Forced Campaign Data');
// - Campaigns <-> Ads
addDropTableSql('forced_campaigns_ads');
addCreateTableSql('forced_campaigns_ads', "(
-`forced_campaign_ads_id` BIGINT( 20 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
-`forced_campaign_id` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL ,
-`forced_ads_id` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL ,
-UNIQUE `ads_campaign` ( `forced_campaign_id` , `forced_ads_id` ) ,
-PRIMARY KEY ( `forced_campaign_ads_id` )
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Forced Campaigns<->Ads'");
+`forced_campaign_ads_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+`forced_campaign_id` BIGINT(20) UNSIGNED NULL DEFAULT NULL,
+`forced_ads_id` BIGINT(20) UNSIGNED NULL DEFAULT NULL,
+PRIMARY KEY (`forced_campaign_ads_id`),
+UNIQUE `ads_campaign` ( `forced_campaign_id`, `forced_ads_id` )",
+ 'Forced Campaigns<->Ads');
// - Campaigns <-> User
addDropTableSql('forced_campaigns_user');
- addCreateTableSql('forced_campaigns_user', "(
-`forced_id` BIGINT( 20 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
-`forced_campaign_id` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL ,
-`forced_user_id` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL ,
-`forced_user_type` ENUM( 'MEMBER', 'SPONSOR', 'ADMIN', 'API' ) NULL DEFAULT NULL ,
-UNIQUE `forced_campaign_user` ( `forced_campaign_id` , `forced_user_id` , `forced_user_type` ) ,
-INDEX ( `forced_user_id` ) ,
-PRIMARY KEY ( `forced_id` )
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Forced Campaigns<->User'");
+ addCreateTableSql('forced_campaigns_user', "
+`forced_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+`forced_campaign_id` BIGINT(20) UNSIGNED NULL DEFAULT NULL,
+`forced_user_id` BIGINT(20) UNSIGNED NULL DEFAULT NULL,
+`forced_user_type` ENUM('MEMBER','SPONSOR','ADMIN','API') NULL DEFAULT NULL,
+PRIMARY KEY ( `forced_id` ),
+UNIQUE `forced_campaign_user` ( `forced_campaign_id`, `forced_user_id`, `forced_user_type` ),
+INDEX ( `forced_user_id` )",
+ 'Forced Campaigns<->User');
// - Campaign costs
addDropTableSql('forced_costs');
- addCreateTableSql('forced_costs', "(
-`forced_costs_id` BIGINT( 20 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
-`forced_costs_price_click` FLOAT( 20, 5 ) UNSIGNED NULL DEFAULT NULL ,
-`forced_costs_payment_click` FLOAT( 20, 5 ) UNSIGNED NULL DEFAULT NULL ,
-`forced_costs_visibility` ENUM( 'MEMBER', 'SPONSOR', 'ALL', 'NONE' ) NOT NULL DEFAULT 'NONE',
-PRIMARY KEY ( `forced_costs_id` )
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Forced Campaign Costs'");
+ addCreateTableSql('forced_costs', "
+`forced_costs_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+`forced_costs_price_click` FLOAT(20,5) UNSIGNED NULL DEFAULT NULL,
+`forced_costs_payment_click` FLOAT(20,5) UNSIGNED NULL DEFAULT NULL,
+`forced_costs_visibility` ENUM('MEMBER','SPONSOR','ALL','NONE') NOT NULL DEFAULT 'NONE',
+PRIMARY KEY ( `forced_costs_id` )",
+ 'Forced Campaign Costs');
// - Campaign Statistics
addDropTableSql('forced_stats');
- addCreateTableSql('forced_stats', "(
-`forced_stats_id` BIGINT( 20 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
-`forced_stats_campaign_id` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL ,
-`forced_stats_user_id` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL ,
-`forced_stats_viewed` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
-`forced_stats_clicked` TIMESTAMP NULL DEFAULT NULL ,
-`forced_stats_real_ip` VARCHAR( 15 ) NOT NULL DEFAULT '0.0.0.0' ,
-`forced_stats_remote_addr` VARCHAR( 15 ) NOT NULL DEFAULT '0.0.0.0' ,
-`forced_stats_ua` VARCHAR( 255 ) NULL DEFAULT NULL ,
-`forced_stats_is_proxy` ENUM( 'Y', 'N' ) NOT NULL DEFAULT 'N' ,
-`forced_stats_session_id` VARCHAR( 100 ) NULL DEFAULT NULL ,
-INDEX ( `forced_stats_campaign_id` ) ,
-INDEX ( `forced_stats_user_id` ) ,
-PRIMARY KEY ( `forced_stats_id` )
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Forced Campaign Statistics'");
+ addCreateTableSql('forced_stats', "
+`forced_stats_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
+`forced_stats_campaign_id` BIGINT(20) UNSIGNED NULL DEFAULT NULL,
+`forced_stats_user_id` BIGINT(20) UNSIGNED NULL DEFAULT NULL,
+`forced_stats_viewed` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+`forced_stats_clicked` TIMESTAMP NULL DEFAULT NULL,
+`forced_stats_real_ip` VARCHAR(15) NOT NULL DEFAULT '0.0.0.0',
+`forced_stats_remote_addr` VARCHAR(15) NOT NULL DEFAULT '0.0.0.0',
+`forced_stats_ua` VARCHAR(255) NULL DEFAULT NULL,
+`forced_stats_is_proxy` ENUM('Y','N') NOT NULL DEFAULT 'N',
+`forced_stats_session_id` VARCHAR(100) NULL DEFAULT NULL,
+PRIMARY KEY ( `forced_stats_id` ),
+INDEX ( `forced_stats_campaign_id` ),
+INDEX ( `forced_stats_user_id` )",
+ 'Forced Campaign Statistics');
// Menu system
// - Administrator
case 'register': // Do stuff when installation is running
// General and grade level data
addDropTableSql('grade_data');
- addCreateTableSql('grade_data', "(
+ addCreateTableSql('grade_data', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`grade_name` VARCHAR(255) NOT NULL DEFAULT '',
`grade_description` TINYTEXT NOT NULL,
`grade_parent_id` BIGINT(20) UNSIGNED NULL DEFAULT NULL,
PRIMARY KEY (`id`),
-INDEX (`grade_parent_id`)
-) TYPE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Grade general data'");
+UNIQUE KEY (`grade_name`),
+INDEX (`grade_parent_id`)",
+ 'Grade general data');
// Data for if a grade level has been reached
addDropTableSql('grade_cash_data');
- addCreateTableSql('grade_cash_data', "(
+ addCreateTableSql('grade_cash_data', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`grade_cash_name` VARCHAR(255) NOT NULL DEFAULT '',
`grade_cash_type` ENUM('DISCOUNT','BONUS') NOT NULL DEFAULT 'DISCOUNT',
`reached_mails` BIGINT(20) UNSIGNED NULL DEFAULT NULL,
`time_valid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
PRIMARY KEY (`id`),
-) TYPE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Grade data if the grade have been \"cashed\"'");
+UNIQUE KEY (`grade_cash_name`)",
+ 'Grade data if the grade have been "cashed"');
// Connection grade<->cash data
addDropTableSql('grade_cash_connect');
- addCreateTableSql('grade_cash_connect', "(
+ addCreateTableSql('grade_cash_connect', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`grade_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`grade_cash_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
PRIMARY KEY (`id`),
UNIQUE KEY `grade_cash` (`grade_id`,`grade_cash_id`),
-INDEX (`grade_cash_id`)
-) TYPE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Grade<->cash data connection'");
+INDEX (`grade_cash_id`)",
+ 'Grade<->cash data connection');
// Connection grade<->user data
addDropTableSql('grade_user_connect');
- addCreateTableSql('grade_user_connect', "(
+ addCreateTableSql('grade_user_connect', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`grade_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-`grade_expired TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00',
+`grade_expired` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id`),
UNIQUE KEY (`userid`,`grade_id`),
-INDEX (`grade_id`)
-) TYPE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Grade<->user connection'");
+INDEX (`grade_id`)",
+ 'Grade<->user connection');
// Admin menu entries
addAdminMenuSql('grade', NULL, 'Einstufungen', 'Stufen Sie Ihre Mitglieder ein, die sie ab einer einstellbaren Anzahl an {?POINTS?} oder bestätigten Mails usw. erhalten und durch die Einstufung Ermäßigungen oder Sonderboni erhalten können.', 6);
case 'register': // Do stuff when installation is running
// Create database
addDropTableSql('user_holidays');
- addCreateTableSql('user_holidays', "(
+ addCreateTableSql('user_holidays', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`holiday_start` VARCHAR(10) NOT NULL DEFAULT 0,
`holiday_end` VARCHAR(10) NOT NULL DEFAULT 0,
`comments` LONGTEXT NOT NULL,
-INDEX (`userid`),
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'User holiday data'");
+PRIMARY KEY (`id`),
+INDEX (`userid`)",
+ 'User holiday data');
// Add default values to config
addConfigAddSql('holiday_max', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 30');
// Create imprint data table
addDropTableSql('imprint_data');
- addCreateTableSql('imprint_data', "(
+ addCreateTableSql('imprint_data', "
`imprint_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`imprint_key` VARCHAR(255) NOT NULL DEFAULT '',
`imprint_value` VARCHAR(255) NOT NULL DEFAULT '',
-UNIQUE (`imprint_key`),
-PRIMARY KEY (`imprint_id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Imprint data'");
+PRIMARY KEY (`imprint_id`),
+UNIQUE (`imprint_key`)",
+ 'Imprint data');
// Init imprint data
addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_imprint_data` (`imprint_key`) VALUES ('company'),('surname'),('family'),('street_nr1'),('street_nr2'),('zip'),('city'),('state'),('country'),('phone'),('fax'),('email'),('footer')");
case 'update': // Update an extension
switch (getCurrentExtensionVersion()) {
case '0.0.1': // SQL queries for v0.0.2
- addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_countries` ADD `provider` ENUM( 'user', 'ext-iso3166' ) NOT NULL DEFAULT 'user';");
+ addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_countries` ADD `provider` ENUM('user','ext-iso3166') NOT NULL DEFAULT 'user'");
addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_countries` (`code`,`descr`,`provider`)
VALUES ('AD', 'Andorra', 'ext-iso3166'),
('AE', 'Vereinigte Arabische Emirate', 'ext-iso3166'),
case '0.0.4': // SQL queries for v0.0.4
// SQL commands to run
addDropTableSql('mediadata');
- addCreateTableSql('mediadata', "(
+ addCreateTableSql('mediadata', "
`media_key` VARCHAR(255) NOT NULL DEFAULT '',
`media_value` VARCHAR(255) NOT NULL DEFAULT '',
-PRIMARY KEY (`media_key`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Media data key->value'");
+PRIMARY KEY (`media_key`)",
+ 'Media data key->value');
// Add auto-check file
addIncludeToPool('extension', 'inc/gen_mediadata.php');
`network_request_type` ENUM('GET','POST') NOT NULL DEFAULT 'GET',
`network_charset` VARCHAR(20) NOT NULL DEFAULT 'UTF-8',
`network_require_id_card` ENUM('Y','N') NOT NULL DEFAULT 'N',
-UNIQUE (`network_short_name`),
-PRIMARY KEY (`network_id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Network data'");
+PRIMARY KEY (`network_id`),
+UNIQUE (`network_short_name`)",
+ 'Network data');
// Types the network provider is supporting (e.g. Forced-Banner and so on)
// @TODO network_type_handle is an internal name and needs documentation
addDropTableSql('network_types');
- addCreateTableSql('network_types', "(
+ addCreateTableSql('network_types', "
`network_type_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`network_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`network_type_handle` VARCHAR(255) NOT NULL DEFAULT '',
`network_type_api_url` VARCHAR(255) NOT NULL DEFAULT '',
`network_type_click_url` VARCHAR(255) NOT NULL DEFAULT '',
`network_type_banner_url` VARCHAR(255) NULL DEFAULT NULL,
-UNIQUE `provider_type` (`network_id`,`network_type_handle`),
-PRIMARY KEY (`network_type_id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Types provideable by networks'");
+PRIMARY KEY (`network_type_id`),
+UNIQUE `provider_type` (`network_id`,`network_type_handle`)",
+ 'Types provideable by networks');
// HTTP parameters (names) for URLs
addDropTableSql('network_request_params');
- addCreateTableSql('network_request_params', "(
+ addCreateTableSql('network_request_params', "
`network_param_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`network_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`network_type_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`request_param_key` VARCHAR(20) NOT NULL DEFAULT 'invalid',
`request_param_value` VARCHAR(20) NOT NULL DEFAULT 'invalid',
`request_param_default` VARCHAR(255) NULL DEFAULT NULL,
+PRIMARY KEY (`network_param_id`),
UNIQUE `provider_type_key` (`network_id`,`network_type_id`,`request_param_key`),
-UNIQUE `provider_type_value` (`network_id`,`network_type_id`,`request_param_value`),
-PRIMARY KEY (`network_param_id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Request parameters for GET/POST request'");
+UNIQUE `provider_type_value` (`network_id`,`network_type_id`,`request_param_value`),",
+ 'Request parameters for GET/POST request');
// Error status codes
addDropTableSql('network_error_codes');
- addCreateTableSql('network_error_codes', "(
+ addCreateTableSql('network_error_codes', "
`network_type_code_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`network_type_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`network_type_code_value` VARCHAR(50) NOT NULL DEFAULT '',
`network_type_code_type` VARCHAR(100) NOT NULL DEFAULT 'INVALID_TYPE',
+PRIMARY KEY (`network_type_code_id`),
UNIQUE `code_type` (`network_type_code_value`,`network_type_id`),
-INDEX (`network_type_id`),
-PRIMARY KEY (`network_type_code_id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Error codes for all types'");
+INDEX (`network_type_id`)",
+ 'Error codes for all types');
// Code types (internal table)
addDropTableSql('network_error_types');
- addCreateTableSql('network_error_types', "(
+ addCreateTableSql('network_error_types', "
`network_code_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`network_code` VARCHAR(100) NOT NULL DEFAULT 'INVALID_CODE',
-UNIQUE (`network_code`),
-PRIMARY KEY (`network_code_id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Error types, generic data, DO NOT ALTER!'");
+PRIMARY KEY (`network_code_id`),
+UNIQUE (`network_code`)",
+ 'Error types, generic data, DO NOT ALTER!');
// Valid translation keys (we hate hard-coded arrays, you see?)
addDropTableSql('network_translations');
- addCreateTableSql('network_translations', "(
+ addCreateTableSql('network_translations', "
`network_translation_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`network_translation_name` VARCHAR(100) NOT NULL DEFAULT '',
-UNIQUE (`network_translation_name`),
-PRIMARY KEY (`network_translation_id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Translations for array keys, generic data, DO NOT ALTER!'");
+PRIMARY KEY (`network_translation_id`),
+UNIQUE (`network_translation_name`)",
+ 'Translations for array keys, generic data, DO NOT ALTER!');
// Array-Element translation tables per type/provider
addDropTableSql('network_api_translation');
- addCreateTableSql('network_api_translation', "(
+ addCreateTableSql('network_api_translation', "
`network_api_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`network_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`network_type_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`network_api_index` SMALLINT(5) UNSIGNED NOT NULL DEFAULT 0,
`sort` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+PRIMARY KEY (`network_api_id`),
UNIQUE `provider_type_key` (`network_id`,`network_type_id`,`network_api_index`),
-INDEX (`sort`),
-PRIMARY KEY (`network_api_id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Translation of API responses, generic data, DO NOT ALTER!'");
+INDEX (`sort`)",
+ 'Translation of API responses, generic data, DO NOT ALTER!');
// Data from the webmaster (you!)
addDropTableSql('network_config');
- addCreateTableSql('network_config', "(
+ addCreateTableSql('network_config', "
`network_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`network_affiliate_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`network_api_password` VARCHAR(255) NOT NULL DEFAULT '',
`network_site_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`network_query_amount` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`network_active` ENUM('Y','N') NOT NULL DEFAULT 'Y',
+PRIMARY KEY (`network_id`),
UNIQUE `network_affiliate` (`network_id`,`network_affiliate_id`),
-UNIQUE `affiliate_site` (`network_affiliate_id`,`network_site_id`),
-PRIMARY KEY (`network_id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Configuration data from the webmaster (you!)'");
+UNIQUE `affiliate_site` (`network_affiliate_id`,`network_site_id`)",
+ 'Configuration data from the webmaster (you!)');
// Configuration data for e.g. reload-time
addDropTableSql('network_types_config');
- addCreateTableSql('network_types_config', "(
+ addCreateTableSql('network_types_config', "
`network_data_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`network_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`network_type_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`min_remain_clicks` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`min_payment` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000,
`allow_erotic` VARCHAR(10) NOT NULL DEFAULT '',
-UNIQUE `provider_type` (`network_id`,`network_type_id`),
-PRIMARY KEY (`network_data_id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Configuration data for every type (e.g. reload-time)'");
+PRIMARY KEY (`network_data_id`),
+UNIQUE `provider_type` (`network_id`,`network_type_id`)",
+ 'Configuration data for every type (e.g. reload-time)');
// Cache for queried APIs. Re-check depends on config
// `network_cache_refresh` in seconds or if set to zero, full day
// divided by query amount.
addDropTableSql('network_cache');
- addCreateTableSql('network_cache', "(
+ addCreateTableSql('network_cache', "
`network_cache_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`network_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`network_type_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`network_cache_data` MEDIUMBLOB,
`network_cache_timestamp` TIMESTAMP NULL DEFAULT NULL,
-UNIQUE `provider_type` (`network_id`,`network_type_id`),
-PRIMARY KEY (`network_cache_id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Cache for all queried APIs'");
+PRIMARY KEY (`network_cache_id`),
+UNIQUE `provider_type` (`network_id`,`network_type_id`)",
+ 'Cache for all queried APIs');
// Reload locks for several types
addDropTableSql('network_reloads');
- addCreateTableSql('network_reloads', "(
+ addCreateTableSql('network_reloads', "
`network_reload_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`network_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`network_type_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`network_reload_lock` SMALLINT(5) UNSIGNED NOT NULL DEFAULT 0,
`network_inserted` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
-UNIQUE `provider_type` (`network_id`,`network_type_id`),
-PRIMARY KEY (`network_reload_id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Reload locks'");
+PRIMARY KEY (`network_reload_id`),
+UNIQUE `provider_type` (`network_id`,`network_type_id`)",
+ 'Reload locks');
// Insert API response array translations, these will be used for calling the right filter function
addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_translations` (`network_translation_name`) VALUES
// Tables:
// - Main data table
addDropTableSql('newsletter_data');
- addCreateTableSql('newsletter_data', "(
+ addCreateTableSql('newsletter_data', "
`nl_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`nl_subject` VARCHAR(255) NOT NULL DEFAULT '{OPEN_CONFIG}nl_default_subject{CLOSE_CONFIG}',
`nl_header_text` MEDIUMTEXT,
`nl_recipients` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`nl_received` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`nl_total_clicks` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-PRIMARY KEY (`nl_id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'General newsletter data'");
+PRIMARY KEY (`nl_id`)",
+ 'General newsletter data');
// - Topics data table
addDropTableSql('newsletter_topics');
- addCreateTableSql('newsletter_topics', "(
+ addCreateTableSql('newsletter_topics', "
`nl_topic_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`nl_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`nl_topic_title` VARCHAR(255) NOT NULL DEFAULT '',
`nl_topic_text` MEDIUMTEXT,
`nl_topic_clicks` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-INDEX `newsletter_id` (`nl_id`),
-PRIMARY KEY (`nl_topic_id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Newsletter topics'");
+PRIMARY KEY (`nl_topic_id`),
+INDEX `newsletter_id` (`nl_id`)",
+ 'Newsletter topics');
// - Sponsor orders data table
addDropTableSql('newsletter_orders');
- addCreateTableSql('newsletter_orders', "(
+ addCreateTableSql('newsletter_orders', "
`nl_order_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`nl_sponsor_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`nl_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`nl_topic_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`nl_order_placed` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`nl_order_accepted` ENUM('Y','N') NOT NULL DEFAULT 'N',
+PRIMARY KEY (`nl_order_id`),
UNIQUE KEY `sponsor_nl_topic` (`nl_sponsor_id`,`nl_id`,`nl_topic_id`),
-INDEX `topic` (`nl_topic_id`),
-PRIMARY KEY (`nl_order_id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Newsletter orders'");
+INDEX `topic` (`nl_topic_id`)",
+ 'Newsletter orders');
// Configuration
addConfigAddSql('nl_expire', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT ' . (getOneDay() * 7));
case '0.1.9': // SQL queries for v0.1.9
addAdminMenuSql('user','list_nickname','Nickname-Historie','Listet alle verwendeten Nicknames der Mitglieder auf.', 12);
addDropTableSql('nickname_history');
- addCreateTableSql('nickname_history', "(
+ addCreateTableSql('nickname_history', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`nickname` VARCHAR(255) NOT NULL DEFAULT '',
`added` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`last_used` TIMESTAMP NULL DEFAULT NULL,
+PRIMARY KEY (`id`),
INDEX `userid` (`userid`),
-INDEX (`last_used` DESC),
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'History of used nicknames'");
+INDEX (`last_used` DESC)",
+ 'History of used nicknames');
// Update notes (these will be set as task text!)
setExtensionUpdateNotes("Historie eingegebener Nicknames hinzugefügt. Mitglied kann auf bereits verwendeter zurückgreifen und Liste selbst löschen.");
case 'register': // Do stuff when installation is running
// SQL commands to run
addDropTableSql('online');
- addCreateTableSql('online', "(
+ addCreateTableSql('online', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`sid` VARCHAR(32) NOT NULL DEFAULT '',
`ip` VARCHAR(15) NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
INDEX (`userid`),
INDEX (`refid`),
-INDEX `admin_member` (`is_admin`, `is_member`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Who-is-where data'");
+INDEX `admin_member` (`is_admin`, `is_member`)",
+ 'Who-is-where data');
addAdminMenuSql('misc','usr_online','Online-Statistik','Eine Liste von derzeit "Online" Usern. Doppelte Einträge könnte auf mangelnden Cookie-Support des Browsers oder auf einen Spider hindeuten.', 1);
break;
break;
case '0.0.6': // SQL queries for v0.0.6
- addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_online` CHANGE `userid` `userid` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL,
-CHANGE `refid` `refid` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL');
+ addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_online` CHANGE `userid` `userid` BIGINT(20) UNSIGNED NULL DEFAULT NULL');
+ addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_online` CHANGE `refid` `refid` BIGINT(20) UNSIGNED NULL DEFAULT NULL');
// Update notes (these will be set as task text!)
setExtensionUpdateNotes("Spalten userid und refid erlauben nun <stron>null</strong>.");
case 'register': // Do stuff when installation is running
// SQL commands to run
addDropTableSql('optimize_gain');
- addCreateTableSql('optimize_gain', "(
+ addCreateTableSql('optimize_gain', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`gain` DECIMAL(10,3) NOT NULL DEFAULT 0.000,
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Optimization history data'");
+PRIMARY KEY (`id`)",
+ 'Optimization history data');
addAdminMenuSql('misc', 'optimize', 'DB optimieren', 'Führen Sie dies ab und an aus, damit überflüssige Binärdaten aus der Datenbank entfernt werden.', 5);
break;
case '0.5.0': // SQL queries for v0.5.0
addDropTableSql('url_blacklist');
- addCreateTableSql('url_blacklist', "(
+ addCreateTableSql('url_blacklist', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`url` VARCHAR(255) NOT NULL DEFAULT '',
`pool_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`timestamp` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
-INDEX (`pool_id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'URL blacklist'");
+INDEX (`pool_id`)",
+ 'URL blacklist');
// Update notes (these will be set as task text!)
setExtensionUpdateNotes("Tabelle für URL-Sperrliste angelegt.");
case 'register': // Do stuff when installation is running
// SQL commands to run
addDropTableSql('user_payouts');
- addCreateTableSql('user_payouts', "(
+ addCreateTableSql('user_payouts', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`payout_total` FLOAT(22,3) UNSIGNED NOT NULL DEFAULT 0.000,
`payout_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`payout_timestamp` VARCHAR(10) NOT NULL DEFAULT 0,
`status` ENUM('NEW','ACCEPTED','REJECTED') NOT NULL DEFAULT 'NEW',
+PRIMARY KEY (`id`),
INDEX (`userid`),
-INDEX (`payout_id`),
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Done user payouts (and status)'");
+INDEX (`payout_id`)",
+ 'Done user payouts (and status)');
+
addDropTableSql('payout_types');
- addCreateTableSql('payout_types', "(
+ addCreateTableSql('payout_types', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`type` VARCHAR(255) NOT NULL DEFAULT '',
`rate` FLOAT(22,3) UNSIGNED NOT NULL DEFAULT 0.000,
`min_points` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Payout types'");
+PRIMARY KEY (`id`)",
+ 'Payout types');
+
+ // Admin menu
addAdminMenuSql('setup','config_payouts','Auszahlungen','Auszahlungsarten einstellen, neu anlegen oder löschen.',15);
addAdminMenuSql('payouts','list_payouts','Anfragen auflisten','Listet alle Auszahlungsanfragen Ihrer Mitglieder auf.',16);
+
+ // Member menu
addMemberMenuSql('main', 'payout', 'Auszahlungen', 11);
break;
case 'register': // Do stuff when installation is running
// SQL commands to run
addDropTableSql('user_primera');
- addCreateTableSql('user_primera', "(
+ addCreateTableSql('user_primera', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`primera_account` VARCHAR(255) NOT NULL DEFAULT '',
`primera_type` ENUM('IN','OUT','FAILED') NOT NULL DEFAULT 'FAILED',
`primera_api_message` TINYTEXT,
`primera_api_status` VARCHAR(255) NULL DEFAULT NULL,
-KEY (`userid`),
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Transfers in Primera'");
+PRIMARY KEY (`id`),
+KEY (`userid`)",
+ 'Transfers in Primera');
//Â Configuration
addConfigAddSql('primera_min_payout', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 40000');
case 'register': // Do stuff when installation is running
// SQL commands to run
addDropTableSql('rallye_data');
- addCreateTableSql('rallye_data', "(
+ addCreateTableSql('rallye_data', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`admin_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`title` VARCHAR(255) NOT NULL DEFAULT '',
`is_active` ENUM('Y','N') NOT NULL DEFAULT 'N',
`send_notify` ENUM('Y','N') NOT NULL DEFAULT 'Y',
`notified` ENUM('Y','N') NOT NULL DEFAULT 'N',
-KEY (`admin_id`),
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Main rallye data'");
+PRIMARY KEY (`id`),
+KEY (`admin_id`)",
+ 'Main rallye data');
+
addDropTableSql('rallye_prices');
- addCreateTableSql('rallye_prices', "(
+ addCreateTableSql('rallye_prices', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`rallye_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`price_level` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`points` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`info` LONGTEXT NOT NULL,
-INDEX (`rallye_id`),
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Prices data for a rallye'");
+PRIMARY KEY (`id`),
+INDEX (`rallye_id`)",
+ 'Prices data for a rallye');
+
addDropTableSql('rallye_users');
- addCreateTableSql('rallye_users', "(
+ addCreateTableSql('rallye_users', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`rallye_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`refs` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+PRIMARY KEY (`id`),
INDEX (`rallye_id`),
-INDEX (`userid`),
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Rallye->user connection table'");
+INDEX (`userid`)",
+ 'Rallye->user connection table');
// Admin menu
addAdminMenuSql('rallye', NULL, 'Rallye-Management','Richten Sie neue Ref-Rallyes ein, die zeitgesteuert anfangen und aufhöhren. Dabei wird alles weitere automatisch geregelt.',9);
case 'register': // Do stuff when installation is running
// SQL commands to run
addDropTableSql('user_refs');
- addCreateTableSql('user_refs', "(
-`id` BIGINT(20) UNSIGNED NOT NULL auto_increment,
+ addCreateTableSql('user_refs', "
+`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`level` smallINT(6) UNSIGNED NOT NULL DEFAULT 0,
`refid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`refback` float(4,1) NOT NULL DEFAULT 0.0,
-`points` FLOAT( 20,5) DEFAULT 0.00000 NOT NULL,
+`points` FLOAT(20,5) DEFAULT 0.00000 NOT NULL,
PRIMARY KEY (`id`),
UNIQUE `user_refid` (`userid`,`level`,`refid`),
-KEY (`level`),
-KEY (`refid`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'User Referals With Refback'");
+INDEX (`level`),
+INDEX (`refid`)",
+ 'User Referals With Refback');
addMemberMenuSql('main', 'refback', 'Ref-Back einstellen', 4);
// Execute this special file on registration
switch (getCurrentExtensionVersion()) {
case '0.1.0': // SQL queries for v0.1
addDropTableSql('must_register');
- addCreateTableSql('must_register', "(
+ addCreateTableSql('must_register', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`field_name` VARCHAR(255) NOT NULL DEFAULT '',
`field_required` ENUM('Y','N') NOT NULL DEFAULT 'Y',
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Data which fields the user must fill out'");
+PRIMARY KEY (`id`)",
+ 'Data which fields the user must fill out');
// Add all entries as required (DO NOT DELETE THEM FROM DATABASE!)
addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_must_register` (`field_name`, `field_required`) VALUES ('surname','Y')");
// Sponsor data
//
addDropTableSql('sponsor_data');
- addCreateTableSql('sponsor_data', "(
+ addCreateTableSql('sponsor_data', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`company` VARCHAR(255) NOT NULL DEFAULT '',
`position` VARCHAR(255) NOT NULL DEFAULT '',
`hash` VARCHAR(32) NULL DEFAULT NULL,
`last_payment` FLOAT(7,2) UNSIGNED NOT NULL DEFAULT 0.00,
`last_currency` VARCHAR(255) NOT NULL DEFAULT '€',
-INDEX (`refid`),
-INDEX (`email`),
+PRIMARY KEY (`id`),
UNIQUE KEY (`hash`),
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Main sponsor data'");
+INDEX (`refid`),
+INDEX (`email`)",
+ 'Main sponsor data');
//
// Sponsor orders
//
addDropTableSql('sponsor_orders');
- addCreateTableSql('sponsor_orders', "(
+ addCreateTableSql('sponsor_orders', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`sponsor_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`admin_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`pay_status` ENUM('PENDING','PAYED','UNPAYED','DELETED') NOT NULL DEFAULT 'PENDING',
`pay_ordered` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`pay_done` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00',
+PRIMARY KEY (`id`),
INDEX (`payment_id`),
INDEX (`regid`),
INDEX (`admin_id`),
-INDEX (`sponsor_id`),
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Sponsor orders table'");
+INDEX (`sponsor_id`)",
+ 'Sponsor orders table');
//
// Pay-types
//
addDropTableSql('sponsor_paytypes');
- addCreateTableSql('sponsor_paytypes', "(
+ addCreateTableSql('sponsor_paytypes', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`pay_name` VARCHAR(255) NOT NULL DEFAULT '',
`pay_rate` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000,
`pay_min_count` BIGINT(20) UNSIGNED NOT NULL DEFAULT 1,
`pay_currency` VARCHAR(255) NOT NULL DEFAULT '€',
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Sponsor payment types'");
+PRIMARY KEY (`id`)",
+ 'Sponsor payment types');
//
// Points-to-action converting
//
addDropTableSql('sponsor_action_convert');
- addCreateTableSql('sponsor_action_convert', "(
+ addCreateTableSql('sponsor_action_convert', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`ext_name` VARCHAR(255) NOT NULL DEFAULT 'sponsor',
`conv_rate` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`conv_name` VARCHAR(255) NOT NULL DEFAULT 'Mails',
-INDEX (`ext_name`),
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Points to action convertion data'");
+PRIMARY KEY (`id`),
+INDEX (`ext_name`)",
+ 'Points to action convertion data');
//
// Sponsor menu system (default)
//
addDropTableSql('sponsor_menu');
- addCreateTableSql('sponsor_menu', "(
+ addCreateTableSql('sponsor_menu', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`action` VARCHAR(255) NOT NULL DEFAULT '',
`what` VARCHAR(255) NULL DEFAULT NULL,
`title` VARCHAR(255) NOT NULL DEFAULT '',
`active` ENUM('Y','N') NOT NULL DEFAULT 'N',
`sort` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-INDEX (`action`),
+PRIMARY KEY (`id`)
UNIQUE KEY `action_what` (`action`,`what`),
UNIQUE KEY (`what`),
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Sponsor menu'");
+INDEX (`action`)",
+ 'Sponsor menu');
//
// Registry for performable actions by your sponsors
//
addDropTableSql('sponsor_registry');
- addCreateTableSql('sponsor_registry', "(
+ addCreateTableSql('sponsor_registry', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`admin_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`ext_name` VARCHAR(255) NOT NULL DEFAULT 'sponsor',
`is_active` ENUM('Y','N') NOT NULL DEFAULT 'N',
`stamp_added` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+PRIMARY KEY (`id`),
INDEX (`ext_name`),
-INDEX (`admin_id`),
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Sponsor action registry'");
+INDEX (`admin_id`)",
+ 'Sponsor action registry');
//
// URLs from the sponsors
//
addDropTableSql('sponsor_urls');
- addCreateTableSql('sponsor_urls', "(
+ addCreateTableSql('sponsor_urls', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`sponsor_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`url` VARCHAR(255) NOT NULL DEFAULT 'http://',
`title` VARCHAR(255) NOT NULL DEFAULT '',
`clicks` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`status` ENUM('PENDING','ACTIVE','LOCKED') NOT NULL DEFAULT 'PENDING',
-INDEX (`sponsor_id`),
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'URLs from all sponsors'");
+PRIMARY KEY (`id`),
+INDEX (`sponsor_id`)",
+ 'URLs from all sponsors');
//
// Banners of any size from the sponsors
//
addDropTableSql('sponsor_banner');
- addCreateTableSql('sponsor_banner', "(
+ addCreateTableSql('sponsor_banner', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`sponsor_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`url` VARCHAR(255) NOT NULL DEFAULT 'http://',
`height` INT(7) UNSIGNED NOT NULL DEFAULT 60,
`views` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`status` ENUM('PENDING','ACTIVE','LOCKED') NOT NULL DEFAULT 'PENDING',
-INDEX (`sponsor_id`),
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Banners from all sponsors'");
+PRIMARY KEY (`id`),
+INDEX (`sponsor_id`)",
+ 'Banners from all sponsors');
//
// Campaigns
//
addDropTableSql('sponsor_campaigns');
- addCreateTableSql('sponsor_campaigns', "(
+ addCreateTableSql('sponsor_campaigns', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`sponsor_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`admin_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`locked_reason` TINYTEXT,
`locked_timestamp` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00',
`status` ENUM('PENDING','ACTIVE','LOCKED') NOT NULL DEFAULT 'PENDING',
+PRIMARY KEY (`id`),
INDEX (`admin_id`),
-INDEX (`sponsor_id`),
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Sponsor campaigns'");
+INDEX (`sponsor_id`)",
+ 'Sponsor campaigns');
//
// Campaigns + URLs + Banner
//
addDropTableSql('sponsor_campaign_assigns');
- addCreateTableSql('sponsor_campaign_assigns', "(
+ addCreateTableSql('sponsor_campaign_assigns', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`campaignid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`urlid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`bannerid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`clicks` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`views` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+PRIMARY KEY (`id`),
INDEX (`bannerid`),
INDEX (`urlid`),
-INDEX (`campaignid`),
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Campaign+Banner+URL connection data'");
+INDEX (`campaignid`)",
+ 'Campaign+Banner+URL connection data');
//
// Allowed data to display (administrative)
//
addDropTableSql('sponsor_admin_data');
- addCreateTableSql('sponsor_admin_data', "(
+ addCreateTableSql('sponsor_admin_data', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`data_row` VARCHAR(255) NOT NULL DEFAULT '',
`display` ENUM('Y','N') NOT NULL DEFAULT 'N',
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Allowed data to display to the admin'");
+PRIMARY KEY (`id`)",
+ 'Allowed data to display to the admin');
//
// Allowed data to display (sponsor-side)
//
addDropTableSql('sponsor_display_data');
- addCreateTableSql('sponsor_display_data', "(
+ addCreateTableSql('sponsor_display_data', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`sponsor_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`data_row` VARCHAR(255) NOT NULL DEFAULT '',
`display` ENUM('Y','N') NOT NULL DEFAULT 'N',
-INDEX (`sponsor_id`),
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Data sponsors allowed to see'");
+PRIMARY KEY (`id`),
+INDEX (`sponsor_id`)",
+ 'Data sponsors allowed to see');
//
// Default allowed data to display
//
case '0.3.2': // SQL queries for v0.3.2
// Connection table between the menu system and the "logical area system"
addDropTableSql('admin_menu_las');
- addCreateTableSql('admin_menu_las', "(
+ addCreateTableSql('admin_menu_las', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`la_id` VARCHAR(255) NOT NULL DEFAULT '',
`la_action` VARCHAR(255) NOT NULL DEFAULT '',
`la_what` VARCHAR(255) NOT NULL DEFAULT '',
+PRIMARY KEY (`id`),
INDEX (`la_id`),
INDEX (`la_action`),
-INDEX (`la_what`),
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Menu system -> LAS'");
+INDEX (`la_what`)",
+ 'Menu system -> LAS');
// All "logical areas" together
addDropTableSql('admin_menu_las_data');
- addCreateTableSql('admin_menu_las_data', "(
+ addCreateTableSql('admin_menu_las_data', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`la_id` VARCHAR(255) NOT NULL DEFAULT '',
`la_title` VARCHAR(255) NOT NULL DEFAULT '',
`la_posx` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`la_posy` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+PRIMARY KEY (`id`),
UNIQUE KEY (`la_id`),
INDEX (`la_posx`),
-INDEX (`la_posy`),
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'LAS position and title data'");
+INDEX (`la_posy`)",
+ 'LAS position and title data');
// Which menu do you like?
addConfigAddSql('admin_menu', "ENUM('NEW','OLD') NOT NULL DEFAULT 'OLD'");
// The statistics table
addDropTableSql('admin_las_stats');
- addCreateTableSql('admin_las_stats', "(
+ addCreateTableSql('admin_las_stats', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`admin_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`type` ENUM('la','action','what') NOT NULL DEFAULT 'what',
`clicks` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-INDEX (`admin_id`),
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'LAS click data'");
+PRIMARY KEY (`id`),
+INDEX (`admin_id`)",
+ 'LAS click data');
// Update notes (these will be set as task text!)
setExtensionUpdateNotes("Admin-abhängig werden nun Klicks im Admin-Menü gezählt, die zur automatischen Anpassung des Menüs in den logischen Bereichen diennen. Dieses "intelligente Unbauen" können Sie auch ganz abschalten.");
case '0.5.9': // SQL queries for v0.5.9
// Table 'filters' is vital because many functionality depends on it, so don't remove it
- addCreateTableSql('filters', "(
+ addCreateTableSql('filters', "
`filter_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`filter_name` VARCHAR(50) NOT NULL DEFAULT '',
`filter_function` VARCHAR(100) NOT NULL DEFAULT '',
`filter_active` ENUM('N','Y') NOT NULL DEFAULT 'Y',
`filter_counter` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-UNIQUE `name_function` (`filter_name` , `filter_function`),
-PRIMARY KEY (`filter_id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Filter system'");
+PRIMARY KEY (`filter_id`),
+UNIQUE `name_function` (`filter_name` , `filter_function`)",
+ 'Filter system');
+
+ // Admin menu
addAdminMenuSql('setup','list_filter','Filter-Management', 'Zeigt alle im System registrierten Filter an und lässt diese de- bzw. wieder aktivieren.', 17);
// Update notes (these will be set as task text!)
case '0.7.0': // SQL queries for 0.7.0
// Table definition
addDropTableSql('dns_cache');
- addCreateTableSql('dns_cache', "(
+ addCreateTableSql('dns_cache', "
`hostname` VARCHAR(255) NOT NULL,
`ip` VARCHAR(15) NOT NULL,
`added` DATETIME NOT NULL,
PRIMARY KEY (`hostname`),
-INDEX (`ip`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Cache for DNS requests'");
+INDEX (`ip`)",
+ 'Cache for DNS requests');
// Configuration
addConfigAddSql('dns_cache_timeout', 'BIGINT(20) NOT NULL DEFAULT ' . (60*60*24));
case '0.8.0': // SQL queries for v0.8.0
// Points account data
addDropTableSql('points_data');
- addCreateTableSql('points_data', "(
+ addCreateTableSql('points_data', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`ext_name` VARCHAR(255) NOT NULL DEFAULT '',
`column_name` VARCHAR(255) NOT NULL DEFAULT 'points',
`locked_mode` ENUM('LOCKED','UNLOCKED') NOT NULL DEFAULT 'LOCKED',
`payment_method` ENUM('DIRECT','REF') NOT NULL DEFAULT 'REF',
PRIMARY KEY(`id`),
-INDEX (`ext_name`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Points account data'");
+INDEX (`ext_name`)",
+ 'Points account data');
// Admin menu
addAdminMenuSql('setup','list_point_accounts','Guthabenkonten...','Veralten Sie hier bequem Einstellungen zu den Guthabenkonten.',5);
case 'register': // Do stuff when installation is running
// SQL commands to run (surfbar URLs)
addDropTableSql('surfbar_urls');
- addCreateTableSql('surfbar_urls', "(
+ addCreateTableSql('surfbar_urls', "
`url_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`url_userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`url` VARCHAR(255) NOT NULL DEFAULT '',
`url_fixed_reload` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
PRIMARY KEY (`url_id`),
UNIQUE KEY `userid_url` (`url_userid`,`url`),
-INDEX `status_userid` (`url_status`,`url_userid`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Surfbar URLs'");
+INDEX `status_userid` (`url_status`,`url_userid`)",
+ 'Surfbar URLs');
// Reload locks
addDropTableSql('surfbar_locks');
- addCreateTableSql('surfbar_locks', "(
+ addCreateTableSql('surfbar_locks', "
`locks_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`locks_userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`locks_url_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`locks_last_surfed` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`locks_id`),
UNIQUE KEY `userid_url` (`locks_userid`,`locks_url_id`),
-INDEX (`locks_url_id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Surfbar reload locks'");
+INDEX (`locks_url_id`)",
+ 'Surfbar reload locks');
// Surfbar salts
addDropTableSql('surfbar_salts');
- addCreateTableSql('surfbar_salts', "(
+ addCreateTableSql('surfbar_salts', "
`salts_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`salts_userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`salts_url_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`salts_last_salt` VARCHAR(255) NOT NULL DEFAULT '',
PRIMARY KEY (`salts_id`),
UNIQUE KEY `salts_userid_url` (`salts_userid`,`salts_url_id`),
-INDEX (`salts_url_id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Surfbar last used salts'");
+INDEX (`salts_url_id`)",
+ 'Surfbar last used salts');
// Statistics
addDropTableSql('surfbar_stats');
- addCreateTableSql('surfbar_stats', "(
+ addCreateTableSql('surfbar_stats', "
`stats_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`stats_userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`stats_url_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`stats_last_surfed` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`stats_id`),
UNIQUE KEY `userid_url` (`stats_userid`,`stats_url_id`),
-INDEX (`stats_url_id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Surfbar Statistics'");
+INDEX (`stats_url_id`)",
+ 'Surfbar Statistics');
// Member actions pending on status
addDropTableSql('surfbar_actions');
- addCreateTableSql('surfbar_actions', "(
+ addCreateTableSql('surfbar_actions', "
`actions_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`actions_status` ENUM('PENDING','ACTIVE','LOCKED','STOPPED','REJECTED','DELETED','MIGRATED','DEPLETED') NULL DEFAULT NULL,
`actions_action` ENUM('EDIT','DELETE','PAUSE','UNPAUSE','FRAMETEST','RETREAT','RESUBMIT','BOOKNOW') NULL DEFAULT NULL,
`actions_new_status` ENUM('PENDING','ACTIVE','LOCKED','STOPPED','REJECTED','DELETED','MIGRATED','DEPLETED') NULL DEFAULT NULL,
PRIMARY KEY (`actions_id`),
-UNIQUE KEY `status_action` (`actions_status`,`actions_action`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Surfbar Member Actions'");
+UNIQUE KEY `status_action` (`actions_status`,`actions_action`)",
+ 'Surfbar Member Actions');
// Member actions
addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_actions` (`actions_status`,`actions_action`,`actions_new_status`) VALUES ('PENDING','RETREAT','DELETED')");
case '0.0.8': // SQL queries for v0.0.8
// Theme table
addDropTableSql('themes');
- addCreateTableSql('themes', "(
+ addCreateTableSql('themes', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`theme_path` VARCHAR(255) NOT NULL DEFAULT '',
`theme_name` VARCHAR(255) NOT NULL DEFAULT '',
`theme_ver` VARCHAR(255) NOT NULL DEFAULT '0.0.0',
PRIMARY KEY (`id`),
UNIQUE KEY (`theme_path`),
-INDEX (`theme_active`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Themes'");
+INDEX (`theme_active`)", 'Themes');
// Admin menu
addAdminMenuSql('theme', NULL, 'Themes', 'Verwalten Sie hier alle Designs (Themes) Ihres {OPEN_CONFIG}mt_word2{CLOSE_CONFIG}.', 8);
case 'register': // Do stuff when installation is running
// Transfer from a member
addDropTableSql('user_transfers_in');
- addCreateTableSql('user_transfers_in', "(
+ addCreateTableSql('user_transfers_in', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`from_userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`reason` VARCHAR(255) NOT NULL DEFAULT '',
`time_trans` VARCHAR(14) NOT NULL DEFAULT 0,
`trans_id` VARCHAR(12) NOT NULL DEFAULT '',
+PRIMARY KEY (`id`),
KEY (`userid`),
-KEY (`from_userid`),
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Ingoing points transfers'");
+KEY (`from_userid`)",
+ 'Ingoing points transfers');
// Transfers to a member
addDropTableSql('user_transfers_out');
- addCreateTableSql('user_transfers_out', "(
+ addCreateTableSql('user_transfers_out', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`to_userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`reason` VARCHAR(255) NOT NULL DEFAULT '',
`time_trans` VARCHAR(14) NOT NULL DEFAULT 0,
`trans_id` VARCHAR(12) NOT NULL DEFAULT '',
+PRIMARY KEY (`id`),
KEY (`userid`),
-KEY (`to_userid`),
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Outgoing points transfers'");
+KEY (`to_userid`)",
+ 'Outgoing points transfers');
// Admin menu
addAdminMenuSql('transfer', NULL, '{OPEN_CONFIG}POINTS{CLOSE_CONFIG}-Transfer','Verwalten Sie hier die {OPEN_CONFIG}POINTS{CLOSE_CONFIG}-Transaktionen zwischen Ihren Mitgliedern.', 7);
switch (getExtensionMode()) {
case 'register': // Do stuff when installation is running
addDropTableSql('user_cats');
- addCreateTableSql('user_cats', "(
+ addCreateTableSql('user_cats', "
`id` BIGINT(22) NOT NULL AUTO_INCREMENT,
`userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`cat_id` TINYINT(3) UNSIGNED NOT NULL DEFAULT 0,
PRIMARY KEY (`id`),
INDEX (`userid`),
-INDEX (`cat_id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'User->category connection data'");
+INDEX (`cat_id`)",
+ 'User->category connection data');
addDropTableSql('user_data');
- addCreateTableSql('user_data', "(
+ addCreateTableSql('user_data', "
`userid` BIGINT(22) NOT NULL AUTO_INCREMENT,
`surname` VARCHAR(255) NOT NULL DEFAULT '',
`family` VARCHAR(255) NOT NULL DEFAULT '',
PRIMARY KEY (`userid`),
UNIQUE (`user_hash`),
INDEX (`refid`),
-INDEX `status_mails` (`status`,`max_mails`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Main user data'");
+INDEX `status_mails` (`status`,`max_mails`)",
+ 'Main user data');
addDropTableSql('user_points');
- addCreateTableSql('user_points', "(
+ addCreateTableSql('user_points', "
`id` BIGINT(22) NOT NULL AUTO_INCREMENT,
`userid` BIGINT(22) NOT NULL DEFAULT 0,
`ref_depth` TINYINT(3) UNSIGNED NOT NULL DEFAULT 0,
`points` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000,
`locked_points` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000,
PRIMARY KEY (`id`),
-INDEX (`userid`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'User points (no used points)'");
+INDEX (`userid`)",
+ 'User points (no used points)');
addDropTableSql('user_links');
- addCreateTableSql('user_links', "(
+ addCreateTableSql('user_links', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`stats_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`link_type` ENUM('NORMAL') NOT NULL DEFAULT 'NORMAL',
PRIMARY KEY (`id`),
INDEX (`userid`),
-INDEX (`stats_id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Unconfirmed mails per user'");
+INDEX (`stats_id`)",
+ 'Unconfirmed mails per user');
addDropTableSql('user_stats');
- addCreateTableSql('user_stats', "(
+ addCreateTableSql('user_stats', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`cat_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
INDEX (`userid`),
INDEX (`cat_id`),
INDEX (`payment_id`),
-INDEX (`pool_id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Mail statistics per user order'");
+INDEX (`pool_id`)",
+ 'Mail statistics per user order');
addDropTableSql('user_stats_data');
- addCreateTableSql('user_stats_data', "(
+ addCreateTableSql('user_stats_data', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`stats_type` VARCHAR(255) NOT NULL DEFAULT 'unknown',
`inserted` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
INDEX (`userid`),
-INDEX (`stats_type`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Member statistics data'");
+INDEX (`stats_type`)",
+ 'Member statistics data');
// Admin menu
addAdminMenuSql('user',NULL,'Mitglieder-Management','Mitglieder freischalten, sperren, Accounts editieren, Neuanmeldungen verwalten, {OPEN_CONFIG}POINTS{CLOSE_CONFIG} gutschreiben und abziehen und und und...',3);
addConfigAddSql('user_delete_purge', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT ' . (getOneDay() * 30));
addAdminMenuSql('user', 'list_user_del', 'Löschungen auflisten', 'Listet die Löschungen von Usern auf.', 9);
addDropTableSql('user_del');
- addCreateTableSql('user_del', "(
+ addCreateTableSql('user_del', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`email` VARCHAR(255) NOT NULL DEFAULT '',
`last_online` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`del_timestamp` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
`del_reason` TINYTEXT,
-INDEX (`userid`),
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'List of deleted users'");
+PRIMARY KEY (`id`),
+INDEX (`userid`)",
+ 'List of deleted users');
// Update notes (these will be set as task text!)
setExtensionUpdateNotes("Der Sperrgrund wird nun mit abgespeichert und beim Löschen des Users mit ausgesendet.");
break;
case '0.3.7': // SQL queries for v0.3.7
- addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_cats` CHANGE `id` `id` BIGINT( 22 ) UNSIGNED NOT NULL AUTO_INCREMENT');
- addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_cats` CHANGE `userid` `userid` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL');
- addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_cats` CHANGE `cat_id` `cat_id` TINYINT( 3 ) UNSIGNED NULL DEFAULT NULL');
- addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` CHANGE `userid` `userid` BIGINT( 20 ) UNSIGNED NOT NULL AUTO_INCREMENT');
- addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_del` CHANGE `userid` `userid` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL');
- addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_links` CHANGE `stats_id` `stats_id` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL');
- addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_links` CHANGE `userid` `userid` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL');
- addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_points` CHANGE `userid` `userid` BIGINT( 22 ) UNSIGNED NULL DEFAULT NULL');
- addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_points` CHANGE `ref_depth` `ref_depth` TINYINT( 3 ) UNSIGNED NULL DEFAULT NULL');
- addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_refs` CHANGE `userid` `userid` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL');
- addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_refs` CHANGE `level` `level` SMALLINT( 6 ) UNSIGNED NULL DEFAULT NULL');
- addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_refs` CHANGE `refid` `refid` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL');
- addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_stats` CHANGE `userid` `userid` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL');
- addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_stats` CHANGE `cat_id` `cat_id` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL');
- addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_stats` CHANGE `payment_id` `payment_id` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL');
- addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_stats` CHANGE `pool_id` `pool_id` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL');
- addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_stats_data` CHANGE `userid` `userid` BIGINT( 20 ) UNSIGNED NULL DEFAULT NULL');
+ addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_cats` CHANGE `id` `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT');
+ addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_cats` CHANGE `userid` `userid` BIGINT(20) UNSIGNED NULL DEFAULT NULL');
+ addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_cats` CHANGE `cat_id` `cat_id` TINYINT(3) UNSIGNED NULL DEFAULT NULL');
+ addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` CHANGE `userid` `userid` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT');
+ addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_del` CHANGE `userid` `userid` BIGINT(20) UNSIGNED NULL DEFAULT NULL');
+ addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_links` CHANGE `stats_id` `stats_id` BIGINT(20) UNSIGNED NULL DEFAULT NULL');
+ addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_links` CHANGE `userid` `userid` BIGINT(20) UNSIGNED NULL DEFAULT NULL');
+ addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_points` CHANGE `userid` `userid` BIGINT(20) UNSIGNED NULL DEFAULT NULL');
+ addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_points` CHANGE `ref_depth` `ref_depth` TINYINT(3) UNSIGNED NULL DEFAULT NULL');
+ addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_refs` CHANGE `userid` `userid` BIGINT(20) UNSIGNED NULL DEFAULT NULL');
+ addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_refs` CHANGE `level` `level` SMALLINT(6) UNSIGNED NULL DEFAULT NULL');
+ addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_refs` CHANGE `refid` `refid` BIGINT(20) UNSIGNED NULL DEFAULT NULL');
+ addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_stats` CHANGE `userid` `userid` BIGINT(20) UNSIGNED NULL DEFAULT NULL');
+ addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_stats` CHANGE `cat_id` `cat_id` BIGINT(20) UNSIGNED NULL DEFAULT NULL');
+ addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_stats` CHANGE `payment_id` `payment_id` BIGINT(20) UNSIGNED NULL DEFAULT NULL');
+ addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_stats` CHANGE `pool_id` `pool_id` BIGINT(20) UNSIGNED NULL DEFAULT NULL');
+ addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_user_stats_data` CHANGE `userid` `userid` BIGINT(20) UNSIGNED NULL DEFAULT NULL');
// Cleanup SQLs
addExtensionSql('DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_user_cats` WHERE `userid` IS NULL OR `cat_id` IS NULL');
case 'register': // Do stuff when installation is running
// SQL commands to run
addDropTableSql('user_wernis');
- addCreateTableSql('user_wernis', "(
+ addCreateTableSql('user_wernis', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`wernis_account` VARCHAR(255) NOT NULL DEFAULT '',
`wernis_type` ENUM('IN','OUT','FAILED') NOT NULL DEFAULT 'FAILED',
`wernis_api_message` TINYTEXT,
`wernis_api_status` VARCHAR(255) NULL DEFAULT NULL,
-INDEX (`userid`),
PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Transfered Wernis per user'");
+INDEX (`userid`)",
+ 'Transfered Wernis per user');
// Confiuration
addConfigAddSql('wernis_min_payout', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT 40000');
// SQL commands to run
addDropTableSql('user_wernis');
addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `action`='wernis'");
- addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_member_menu` WHERE `what`='wernis'");
- addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_guest_menu` WHERE `what`='wernis_portal'");
+ addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_member_menu` WHERE `what`='wernis' LIMIT 1");
+ addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_guest_menu` WHERE `what`='wernis_portal' LIMIT 1");
break;
case 'activate': // Do stuff when admin activates this extension
// Reload lock table
addDropTableSql('yoomedia_reload');
- addCreateTableSql('yoomedia_reload', "(
+ addCreateTableSql('yoomedia_reload', "
`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`type` VARCHAR(255) NOT NULL DEFAULT 'general',
`y_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
`y_reload` SMALLINT(6) UNSIGNED NOT NULL DEFAULT 0,
`inserted` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
-UNIQUE `y_type` (`type`,`y_id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Reload lock reminder for Yoo!Media campaigns'");
+UNIQUE `y_type` (`type`,`y_id`)",
+ 'Reload lock reminder for Yoo!Media campaigns');
break;
case 'remove': // Do stuff when removing extension
return $GLOBALS[__FUNCTION__];
}
+// Wrapper function for 'coupon_autopurge_time'
+function getCouponAutopurgeTime () {
+ // Do we have cache?
+ if (!isset($GLOBALS[__FUNCTION__])) {
+ // Get config entry
+ $GLOBALS[__FUNCTION__] = getConfig('coupon_autopurge_time');
+ } // END - if
+
+ // Return cache
+ return $GLOBALS[__FUNCTION__];
+}
+
// [EOF]
?>
$whereStatement
);
} else {
- // Add Line (does only work with auto_increment!
+ // Add Line (does only work with AUTO_INCREMENT!
$keys = array(); $values = array();
foreach ($tableData as $entry) {
// Split up
`time_trans` VARCHAR(10) NOT NULL DEFAULT 0,
`trans_type` ENUM('IN','OUT') NOT NULL DEFAULT 'IN',
KEY (`party_userid`)
-) TYPE = HEAP COMMENT = 'Temporary transfer table'", array(getMemberId()), __FILE__, __LINE__);
+) ENGINE = HEAP COMMENT = 'Temporary transfer table'", array(getMemberId()), __FILE__, __LINE__);
// Let's begin with the incoming list
$result = SQL_QUERY_ESC("SELECT `trans_id`, `from_userid`, `points`, `reason`, `time_trans` FROM `{?_MYSQL_PREFIX?}_user_transfers_in` WHERE `userid`=%s ORDER BY `id` ASC LIMIT {?transfer_max?}",
if (!SQL_IS_LINK_UP()) return false;
// Create it here
- $result = SQL_QUERY_ESC("CREATE TABLE IF NOT EXISTS `{?_MYSQL_PREFIX?}_stats_%s` (
+ $result = SQL_QUERY_ESC("CREATE TEMPORARY TABLE IF NOT EXISTS `{?_MYSQL_PREFIX?}_stats_%s` (
`stats_entry` VARCHAR(100) NOT NULL DEFAULT '',
`stats_value` BIGINT(20) NOT NULL DEFAULT 0,
PRIMARY KEY (`stats_entry`)
-) TYPE = HEAP COMMENT = 'Temporary statistics table'",
+) ENGINE = HEAP COMMENT = 'Temporary statistics table'",
array(generateDateTime(time(), '6')), __FUNCTION__, __LINE__);
}