]> git.mxchange.org Git - mailer.git/blobdiff - inc/extensions/ext-sponsor.php
Rewrote some parts:
[mailer.git] / inc / extensions / ext-sponsor.php
index d31bbffea46fdd66f0b56b0fd894cedeaf56580c..f6a902d5af95f51bf28a283a6dd0d032b4e46389 100644 (file)
@@ -16,8 +16,8 @@
  * $Author::                                                          $ *
  * -------------------------------------------------------------------- *
  * Copyright (c) 2003 - 2009 by Roland Haeder                           *
- * Copyright (c) 2009 - 2011 by Mailer Developer Team                   *
- * For more information visit: http://www.mxchange.org                  *
+ * Copyright (c) 2009 - 2013 by Mailer Developer Team                   *
+ * For more information visit: http://mxchange.org                      *
  *                                                                      *
  * This program is free software; you can redistribute it and/or modify *
  * it under the terms of the GNU General Public License as published by *
@@ -41,382 +41,52 @@ if (!defined('__SECURITY')) {
 } // END - if
 
 // Version number
-setThisExtensionVersion('0.0');
+setThisExtensionVersion('0.0.0');
 
-// Version history array (add more with , '0.1.0' and so on)
-setExtensionVersionHistory(array('0.0'));
+// Version history array (add more with , '0.0.1' and so on)
+setExtensionVersionHistory(array('0.0.0'));
 
 // This extension is in development (non-productive)
-enableExtensionProductive(false);
+enableExtensionProductive(FALSE);
 
 switch (getExtensionMode()) {
-       case 'register': // Do stuff when installation is running (modules.php?module=admin is called)
-               //
-               // SQL commands to run
-               //
-               // Try to make it depend on repair
-               addExtensionDependency('repair');
-
-               //
-               // Sponsor data
-               //
-               addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_data`');
-               addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_sponsor_data` (
-`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
-`company` VARCHAR(255) NOT NULL DEFAULT '',
-`position` VARCHAR(255) NOT NULL DEFAULT '',
-`tax_ident` VARCHAR(255) NOT NULL DEFAULT '',
-`gender` ENUM('M','F','C') NOT NULL DEFAULT 'M',
-`surname` VARCHAR(255) NOT NULL DEFAULT '',
-`family` VARCHAR(255) NOT NULL DEFAULT '',
-`street_nr1` VARCHAR(255) NOT NULL DEFAULT '',
-`street_nr2` VARCHAR(255) NOT NULL DEFAULT '',
-`zip` VARCHAR(6) NOT NULL DEFAULT '',
-`city` VARCHAR(255) NOT NULL DEFAULT '',
-`country` CHAR(2) NOT NULL DEFAULT 'DE',
-`phone` VARCHAR(255) NOT NULL DEFAULT '',
-`fax` VARCHAR(255) NOT NULL DEFAULT '',
-`cell` VARCHAR(255) NOT NULL DEFAULT '',
-`email` VARCHAR(255) NOT NULL DEFAULT '',
-`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` 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 '".(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) 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`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci");
-               //
-               // Sponsor orders
-               //
-               addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_orders`');
-               addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_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,
-`regid` 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` 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 (`sponsor_id`),
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci");
-               //
-               // Pay-types
-               //
-               addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_paytypes`');
-               addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_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");
-               //
-               // Points-to-action converting
-               //
-               addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_action_convert`');
-               addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_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");
-               //
-               // Sponsor menu system (default)
-               //
-               addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_menu`');
-               addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_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`),
-UNIQUE KEY `action_what` (`action`,`what`),
-UNIQUE KEY (`what`),
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci");
-               //
-               // Registry for performable actions by your sponsors
-               //
-               addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_registry`');
-               addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_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,
-INDEX (`ext_name`),
-INDEX (`admin_id`),
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci");
-               //
-               // URLs from the sponsors
-               //
-               addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_urls`');
-               addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_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");
-               //
-               // Banners of any size from the sponsors
-               //
-               addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_banner`');
-               addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_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://',
-`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 (`sponsor_id`),
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci");
-               //
-               // Campaigns
-               //
-               addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_campaigns`');
-               addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_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,
-`campaign_name` VARCHAR(255) NOT NULL DEFAULT '',
-`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` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00',
-`locked_reason` TINYTEXT,
-`locked_timestamp` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00',
-`status` ENUM('PENDING','ACTIVE','LOCKED') NOT NULL DEFAULT 'PENDING',
-INDEX (`admin_id`),
-INDEX (`sponsor_id`),
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci");
-               //
-               // Campaigns + URLs + Banner
-               //
-               addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_campaign_assigns`');
-               addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_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,
-INDEX (`bannerid`),
-INDEX (`urlid`),
-INDEX (`campaignid`),
-PRIMARY KEY (`id`)
-) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci");
-               //
-               // Allowed data to display (administrative)
-               //
-               addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_admin_data`');
-               addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_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");
-               //
-               // Allowed data to display (sponsor-side)
-               //
-               addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_display_data`');
-               addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_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");
-               //
-               // Default allowed data to display
-               //
-               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('id','N')");
-               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('company','Y')");
-               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('position','N')");
-               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('tax_ident','N')");
-               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('gender','N')");
-               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('surname','N')");
-               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('family','N')");
-               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('street_nr1','Y')");
-               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('street_nr2','Y')");
-               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('zip','Y')");
-               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('city','Y')");
-               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('country','Y')");
-               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('phone','Y')");
-               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('fax','Y')");
-               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('email','Y')");
-               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('url','N')");
-               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('password','N')");
-               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('remote_addr','N')");
-               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('sponsor_created','N')");
-               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('last_online','N')");
-               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('last_change','N')");
-               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('status','N')");
-               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('receive_warnings','N')");
-               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('warning_interval','N')");
-               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('points_amount','N')");
-               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('points_used','N')");
-               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_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().",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 ('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, '€')");
-               //
-               // Admin menu
-               //
-               addAdminMenuSql('sponsor', NULL, 'Sponsorenbereich','Den Sponsorenbereich verwalten. Hier können Sie auch Sonderaktionen seperat deakvieren oder wieder aktivieren, Sponsorenaccounts verwalten usw.', 7);
-               addAdminMenuSql('sponsor','add_sponsor','Neuer Sponsor','Neues Sponsorenaccount hinzufügen.', 1);
-               addAdminMenuSql('sponsor','unlock_sponsor','Sponsor freischalten','Sponsorenaccounts freigeben / sperren.', 2);
-               addAdminMenuSql('sponsor','list_sponsor','Sponsoren auflisten','Listet alle verfügbaren Sponsorenaccounts auf.', 3);
-               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','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);
-               addAdminMenuSql('sponsor','config_sponsor','Einstellungen','Allgemeine Einstellungen am Sponsoring-System.', 16);
-               addAdminMenuSql('repair','repr_sponsor','Sponsormenü','Gewichtung des Sponsormenüs reparieren.', 5);
-               //
-               // Menu system (still admin menu)
-               //
-               addAdminMenuSql('menu','sponsor_medit','Sponsor-Menü editieren','Hier können Sie das Sponsorenmenü verändern: Positionen verändern, Menütitel ändern usw.', 7);
-               addAdminMenuSql('menu','sponsor_madd','Sponsor-Menü hinzufügen','Hier können Sie einen neuen Menüpunkt hinzufügen (falls Sie z.B. eigene Sponsoraktionen entwickelt haben oder welche versehendlich gelöscht haben.', 8);
-               //
-               // Guest menu
-               //
-               addGuestMenuSql('sponsor', NULL, 'Sponsoren','N','Y', 2);
-               addGuestMenuSql('sponsor','sponsor_reg','Anmeldung','N','Y', 1);
-               addGuestMenuSql('sponsor','sponsor_login','Einloggen','N','Y', 2);
-               addGuestMenuSql('sponsor','sponsor_infos','Infos/Preise','N','Y', 3);
-               addGuestMenuSql('sponsor','sponsor_agb','AGBs','N','Y', 4);
-               //
-               // Member menu
-               //
-               addMemberMenuSql('main','sponsor_list','Unsere Sponsoren','N','Y',8);
-               addMemberMenuSql('main','sponsor_reg','Sponsor werden','N','Y',9);
-               //
-               // Add default menus to sponsor menu
-               //
-               addSponsorMenuSql('main', NULL, 'Hauptauswahl','N', 1);
-               addSponsorMenuSql('main','welcome','Willkommen','N', 1);
-               addSponsorMenuSql('main','account','Ihr Account','N', 2);
-               addSponsorMenuSql('main','campaigns','Kampagnen','N', 3);
-               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);
-               addSponsorMenuSql('main','inquiry','Kontaktanfrage','N', 9);
-               addSponsorMenuSql('main','refid','Referal-Link','N', 10);
-               addSponsorMenuSql('actions', NULL, 'Sponsorenaktionen','N', 2);
-               addSponsorMenuSql('actions','mail','Sponsor-Mail','N', 1);
-               addSponsorMenuSql('actions','banner','Banner buchen','N', 2);
-               addSponsorMenuSql('actions','text','Textlink buchen','N', 3);
-               addSponsorMenuSql('logout', NULL, 'Ausloggen','N', 3);
-               addSponsorMenuSql('logout','logout','Ausloggen','N', 1);
-               addSponsorMenuSql('logout','guest','Zum Gastbereich','N', 2);
-               //
-               // 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");
-               //
-               // 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");
+       case 'setup': // Do stuff when installation is running
+               // This has been moved to inc/extensions/sponsor/mode-update.php
                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` IN('sponsor_list','sponsor_reg')");
+               addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_mod_reg` WHERE `module` IN ('sponsor','sponsor_confirm','sponsor_ref') LIMIT 3");
                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'");
-               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `visible`='Y', `locked`='N' WHERE `what`='sponsor' LIMIT 1");
+               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?}_mod_reg` SET `locked`='N', `hidden`='N', `admin_only`='N', `mem_only`='N' WHERE `module` IN ('sponsor','sponsor_confirm','sponsor_ref') LIMIT 3");
+               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'");
-               addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `visible`='N', `locked`='Y' WHERE `what`='sponsor' LIMIT 1");
+               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?}_mod_reg` SET `locked`='Y' WHERE `module` IN ('sponsor','sponsor_confirm','sponsor_ref') LIMIT 3");
@@ -443,7 +113,7 @@ PRIMARY KEY (`id`)
                break;
 
        default: // Unknown extension mode
-               logDebugMessage(__FILE__, __LINE__, sprintf("Unknown extension mode %s in extension %s detected.", getExtensionMode(), getCurrentExtensionName()));
+               reportBug(__FILE__, __LINE__, sprintf('Unknown extension mode %s in extension %s detected.', getExtensionMode(), getCurrentExtensionName()));
                break;
 } // END - switch