* @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 *
* @TODO Yoo!Media: What is LayerAd compared to Layer click? *
* -------------------------------------------------------------------- *
* Copyright (c) 2003 - 2009 by Roland Haeder *
- * Copyright (c) 2009, 2010 by Mailer Developer Team *
+ * 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 *
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 '',
`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,
) 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,
) 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,
) 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',
) 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 '',
) 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,
) 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,
) 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,
// 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,
) 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,
('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
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'");
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