Introduced wrapper function addCreateTableSql(), fixed parameter order:
[mailer.git] / inc / extensions / ext-sponsor.php
index 83398707befe16f4f51819423ea6b131469e86c2..4f4e82fb8d68482d99c2b8acd42086d8e6647544 100644 (file)
  * $Date::                                                            $ *
  * $Tag:: 0.2.1-FINAL                                                 $ *
  * $Author::                                                          $ *
- * Needs to be in all Files and every File needs "svn propset           *
- * svn:keywords Date Revision" (autoprobset!) at least!!!!!!            *
  * -------------------------------------------------------------------- *
  * Copyright (c) 2003 - 2009 by Roland Haeder                           *
+ * Copyright (c) 2009 - 2011 by Mailer Developer Team                   *
  * For more information visit: http://www.mxchange.org                  *
  *                                                                      *
  * This program is free software; you can redistribute it and/or modify *
@@ -56,13 +55,13 @@ switch (getExtensionMode()) {
                // SQL commands to run
                //
                // Try to make it depend on repair
-               addExtensionUpdateDependency('repair');
+               addExtensionDependency('repair');
 
                //
                // Sponsor data
                //
-               addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_data`");
-               addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_sponsor_data` (
+               addDropTableSql('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 '',
@@ -82,73 +81,73 @@ switch (getExtensionMode()) {
 `url` VARCHAR(255) NOT NULL DEFAULT '',
 `password` VARCHAR(255) NOT NULL DEFAULT '',
 `remote_addr` VARCHAR(15) NOT NULL DEFAULT '0.0.0.0',
-`sponsor_created` VARCHAR(10) NOT NULL DEFAULT 0,
-`last_online` VARCHAR(10) NOT NULL DEFAULT 0,
-`last_change` VARCHAR(10) NOT NULL DEFAULT 0,
+`sponsor_created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+`last_online` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00',
+`last_change` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00',
 `status` ENUM('UNCONFIRMED','PENDING','CONFIRMED','LOCKED') NOT NULL DEFAULT 'UNCONFIRMED',
 `receive_warnings` ENUM('Y','N') NOT NULL DEFAULT 'Y',
-`warning_interval` BIGINT(20) UNSIGNED NOT NULL DEFAULT '".(getConfig('ONE_DAY')*7)."',
+`warning_interval` BIGINT(20) UNSIGNED NOT NULL DEFAULT '".(getOneDay()*7)."',
 `points_amount` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000,
 `points_used` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000,
 `refid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
 `ref_count` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-`hash` VARCHAR(32) NOT NULL DEFAULT '',
-`last_pay` FLOAT(7,2) UNSIGNED NOT NULL DEFAULT '0.00',
-`last_curr` 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`),
 UNIQUE KEY (`hash`),
 PRIMARY KEY (`id`)
-)TYPE={?_TABLE_TYPE?}");
+) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Main sponsor data'");
                //
                // Sponsor orders
                //
-               addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_orders`");
-               addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_sponsor_orders` (
+               addDropTableSql('sponsor_orders');
+               addCreateTableSql('sponsor_orders', "(
 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
-`sponsorid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`sponsor_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
 `admin_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
 `regid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
-`payid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`payment_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
 `pay_count` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
 `pay_status` ENUM('PENDING','PAYED','UNPAYED','DELETED') NOT NULL DEFAULT 'PENDING',
-`pay_ordered` VARCHAR(10) NOT NULL DEFAULT 0,
-`pay_done` VARCHAR(10) NOT NULL DEFAULT 0,
-INDEX (`payid`),
+`pay_ordered` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+`pay_done` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00',
+INDEX (`payment_id`),
 INDEX (`regid`),
 INDEX (`admin_id`),
-INDEX (`sponsorid`),
+INDEX (`sponsor_id`),
 PRIMARY KEY (`id`)
-)TYPE={?_TABLE_TYPE?}");
+) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Sponsor orders table'");
                //
                // Pay-types
                //
-               addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_paytypes`");
-               addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_sponsor_paytypes` (
+               addDropTableSql('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`)
-)TYPE={?_TABLE_TYPE?}");
+) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Sponsor payment types'");
                //
                // Points-to-action converting
                //
-               addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_action_convert`");
-               addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_sponsor_action_convert` (
+               addDropTableSql('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`)
-)TYPE={?_TABLE_TYPE?}");
+) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Points to action convertion data'");
                //
                // Sponsor menu system (default)
                //
-               addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_menu`");
-               addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_sponsor_menu` (
+               addDropTableSql('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,
@@ -159,78 +158,79 @@ INDEX (`action`),
 UNIQUE KEY `action_what` (`action`,`what`),
 UNIQUE KEY (`what`),
 PRIMARY KEY (`id`)
-)TYPE={?_TABLE_TYPE?}");
+) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Sponsor menu'");
                //
                // Registry for performable actions by your sponsors
                //
-               addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_registry`");
-               addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_sponsor_registry` (
+               addDropTableSql('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` VARCHAR(10) NOT NULL DEFAULT 0,
+`stamp_added` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
 INDEX (`ext_name`),
 INDEX (`admin_id`),
 PRIMARY KEY (`id`)
-)TYPE={?_TABLE_TYPE?}");
+) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Sponsor action registry'");
                //
                // URLs from the sponsors
                //
-               addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_urls`");
-               addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_sponsor_urls` (
+               addDropTableSql('sponsor_urls');
+               addCreateTableSql('sponsor_urls', "(
 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
-`sponsorid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`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 (`sponsorid`),
+INDEX (`sponsor_id`),
 PRIMARY KEY (`id`)
-)TYPE={?_TABLE_TYPE?}");
+) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'URLs from all sponsors'");
                //
                // Banners of any size from the sponsors
                //
-               addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_banner`");
-               addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_sponsor_banner` (
+               addDropTableSql('sponsor_banner');
+               addCreateTableSql('sponsor_banner', "(
 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
-`sponsorid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`sponsor_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
 `url` VARCHAR(255) NOT NULL DEFAULT 'http://',
 `alternate` VARCHAR(255) NOT NULL DEFAULT '',
 `width` INT(7) UNSIGNED NOT NULL DEFAULT 468,
 `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 (`sponsorid`),
+INDEX (`sponsor_id`),
 PRIMARY KEY (`id`)
-)TYPE={?_TABLE_TYPE?}");
+) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Banners from all sponsors'");
                //
                // Campaigns
                //
-               addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_campaigns`");
-               addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_sponsor_campaigns` (
+               addDropTableSql('sponsor_campaigns');
+               addCreateTableSql('sponsor_campaigns', "(
 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
-`sponsorid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`sponsor_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
 `admin_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
 `campaign_name` VARCHAR(255) NOT NULL DEFAULT '',
-`campaign_start` VARCHAR(10) NOT NULL DEFAULT 0,
-`campaign_end` VARCHAR(10) NOT NULL DEFAULT 0,
+`campaign_created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
+`campaign_start` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00',
+`campaign_end` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00',
 `campaign_amount` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000,
 `campaign_expired` ENUM('Y','N') NOT NULL DEFAULT 'N',
 `campaign_locked` ENUM('Y','N') NOT NULL DEFAULT 'Y',
-`campaign_ended` VARCHAR(10) NOT NULL DEFAULT 0,
+`campaign_ended` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00',
 `locked_reason` TINYTEXT,
-`locked_timestamp` VARCHAR(10) NOT NULL DEFAULT 0,
+`locked_timestamp` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00',
 `status` ENUM('PENDING','ACTIVE','LOCKED') NOT NULL DEFAULT 'PENDING',
 INDEX (`admin_id`),
-INDEX (`sponsorid`),
+INDEX (`sponsor_id`),
 PRIMARY KEY (`id`)
-)TYPE={?_TABLE_TYPE?}");
+) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Sponsor campaigns'");
                //
                // Campaigns + URLs + Banner
                //
-               addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_campaign_assigns`");
-               addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_sponsor_campaign_assigns` (
+               addDropTableSql('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,
@@ -241,29 +241,29 @@ INDEX (`bannerid`),
 INDEX (`urlid`),
 INDEX (`campaignid`),
 PRIMARY KEY (`id`)
-)TYPE={?_TABLE_TYPE?}");
+) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Campaign+Banner+URL connection data'");
                //
                // Allowed data to display (administrative)
                //
-               addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_admin_data`");
-               addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_sponsor_admin_data` (
+               addDropTableSql('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`)
-)TYPE={?_TABLE_TYPE?}");
+) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Allowed data to display to the admin'");
                //
                // Allowed data to display (sponsor-side)
                //
-               addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_display_data`");
-               addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_sponsor_display_data` (
+               addDropTableSql('sponsor_display_data');
+               addCreateTableSql('sponsor_display_data', "(
 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
-`sponsorid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
+`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 (`sponsorid`),
+INDEX (`sponsor_id`),
 PRIMARY KEY (`id`)
-)TYPE={?_TABLE_TYPE?}");
+) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Data sponsors allowed to see'");
                //
                // Default allowed data to display
                //
@@ -296,14 +296,14 @@ PRIMARY KEY (`id`)
                addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('refid','N')");
                addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('ref_count','N')");
                addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('hash','N')");
-               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('last_pay','N')");
-               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('last_curr','N')");
+               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('last_payment','N')");
+               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('last_currency','N')");
                //
                // Add default entries
                //
-               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_registry` (`ext_name`, `is_active`, `admin_id`, `stamp_added`) VALUES ('sponsor','N',".getCurrentAdminId().",UNIX_TIMESTAMP())");
+               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_registry` (`ext_name`, `is_active`, `admin_id`, `stamp_added`) VALUES ('sponsor','N',".getCurrentAdminId().",NOW())");
                addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_action_convert` (`ext_name`, `conv_rate`, `conv_name`) VALUES ('sponsor','10','Mails')");
-               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_paytypes` (`pay_name`,`pay_min_count`,`pay_rate`,`pay_currency`) VALUES ('Standart-Paket', 5, 1000.00000, '€')");
+               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_paytypes` (`pay_name`,`pay_min_count`,`pay_rate`,`pay_currency`) VALUES ('Standard-Paket', 5, 1000.00000, '€')");
                addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_paytypes` (`pay_name`,`pay_min_count`,`pay_rate`,`pay_currency`) VALUES ('Spar-Paket', 1, 200.00000, '€')");
                addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_paytypes` (`pay_name`,`pay_min_count`,`pay_rate`,`pay_currency`) VALUES ('Power-Paket', 10, 2000.00000, '€')");
                addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_paytypes` (`pay_name`,`pay_min_count`,`pay_rate`,`pay_currency`) VALUES ('Sponsor-Paket', 20, 4000.00000, '€')");
@@ -317,12 +317,12 @@ PRIMARY KEY (`id`)
                addAdminMenuSql('sponsor','edit_sponsor','Sponsor ändern','Sponsorenaccount ändern (Grundaten, nicht Freigabe!).', 4);
                addAdminMenuSql('sponsor','lock_sponsor','Sponsor ent-/sperren','Sponsorenaccount sperren und entsperren.', 5);
                addAdminMenuSql('sponsor','del_sponsor','Sponsor löschen','Sponsorenaccount löschen.', 6);
-               addAdminMenuSql('sponsor','allow_sponsor_data','Datenverwaltung','Stellen Sie hier ein, welche Daten der Sponsor im Mitgliedsbereich über sicht anzeigen darf und welche nicht.', 7);
-               addAdminMenuSql('sponsor','list_sponsor_pays','Bestellungen...','Bestellungen der Sponsoren auflisten / bearbeiten.', 8);
-               addAdminMenuSql('sponsor','list_sponsor_menu','Sponsorenmenü','Das Sponsorenmenü kann hier geändert werden.', 9);
-               addAdminMenuSql('sponsor','list_sponsor_campaigns','Kampagnen...','Verwaltung aller von Ihren Sponsoren eingerichteten Kampagnen.', 10);
-               addAdminMenuSql('sponsor','list_sponsor_urls','URL-Verwaltung','Verwaltung (freischalten, sperren, löschen, testen, bearbeiten usw.) von gebuchten URLs.', 11);
-               addAdminMenuSql('sponsor','list_sponsor_banner','Banner-Verwaltung','Verwaltung (freischalten, sperren, löschen, testen, bearbeiten usw.) von gebuchten Bannern.', 12);
+               addAdminMenuSql('sponsor','sponsor_contct','Sponsor kontaktieren','Kontaktieren Sie Sponsoren komfortabel über dieses {?TITLE?}.', 7);
+               addAdminMenuSql('sponsor','allow_sponsor_data','Datenverwaltung','Stellen Sie hier ein, welche Daten der Sponsor im Mitgliedsbereich über sicht anzeigen darf und welche nicht.', 8);
+               addAdminMenuSql('sponsor','list_sponsor_pays','Bestellungen...','Bestellungen der Sponsoren auflisten / bearbeiten.', 9);
+               addAdminMenuSql('sponsor','list_sponsor_campaigns','Kampagnen...','Management aller von Ihren Sponsoren eingerichteten Kampagnen.', 10);
+               addAdminMenuSql('sponsor','list_sponsor_urls','URL-Management','Management (freischalten, sperren, löschen, testen, bearbeiten usw.) von gebuchten URLs.', 11);
+               addAdminMenuSql('sponsor','list_sponsor_banner','Banner-Management','Management (freischalten, sperren, löschen, testen, bearbeiten usw.) von gebuchten Bannern.', 12);
                addAdminMenuSql('sponsor','list_sponsor_reg','Sponsor-Aktionen','Alle Sponsor-Aktionen auflisten und verwalten.', 13);
                addAdminMenuSql('sponsor','list_sponsor_pay','Buchungspakete','Die Sponsoren können sich {OPEN_CONFIG}POINTS{CLOSE_CONFIG}-Pakete kaufen. Hier können Sie diese verwalten.', 14);
                addAdminMenuSql('sponsor','list_sponsor_conv','{OPEN_CONFIG}POINTS{CLOSE_CONFIG} umwandeln...','Mit den vom Sponsor gekauften {OPEN_CONFIG}POINTS{CLOSE_CONFIG} kann er Aktionen buchen. Hier stellen Sie die Umrechnungsrate von {OPEN_CONFIG}POINTS{CLOSE_CONFIG} nach Sponsoraktionen um. Beispiel: 1 {OPEN_CONFIG}POINTS{CLOSE_CONFIG} = 10 Mails.', 15);
@@ -344,7 +344,8 @@ PRIMARY KEY (`id`)
                //
                // Member menu
                //
-               addMemberMenuSql('main','sponsor','Unsere Sponsoren','N','Y',8);
+               addMemberMenuSql('main','sponsor_list','Unsere Sponsoren','N','Y',8);
+               addMemberMenuSql('main','sponsor_reg','Sponsor werden','N','Y',9);
                //
                // Add default menus to sponsor menu
                //
@@ -352,8 +353,8 @@ PRIMARY KEY (`id`)
                addSponsorMenuSql('main','welcome','Willkommen','N', 1);
                addSponsorMenuSql('main','account','Ihr Account','N', 2);
                addSponsorMenuSql('main','campaigns','Kampagnen','N', 3);
-               addSponsorMenuSql('main','list_urls','URL-Verwaltung','N', 4);
-               addSponsorMenuSql('main','list_banner','Banner-Verwaltung','N', 5);
+               addSponsorMenuSql('main','list_urls','URL-Management','N', 4);
+               addSponsorMenuSql('main','list_banner','Banner-Management','N', 5);
                addSponsorMenuSql('main','settings','Einstellungen','N', 6);
                addSponsorMenuSql('main','fillup','Konto auffüllen','N', 7);
                addSponsorMenuSql('main','stats','Statistiken','N', 8);
@@ -369,43 +370,56 @@ PRIMARY KEY (`id`)
                //
                // General configuration stuff
                //
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `sponsor_ref_points` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 100.00000");
-               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `sponsor_min_points` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 1000.00000");
+               addConfigAddSql('sponsor_ref_points', "FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 100.00000");
+               addConfigAddSql('sponsor_min_points', "FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 1000.00000");
+               //
+               // Register module
+               //
+               addModuleSql('sponsor','Y','Y','N','N');
+               addModuleSql('sponsor_confirm','Y','Y','N','N');
+               addModuleSql('sponsor_ref','Y','Y','N','N');
+
+               // Update name, if not yet set
+               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_mod_reg` SET `title`='Sponsorbereich' WHERE `module`='sponsor' AND `title`='' LIMIT 1");
+               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_mod_reg` SET `title`='Sponsor-Bestätigung' WHERE `module`='sponsor_confirm' AND `title`='' LIMIT 1");
+               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_mod_reg` SET `title`='Sponsor-Referallink' WHERE `module`='sponsor_ref' AND `title`='' LIMIT 1");
                break;
 
        case 'remove': // Do stuff when removing extension
                // SQL commands to run
-               addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_data`");
-               addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_orders`");
-               addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_action_convert`");
-               addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_paytypes`");
-               addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_menu`");
-               addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_registry`");
-               addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_urls`");
-               addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_banner`");
-               addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_campaigns`");
-               addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_campaign_assigns`");
-               addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_admin_data`");
-               addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_display_data`");
+               addDropTableSql('sponsor_data');
+               addDropTableSql('sponsor_orders');
+               addDropTableSql('sponsor_action_convert');
+               addDropTableSql('sponsor_paytypes');
+               addDropTableSql('sponsor_menu');
+               addDropTableSql('sponsor_registry');
+               addDropTableSql('sponsor_urls');
+               addDropTableSql('sponsor_banner');
+               addDropTableSql('sponsor_campaigns');
+               addDropTableSql('sponsor_campaign_assigns');
+               addDropTableSql('sponsor_admin_data');
+               addDropTableSql('sponsor_display_data');
                addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `action`='sponsor' OR `what` IN('repr_sponsor','sponsor_medit','sponsor_madd')");
                addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_guest_menu` WHERE `action`='sponsor'");
-               addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_member_menu` WHERE `what`='sponsor'");
+               addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_member_menu` WHERE `what` IN('sponsor_list','sponsor_reg')");
                break;
 
        case 'activate': // Do stuff when admin activates this extension
                // SQL commands to run
-               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_guest_menu` SET `visible`='Y', `locked`='N' WHERE `action`='sponsor' LIMIT 4");
+               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_guest_menu` SET `visible`='Y', `locked`='N' WHERE `action`='sponsor'");
                addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `visible`='Y', `locked`='N' WHERE `what`='sponsor' LIMIT 1");
-               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_sponsor_menu` SET active='Y' WHERE active='N'");
-               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_sponsor_registry` SET is_active='Y' WHERE is_active='N'");
+               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_sponsor_menu` SET `active`='Y' WHERE active='N'");
+               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_sponsor_registry` SET `is_active`='Y' WHERE `is_active`='N'");
+               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_mod_reg` SET `locked`='N', `hidden`='N', `admin_only`='N', `mem_only`='N' WHERE `module` IN ('sponsor','sponsor_confirm','sponsor_ref') LIMIT 3");
                break;
 
        case 'deactivate': // Do stuff when admin deactivates this extension
                // SQL commands to run
-               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_guest_menu` SET `visible`='N', `locked`='Y' WHERE `action`='sponsor' LIMIT 4");
+               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_guest_menu` SET `visible`='N', `locked`='Y' WHERE `action`='sponsor'");
                addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `visible`='N', `locked`='Y' WHERE `what`='sponsor' LIMIT 1");
-               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_sponsor_menu` SET active='N' WHERE active='Y'");
-               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_sponsor_registry` SET is_active='N' WHERE is_active='Y'");
+               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_sponsor_menu` SET `active`='N' WHERE `active`='Y'");
+               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_sponsor_registry` SET `is_active`='N' WHERE `is_active`='Y'");
+               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_mod_reg` SET `locked`='Y' WHERE `module` IN ('sponsor','sponsor_confirm','sponsor_ref') LIMIT 3");
                break;
 
        case 'update': // Update an extension
@@ -416,22 +430,22 @@ PRIMARY KEY (`id`)
                                // Update notes (these will be set as task text!)
                                setExtensionUpdateNotes('');
                                break;
-               }
+               } // END - switch
                break;
 
        case 'modify': // When the extension got modified
                break;
 
-       case 'test': // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305.
+       case 'test': // For testing purposes
                break;
 
        case 'init': // Do stuff when extension is initialized
                break;
 
        default: // Unknown extension mode
-               logDebugMessage(__FILE__, __LINE__, sprintf("Unknown extension mode %s detected.", getExtensionMode()));
+               logDebugMessage(__FILE__, __LINE__, sprintf("Unknown extension mode %s in extension %s detected.", getExtensionMode(), getCurrentExtensionName()));
                break;
-}
+} // END - switch
 
 // [EOF]
 ?>