From 68546c98df371dd7a763a4f63ed19ec2ce945dba Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Sat, 10 Sep 2011 10:00:00 +0000 Subject: [PATCH] Extension ext-network continued: - Tables network_vcheck_params, network_vcheck_errors and network_vcheck_config added which will allow a per-advertising-network access on network-vcheck.php to report back from the network to the mailer that the payout was success - A column was missing in one export function which results in broken SQL queries --- inc/extensions/ext-network.php | 78 +++++++++++++++++++++++++++------- inc/libs/network_functions.php | 2 +- 2 files changed, 63 insertions(+), 17 deletions(-) diff --git a/inc/extensions/ext-network.php b/inc/extensions/ext-network.php index ed5f0971fa..4d756d46c5 100644 --- a/inc/extensions/ext-network.php +++ b/inc/extensions/ext-network.php @@ -110,7 +110,7 @@ PRIMARY KEY (`network_type_id`), UNIQUE INDEX `provider_type` (`network_id`,`network_type_handler`)", 'Types provideable by networks'); - // HTTP parameters (names) for URLs + // HTTP parameters (names) for URLs or POST fields addDropTableSql('network_request_params'); addCreateTableSql('network_request_params', " `network_request_param_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, @@ -124,7 +124,20 @@ UNIQUE INDEX `provider_type_key` (`network_id`,`network_type_id`,`network_reques UNIQUE INDEX `provider_type_value` (`network_id`,`network_type_id`,`network_request_param_value`)", 'Request parameters for GET/POST request'); - // Error status codes + // Payment check ("vcheck") for all advertising networks + addDropTableSql('network_vcheck_params'); + addCreateTableSql('network_vcheck_params', " +`network_vcheck_param_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, +`network_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, +`network_vcheck_param_key` VARCHAR(20) NOT NULL DEFAULT 'invalid', +`network_vcheck_param_value` VARCHAR(20) NOT NULL DEFAULT 'invalid', +`network_vcheck_param_default` VARCHAR(20) NULL DEFAULT NULL, +PRIMARY KEY (`network_vcheck_param_id`), +UNIQUE INDEX `provider_key` (`network_id`, `network_vcheck_param_key`), +UNIQUE INDEX `provider_value` (`network_id`, `network_vcheck_param_value`)", + 'Payment check (vcheck) parameters per network'); + + // Network handler error codes addDropTableSql('network_error_codes'); addCreateTableSql('network_error_codes', " `network_type_code_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, @@ -136,6 +149,18 @@ UNIQUE INDEX `code_type` (`network_type_code_value`,`network_type_id`), INDEX (`network_type_id`)", 'Error codes for all types'); + // V-Check error codes + addDropTableSql('network_vcheck_errors'); + addCreateTableSql('network_vcheck_errors', " +`network_vcheck_error_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, +`network_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, +`network_vcheck_error_value` VARCHAR(50) NOT NULL DEFAULT '', +`network_vcheck_error_type` VARCHAR(100) NOT NULL DEFAULT 'INVALID_TYPE', +PRIMARY KEY (`network_vcheck_error_id`), +UNIQUE INDEX `provider_value` (`network_id`, `network_vcheck_error_value`), +UNIQUE INDEX `provider_type` (`network_id`, `network_vcheck_error_type`)", + 'Error codes for all payment checks'); + // Valid translation keys (we hate hard-coded arrays, you see?) addDropTableSql('network_translations'); addCreateTableSql('network_translations', " @@ -161,6 +186,7 @@ INDEX (`sort`)", // Data from the webmaster (you!) addDropTableSql('network_api_config'); addCreateTableSql('network_api_config', " +`network_api_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, `network_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, `network_api_affiliate_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, `network_api_password` VARCHAR(255) NOT NULL DEFAULT '', @@ -168,7 +194,8 @@ INDEX (`sort`)", `network_api_active` ENUM('Y','N') NOT NULL DEFAULT 'Y', `network_api_referral_link` VARCHAR(255) NULL DEFAULT NULL, `network_api_referral_button` VARCHAR(255) NULL DEFAULT NULL, -PRIMARY KEY (`network_id`), +PRIMARY KEY (`network_api_id`), +UNIQUE INDEX (`network_id`), UNIQUE INDEX `network_affiliate` (`network_id`,`network_api_affiliate_id`), UNIQUE INDEX `affiliate_site` (`network_api_affiliate_id`,`network_api_site_id`)", 'API configuration data'); @@ -188,9 +215,24 @@ PRIMARY KEY (`network_data_id`), UNIQUE INDEX `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. + // Configuration data for vcheck (e.g. key) + addDropTableSql('network_vcheck_config'); + addCreateTableSql('network_vcheck_config', " +`network_vcheck_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, +`network_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, +`network_vcheck_key` VARCHAR(50) NOT NULL DEFAULT 'INVALID', +`network_vcheck_field1` VARCHAR(50) NOT NULL DEFAULT 'userid', +`network_vcheck_field2` VARCHAR(50) NOT NULL DEFAULT 'campaign_id', +PRIMARY KEY (`network_vcheck_id`), +UNIQUE INDEX (`network_id`), +UNIQUE INDEX (`network_vcheck_key`)", + 'Configuration data for vcheck per network'); + + /* + * 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', " `network_cache_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, @@ -483,7 +525,7 @@ UNIQUE INDEX `provider_type` (`network_id`,`network_type_id`)", (386, 38, 'textmail', 'http://www.adprovi.de/interface/api_2.php', 'http://www.adprovi.de/codes/paidmail.php?id=%UID%&bid=%CID%&aid=%SID%&trackid=%TID%', NULL, 'h')"); // Network type handlers - Ads2Earn - addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_types` (`network_type_id`,`network_id`,`network_type_handler`,`network_type_api_url`,`network_type_click_url`,`network_type_banner_url`) VALUES + addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_types` (`network_type_id`,`network_id`,`network_type_handler`,`network_type_api_url`,`network_type_click_url`,`network_type_banner_url`,`network_type_reload_time_unit`) VALUES (395, 39, 'banner_click', 'http://www.ads2earn.de/interface/out_banner.php', 'http://www.ads2earn.de/bannerklf.php?id=%CID%', 'http://www.ads2earn.de/banner.php?id=%CID%','h'), (396, 39, 'banner_view', 'http://www.ads2earn.de/interface/out_banner.php', 'http://www.ads2earn.de/bannerklf.php?id=%CID%', 'http://www.ads2earn.de/banner.php?id=%CID%','h'), (397, 39, 'textlink_click', 'http://www.ads2earn.de/interface/out_textlink.php', 'http://www.ads2earn.de/textlinkklick.php?id=%CID%', NULL,'h'), @@ -497,7 +539,7 @@ UNIQUE INDEX `provider_type` (`network_id`,`network_type_id`)", (405, 39, 'skybanner_view', 'http://www.ads2earn.de/interface/out_banner.php', 'http://www.ads2earn.de/bannerklf.php?id=%CID%', 'http://www.ads2earn.de/banner.php?id=%CID%','h')"); // Network type handlers - Ads2Webbi - addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_types` (`network_type_id`,`network_id`,`network_type_handler`,`network_type_api_url`,`network_type_click_url`,`network_type_banner_url`) VALUES + addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_types` (`network_type_id`,`network_id`,`network_type_handler`,`network_type_api_url`,`network_type_click_url`,`network_type_banner_url`,`network_type_reload_time_unit`) VALUES (406, 40, 'forcedbanner', 'http://www.ads2webbi.de/interface/', 'http://www.ads2webbi.de/codes/forcedbannerklick.php?id=%UID%&bid=%CID%&aid=%SID%', 'http://www.ads2webbi.de/codes/forcedbannerview.php?id=%UID%&bid=%CID%&aid=%SID%','h'), (407, 40, 'forcedtextlink', 'http://www.ads2webbi.de/interface/', 'http://www.ads2webbi.de/codes/forcedtextlinkklick.php?id=%UID%&bid=%CID%&aid=%SID%', NULL,'h'), (408, 40, 'banner_view', 'http://www.ads2webbi.de/interface/', 'http://www.ads2webbi.de/codes/bannerklick.php?id=%UID%&bid=%CID%&aid=%SID%', 'http://www.ads2webbi.de/codes/bannerview.php?id=%UID%&bid=%CID%&aid=%SID%','h'), @@ -6594,14 +6636,16 @@ UNIQUE INDEX `provider_type` (`network_id`,`network_type_id`)", addAdminMenuSql('network', NULL, 'Werbenetzwerke', 'Verwalten Sie hier Werbenetzwerke (API-Anbindung), versenden Sie deren Mails, oder übernehmen Sie deren Textlinks und vieles mehr. VORSICHT: Das Einrichten von weiteren Werbenetzwerken ist nicht leicht, dafür aber sehr flexibel! Sollte ein Netzwerk fehlen, so melden Sie dies bitte im Forum!',4); addAdminMenuSql('network', 'config_network_api', 'API-Zugangsdaten', 'Stellen Sie Ihre Affiliate- Webseiten-Id und API-Passwort ein. Diese erhalten Sie aus dem Affiliate-Bereich des jeweiligen Werbenetzwerkes. Sollten Sie bei einem Werbenetzwerk noch nicht angemeldet sein, verwenden Sie bitte meinen Referral-Link dazu.',1); addAdminMenuSql('network', 'config_network_types', 'Werbearten', 'Stellen Sie hier Reload-Zeiten, Mindestauffenthalt und so weiter pro Werbeart und Werbenetzwerk ein. Es werden sonst Ausgangswerte (Mimimumwerte: 0, Maximumwerte: sehr gross, Erotik: aus) angenommen, die Sie meistens nicht wollen.',2); - addAdminMenuSql('network', 'query_network_apis', 'APIs abfragen', 'Fragt alle eingestellten APIs ab. Die Ergebnisse werden dann für einen einstellbaren Zeitraum gecacht und nicht erneut angefordert.',3); - addAdminMenuSql('network', 'config_network', 'Einstellungen', 'Stellen Sie generelle Einstellungen ein, die für alle Werbenetzwerke gelten, wie z.B. Cache-Erneuerungsinterval. Generell sind aber die Einstellungen in Ordnung, da z.B. sonst Ihre freien Abfragen beim Werbenetzwerk sich zu schnell abbauen.',4); - addAdminMenuSql('network', 'list_network_reloads', 'Reload-Sperren', 'Listen oder löschen Sie hier Reload-Sperren. Vorsicht: Die hier gespeicherten Reload-Sperren sind vom jeweiligen Werbenetzwerk übernommen. Eventuell verdienen Sie nichts, wenn Sie z.B. eine Mail innerhalb der Reload-Sperre erneut versenden.',5); - addAdminMenuSql('network', 'list_networks', 'Dev-Grunddaten', 'Entwicklereinstellungen! Hier ändern Sie die Einstellungen an den Grunddaten (Stammdaten) des jeweiligen Werbenetzwerks ab. Sie sollten hier generell nichts einstellen und im Forum um Hilfe fragen, wenn Sie selber ein Werbenetzwerk einrichten möchten.', 6); - addAdminMenuSql('network', 'list_network_types', 'Dev-Werbearten-Handler', 'Entwicklereinstellungen! Hier ändern Sie die Einstellungen zu den Werbearten-Handler pro Werbenetzwerken. Sie sollten hier generell nichts einstellen und im Forum um Hilfe fragen, wenn Sie selber ein Werbenetzwerk einrichten möchten.', 7); - addAdminMenuSql('network', 'list_network_request_params', 'Dev-Abfrageparameter', 'Entwicklereinstellungen! Hier stellen Sie die Abfrageparameter (wie sie genannt werden müssen, um das API-Script korrekt aufrufen zu können) ein, pro Werbenetzwerk. Sie sollten hier generell nichts einstellen und im Forum um Hilfe fragen, wenn Sie selber ein Werbenetzwerk einrichten möchten.', 8); - addAdminMenuSql('network', 'list_network_array_translation', 'Dev-Antwort-Array', 'Entwicklereinstellungen! Hier stellen Sie die Zuweisungen der aus der analysierten API-Antwort Array-Elementen zu den Datenspalten ein. Sie sollten hier generell nichts einstellen und im Forum um Hilfe fragen, wenn Sie selber ein Werbenetzwerk einrichten möchten.', 10); - addAdminMenuSql('network', 'list_network_error_codes', 'Dev-Fehlercodes', 'Entwicklereinstellungen! Hier stellen Sie die Fehlercodes ein, die im Falle eines Fehlers pro API-Script kommen können. Sie sollten hier generell nichts einstellen und im Forum um Hilfe fragen, wenn Sie selber ein Werbenetzwerk einrichten möchten.', 11); + addAdminMenuSql('network', 'config_network_vcheck', 'V-Check', 'Aktivieren Sie hier den Vergütungscheck (V-Check) oder richten Sie einen neuen Zugangsschlüssel ("Passwort") für das Werbenetzwerk ein. Nicht jedes Werbenetzwerk unterstützt dies! Am besten schauen Sie in Ihrem Affiliate-Bereich des jeweiligen Werbenetzwerkes nach, ob dort der V-Check angeboten wird.',3); + addAdminMenuSql('network', 'query_network_apis', 'APIs abfragen', 'Fragt alle eingestellten APIs ab. Die Ergebnisse werden dann für einen einstellbaren Zeitraum gecacht und nicht erneut angefordert.',4); + addAdminMenuSql('network', 'config_network', 'Einstellungen', 'Stellen Sie generelle Einstellungen ein, die für alle Werbenetzwerke gelten, wie z.B. Cache-Erneuerungsinterval. Generell sind aber die Einstellungen in Ordnung, da z.B. sonst Ihre freien Abfragen beim Werbenetzwerk sich zu schnell abbauen.',5); + addAdminMenuSql('network', 'list_network_reloads', 'Reload-Sperren', 'Listen oder löschen Sie hier Reload-Sperren. Vorsicht: Die hier gespeicherten Reload-Sperren sind vom jeweiligen Werbenetzwerk übernommen. Eventuell verdienen Sie nichts, wenn Sie z.B. eine Mail innerhalb der Reload-Sperre erneut versenden.',6); + addAdminMenuSql('network', 'list_networks', 'Dev-Grunddaten', 'Entwicklereinstellungen! Hier ändern Sie die Einstellungen an den Grunddaten (Stammdaten) des jeweiligen Werbenetzwerks ab. Sie sollten hier generell nichts einstellen und im Forum um Hilfe fragen, wenn Sie selber ein Werbenetzwerk einrichten möchten.', 7); + addAdminMenuSql('network', 'list_network_types', 'Dev-Werbearten-Handler', 'Entwicklereinstellungen! Hier ändern Sie die Einstellungen zu den Werbearten-Handler pro Werbenetzwerken. Sie sollten hier generell nichts einstellen und im Forum um Hilfe fragen, wenn Sie selber ein Werbenetzwerk einrichten möchten.', 8); + addAdminMenuSql('network', 'list_network_request_params', 'Dev-Abfrageparameter', 'Entwicklereinstellungen! Hier stellen Sie die Abfrageparameter (wie sie genannt werden müssen, um das API-Script korrekt aufrufen zu können) ein, pro Werbenetzwerk. Sie sollten hier generell nichts einstellen und im Forum um Hilfe fragen, wenn Sie selber ein Werbenetzwerk einrichten möchten.', 9); + addAdminMenuSql('network', 'list_network_vcheck_params', 'Dev-VCheck-Parameter', 'Entwicklereinstellungen! Hier stellen Sie die Abfrageparameter für network-vcheck.php pro Werbenetzwerk ein, damit dies vom Werbenetzwerk zurück korrekt aufgerufen wird. Sie sollten hier generell nichts einstellen und im Forum um Hilfe fragen, wenn Sie selber ein Werbenetzwerk einrichten möchten.', 10); + addAdminMenuSql('network', 'list_network_array_translation', 'Dev-Antwort-Array', 'Entwicklereinstellungen! Hier stellen Sie die Zuweisungen der aus der analysierten API-Antwort Array-Elementen zu den Datenspalten ein. Sie sollten hier generell nichts einstellen und im Forum um Hilfe fragen, wenn Sie selber ein Werbenetzwerk einrichten möchten.', 11); + addAdminMenuSql('network', 'list_network_error_codes', 'Dev-Fehlercodes', 'Entwicklereinstellungen! Hier stellen Sie die Fehlercodes ein, die im Falle eines Fehlers pro API-Script kommen können. Sie sollten hier generell nichts einstellen und im Forum um Hilfe fragen, wenn Sie selber ein Werbenetzwerk einrichten möchten.', 12); // Configuration entries addConfigAddSql('network_cache_refresh', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT ' . (60 * 15)); @@ -6612,10 +6656,12 @@ UNIQUE INDEX `provider_type` (`network_id`,`network_type_id`)", addDropTableSql('network_data'); addDropTableSql('network_types'); addDropTableSql('network_request_params'); + addDropTableSql('network_vcheck_params'); addDropTableSql('network_error_codes'); addDropTableSql('network_array_translation'); addDropTableSql('network_api_config'); addDropTableSql('network_types_config'); + addDropTableSql('network_vcheck_config'); addDropTableSql('network_cache'); addDropTableSql('network_reloads'); diff --git a/inc/libs/network_functions.php b/inc/libs/network_functions.php index 0bf6cf625d..d6ca362e25 100644 --- a/inc/libs/network_functions.php +++ b/inc/libs/network_functions.php @@ -1812,7 +1812,7 @@ ORDER BY ), __FUNCTION__, __LINE__); // Start an empty SQL query - $SQL = "INSERT INTO `{?_MYSQL_PREFIX?}_network_types` (`network_type_id`,`network_id`,`network_type_handler`,`network_type_api_url`,`network_type_click_url`,`network_type_banner_url`) VALUES\n"; + $SQL = "INSERT INTO `{?_MYSQL_PREFIX?}_network_types` (`network_type_id`,`network_id`,`network_type_handler`,`network_type_api_url`,`network_type_click_url`,`network_type_banner_url`,`network_type_reload_time_unit`) VALUES\n"; // Load all entries while ($content = SQL_FETCHARRAY($result)) { -- 2.39.5