Extension ext-network does now show if a network requires the webmaster to send a...
[mailer.git] / inc / extensions / ext-network.php
index 55ddf49e786e542d53d3fbecea81d214866746e0..964463054d1c5d19382dffeccbf42ee1e08062a0 100644 (file)
@@ -25,6 +25,7 @@
  * @TODO FuCoExSponsor: No High-Forced banner, HTML is BASE64 encoded   *
  * @TODO FuCoExSponsor: Textlink-View is JavaScript!                    *
  * @TODO Fusion-Ads: Has click/banner URL in API response               *
+ * @TODO GeldSponsor.de Requires ID card copy/business reg.             *
  * @TODO GolloX: Which charset?                                         *
  * @TODO paid4ad: Which URLs for click and banner?                      *
  * @TODO VIPads: HTML text is send encoded with BASE64                  *
@@ -73,7 +74,7 @@ enableExtensionProductive(false);
 switch (getExtensionMode()) {
        case 'register': // Do stuff when installation is running (modules.php?module=admin is called)
                // Main table which hold
-               addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_data`');
+               addDropTableSql('network_data');
                addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_network_data` (
 `network_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
 `network_short_name` VARCHAR(50) NOT NULL DEFAULT '',
@@ -83,13 +84,14 @@ switch (getExtensionMode()) {
 `network_row_seperator` CHAR(4) NOT NULL DEFAULT '|',
 `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'");
 
                // Types the network provider is supporting (e.g. Forced-Banner and so on)
                // @TODO network_type_handle is an internal name and needs documentation
-               addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_types`');
+               addDropTableSql('network_types');
                addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_network_types` (
 `network_type_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
 `network_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
@@ -102,7 +104,7 @@ PRIMARY KEY (`network_type_id`)
 ) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Types provideable by networks'");
 
                // HTTP parameters (names) for URLs
-               addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_request_params`');
+               addDropTableSql('network_request_params');
                addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_network_request_params` (
 `network_param_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
 `network_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
@@ -116,7 +118,7 @@ PRIMARY KEY (`network_param_id`)
 ) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Request parameters for GET/POST request'");
 
                // Error status codes
-               addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_error_codes`');
+               addDropTableSql('network_error_codes');
                addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_network_error_codes` (
 `network_type_code_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
 `network_type_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
@@ -128,7 +130,7 @@ PRIMARY KEY (`network_type_code_id`)
 ) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Error codes for all types'");
 
                // Code types (internal table)
-               addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_error_types`');
+               addDropTableSql('network_error_types');
                addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_network_error_types` (
 `network_code_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
 `network_code` VARCHAR(100) NOT NULL DEFAULT 'INVALID_CODE',
@@ -137,7 +139,7 @@ PRIMARY KEY (`network_code_id`)
 ) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Error types, generic data, DO NOT ALTER!'");
 
                // Valid translation keys (we hate hard-coded arrays, you see?)
-               addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_translations`');
+               addDropTableSql('network_translations');
                addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_network_translations` (
 `network_translation_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
 `network_translation_name` VARCHAR(100) NOT NULL DEFAULT '',
@@ -146,7 +148,7 @@ 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!'");
 
                // Array-Element translation tables per type/provider
-               addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_api_translation`');
+               addDropTableSql('network_api_translation');
                addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_network_api_translation` (
 `network_api_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
 `network_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
@@ -159,7 +161,7 @@ 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!'");
 
                // Data from the webmaster (you!)
-               addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_config`');
+               addDropTableSql('network_config');
                addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_network_config` (
 `network_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
 `network_affiliate_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
@@ -173,7 +175,7 @@ PRIMARY KEY (`network_id`)
 ) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Configuration data from the webmaster (you!)'");
 
                // Configuration data for e.g. reload-time
-               addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_types_config`');
+               addDropTableSql('network_types_config');
                addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_network_types_config` (
 `network_data_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
 `network_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
@@ -190,7 +192,7 @@ PRIMARY KEY (`network_data_id`)
                // 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.
-               addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_cache`');
+               addDropTableSql('network_cache');
                addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_network_cache` (
 `network_cache_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
 `network_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
@@ -202,7 +204,7 @@ PRIMARY KEY (`network_cache_id`)
 ) ENGINE = {?_TABLE_TYPE?} CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'Cache for all queried APIs'");
 
                // Reload locks for several types
-               addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_reloads`');
+               addDropTableSql('network_reloads');
                addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_network_reloads` (
 `network_reload_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
 `network_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
@@ -268,37 +270,37 @@ PRIMARY KEY (`network_reload_id`)
 ('REQUEST_PARAMETER_INCOMPLETE')");
 
                // Sponsor networks
-               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_data` (`network_short_name`, `network_title`, `network_reflink`, `network_data_seperator`, `network_row_seperator`, `network_request_type`, `network_charset`) VALUES
-('a3h', 'A3H', 'http://www.a3h.de?ref=1447', '|', '|', 'GET', 'WINDOWS-1252'),
-('abiszed','AbisZED-Netz','http://abiszed-netz.de/index.php?ref=557', '|', '|', 'GET', 'WINDOWS-1252'),
-('admagnet', 'AD-Magnet', 'http://www.ad-magnet.de/index.php?ref=495', '|', '|', 'GET', 'ISO-8859-1'),
-('adcocktail', 'ADCocktail', 'http://www.adcocktail.com/?rid=2596', '|', '|', 'GET', 'WINDOWS-1252'),
-('adpaid', 'AdPaid', 'http://www.adpaid.de?ref=1464', '|', '|', 'GET', 'ISO-8859-1'),
-('ads4', 'Ads4.de', 'http://www.ads4.de/?werber=Quix0r', '|', '|', 'GET', 'WINDOWS-1252'),
-('ads4webbis', 'Ads4Webbis', 'http://www.ads4webbis.de?ref=835', '|', '|', 'GET', 'WINDOWS-1252'),
-('ads4world', 'Ads4World', 'http://www.ads4world.de?ref=252', '|', '|', 'GET', 'WINDOWS-1252'),
-('affiliblatt', 'Affiliblatt', 'http://www.Affiliblatt.de/?sid=MTAzNQ==&site=home', '|', '|', 'GET', 'UTF-8'),
-('allads4you', 'AllAds4You', 'http://www.allads4you.de?ref=1146', '|', '|', 'GET', 'ISO-8859-1'),
-('alster', 'Alster-Marketing', 'http://www.alstermarketing.de?ref=1851', '|', '|', 'GET', 'ISO-8859-16'),
-('bonus', 'BonusSponsor', 'http://www.bonussponsor.de?ref=1286', '|', '|', 'GET', 'WINDOWS-1252'),
-('fusion', 'Fusion-Ads', 'http://www.fusion-ads.de/?ref=84', '|', '|', 'GET', 'ISO-8859-1'),
-('gigapromo', 'GigaPromo', 'http://www.gigapromo.de/index.php?ref=953', '|', '|', 'GET', 'WINDOWS-1252'),
-('hpsonsor', 'HPSponsor', 'http://hpsponsor.at?ref=29', '|', '|', 'GET', 'WINDOWS-1252'),
-('make-euros', 'Make-Euros.de', 'http://www.make-euros.de?ref=1184', '|', '|', 'GET', 'ISO-8859-1'),
-('megad', 'Mega-Ad', 'http://www.mega-ad.de/?ref=303', '|', '|', 'GET', 'WINDOWS-1252'),
-('power-promo', 'Power-Promo', 'http://www.power-promo.de?ref=1231', '|', '|', 'GET', 'WINDOWS-1252'),
-('secash', 'SeCash', 'http://www.secash.de?ref=758', '|', '|', 'GET', 'WINDOWS-1252'),
-('swizerland', 'The-Swizerland-Ad-Network', 'http://www.the-switzerland-ad-network.ch?ref=3', '|', '|', 'GET', 'WINDOWS-1252'),
-('ultrapromo', 'UltraPROMO', 'http://www.ultrapromo.eu?ref=485', '|', '|', 'GET', 'WINDOWS-1252'),
-('werbepartnercc', 'Der Werbepartner.cc', 'http://www.werbepartner.cc/sponsor/?ref=696', '|', '|', 'GET', 'WINDOWS-1252'),
-('yoomedia', 'Yoo!Media Solutions', 'http://www.yoomedia.de?ref=1715', '|', '|', 'GET', 'WINDOWS-1252'),
-('cityads', 'City-Ads', 'http://www.city-ads.de?ref=221', '|', '|', 'GET', 'WINDOWS-1252'),
-('goldsponsor', 'Gold-Sponsor', 'http://www.gold-sponsor.de?ref=42', '|', '|', 'GET', 'WINDOWS-1252'),
-('doubleads', 'doubleads.de', 'http://www.doubleads.de?ref=1063', '|', '|', 'GET', 'ISO-8859-1'),
-('vipads', 'VIPads.de', 'http://vipads.de/index.php?seite=anmeldung&ref=Quix0r', '|', '|', 'GET', 'ISO-8859-1'),
-('homeads', 'homeADS', 'http://www.homeads.de/?ref=1540', '|', '|', 'GET', 'WINDOWS-1252'),
-('fucoexsponsor', 'FuCoExSponsor.net', 'http://fucoexsponsor.net/index.php?seite=anmeldung&ref=Quix0r', '|', '|', 'GET', 'ISO-8859-1'),
-('adconvention', 'AdConvention', 'http://www.adconvention.de?ref=233', '|', '|', 'GET', 'WINDOWS-1252')");
+               addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_data` (`network_short_name`, `network_title`, `network_reflink`, `network_data_seperator`, `network_row_seperator`, `network_request_type`, `network_charset`,`network_require_id_card`) VALUES
+('a3h', 'A3H', 'http://www.a3h.de?ref=1447', '|', '|', 'GET', 'WINDOWS-1252','N'),
+('abiszed','AbisZED-Netz','http://abiszed-netz.de/index.php?ref=557', '|', '|', 'GET', 'WINDOWS-1252','Y'),
+('admagnet', 'AD-Magnet', 'http://www.ad-magnet.de/index.php?ref=495', '|', '|', 'GET', 'ISO-8859-1','N'),
+('adcocktail', 'ADCocktail', 'http://www.adcocktail.com/?rid=2596', '|', '|', 'GET', 'WINDOWS-1252','N'),
+('adpaid', 'AdPaid', 'http://www.adpaid.de?ref=1464', '|', '|', 'GET', 'ISO-8859-1','N'),
+('ads4', 'Ads4.de', 'http://www.ads4.de/?werber=Quix0r', '|', '|', 'GET', 'WINDOWS-1252','N'),
+('ads4webbis', 'Ads4Webbis', 'http://www.ads4webbis.de?ref=835', '|', '|', 'GET', 'WINDOWS-1252','N'),
+('ads4world', 'Ads4World', 'http://www.ads4world.de?ref=252', '|', '|', 'GET', 'WINDOWS-1252','N'),
+('affiliblatt', 'Affiliblatt', 'http://www.Affiliblatt.de/?sid=MTAzNQ==&site=home', '|', '|', 'GET', 'UTF-8','N'),
+('allads4you', 'AllAds4You', 'http://www.allads4you.de?ref=1146', '|', '|', 'GET', 'ISO-8859-1','N'),
+('alster', 'Alster-Marketing', 'http://www.alstermarketing.de?ref=1851', '|', '|', 'GET', 'ISO-8859-16','N'),
+('bonus', 'BonusSponsor', 'http://www.bonussponsor.de?ref=1286', '|', '|', 'GET', 'WINDOWS-1252','N'),
+('fusion', 'Fusion-Ads', 'http://www.fusion-ads.de/?ref=84', '|', '|', 'GET', 'ISO-8859-1','N'),
+('gigapromo', 'GigaPromo', 'http://www.gigapromo.de/index.php?ref=953', '|', '|', 'GET', 'WINDOWS-1252','N'),
+('hpsonsor', 'HPSponsor', 'http://hpsponsor.at?ref=29', '|', '|', 'GET', 'WINDOWS-1252','N'),
+('make-euros', 'Make-Euros.de', 'http://www.make-euros.de?ref=1184', '|', '|', 'GET', 'ISO-8859-1','N'),
+('megad', 'Mega-Ad', 'http://www.mega-ad.de/?ref=303', '|', '|', 'GET', 'WINDOWS-1252','N'),
+('power-promo', 'Power-Promo', 'http://www.power-promo.de?ref=1231', '|', '|', 'GET', 'WINDOWS-1252','N'),
+('secash', 'SeCash', 'http://www.secash.de?ref=758', '|', '|', 'GET', 'WINDOWS-1252','N'),
+('swizerland', 'The-Swizerland-Ad-Network', 'http://www.the-switzerland-ad-network.ch?ref=3', '|', '|', 'GET', 'WINDOWS-1252','N'),
+('ultrapromo', 'UltraPROMO', 'http://www.ultrapromo.eu?ref=485', '|', '|', 'GET', 'WINDOWS-1252','N'),
+('werbepartnercc', 'Der Werbepartner.cc', 'http://www.werbepartner.cc/sponsor/?ref=696', '|', '|', 'GET', 'WINDOWS-1252','N'),
+('yoomedia', 'Yoo!Media Solutions', 'http://www.yoomedia.de?ref=1715', '|', '|', 'GET', 'WINDOWS-1252','N'),
+('cityads', 'City-Ads', 'http://www.city-ads.de?ref=221', '|', '|', 'GET', 'WINDOWS-1252','N'),
+('goldsponsor', 'Gold-Sponsor', 'http://www.gold-sponsor.de?ref=42', '|', '|', 'GET', 'WINDOWS-1252','N'),
+('doubleads', 'doubleads.de', 'http://www.doubleads.de?ref=1063', '|', '|', 'GET', 'ISO-8859-1','Y'),
+('vipads', 'VIPads.de', 'http://vipads.de/index.php?seite=anmeldung&ref=Quix0r', '|', '|', 'GET', 'ISO-8859-1','N'),
+('homeads', 'homeADS', 'http://www.homeads.de/?ref=1540', '|', '|', 'GET', 'WINDOWS-1252','N'),
+('fucoexsponsor', 'FuCoExSponsor.net', 'http://fucoexsponsor.net/index.php?seite=anmeldung&ref=Quix0r', '|', '|', 'GET', 'ISO-8859-1','N'),
+('adconvention', 'AdConvention', 'http://www.adconvention.de?ref=233', '|', '|', 'GET', 'WINDOWS-1252','N')");
 
                // Network type handlers - A3H
                addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_types` (`network_type_id`, `network_id`,`network_type_handle`,`network_type_api_url`,`network_type_click_url`,`network_type_banner_url`) VALUES
@@ -4846,16 +4848,16 @@ PRIMARY KEY (`network_reload_id`)
 
        case 'remove': // Do stuff when removing extension
                // SQL commands to run
-               addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_data`');
-               addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_types`');
-               addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_request_params`');
-               addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_error_codes`');
-               addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_error_types`');
-               addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_api_translation`');
-               addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_config`');
-               addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_types_config`');
-               addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_cache`');
-               addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_reloads`');
+               addDropTableSql('network_data');
+               addDropTableSql('network_types');
+               addDropTableSql('network_request_params');
+               addDropTableSql('network_error_codes');
+               addDropTableSql('network_error_types');
+               addDropTableSql('network_api_translation');
+               addDropTableSql('network_config');
+               addDropTableSql('network_types_config');
+               addDropTableSql('network_cache');
+               addDropTableSql('network_reloads');
 
                // Admin menu
                addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `action`='network'");
@@ -4883,7 +4885,7 @@ PRIMARY KEY (`network_reload_id`)
        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