60cd543943398dcbeeb76dcba78ae8a01db651b0
[mailer.git] / inc / extensions / ext-network.php
1 <?php
2 /************************************************************************
3  * Mailer v0.2.1-FINAL                                Start: 12/18/2008 *
4  * ===================                          Last change: 11/01/2009 *
5  *                                                                      *
6  * -------------------------------------------------------------------- *
7  * File              : ext-network.php                                  *
8  * -------------------------------------------------------------------- *
9  * Short description : Generic (sponsor) network connection extension   *
10  * -------------------------------------------------------------------- *
11  * Kurzbeschreibung  : Allgemeine Werbenetzwerk-Erweiterung             *
12  * -------------------------------------------------------------------- *
13  * $Revision::                                                        $ *
14  * $Date::                                                            $ *
15  * $Tag:: 0.2.1-FINAL                                                 $ *
16  * $Author::                                                          $ *
17  * Needs to be in all Files and every File needs "svn propset           *
18  * svn:keywords Date Revision" (autoprobset!) at least!!!!!!            *
19  * -------------------------------------------------------------------- *
20  * Copyright (c) 2003 - 2009 by Roland Haeder                           *
21  * For more information visit: http://www.mxchange.org                  *
22  *                                                                      *
23  * This program is free software; you can redistribute it and/or modify *
24  * it under the terms of the GNU General Public License as published by *
25  * the Free Software Foundation; either version 2 of the License, or    *
26  * (at your option) any later version.                                  *
27  *                                                                      *
28  * This program is distributed in the hope that it will be useful,      *
29  * but WITHOUT ANY WARRANTY; without even the implied warranty of       *
30  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        *
31  * GNU General Public License for more details.                         *
32  *                                                                      *
33  * You should have received a copy of the GNU General Public License    *
34  * along with this program; if not, write to the Free Software          *
35  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,               *
36  * MA  02110-1301  USA                                                  *
37  ************************************************************************/
38
39 // Some security stuff...
40 if (!defined('__SECURITY')) {
41         die();
42 } // END - if
43
44 // Version number
45 setThisExtensionVersion('0.0');
46
47 // Version history array (add more with , '0.1.0' and so on)
48 setExtensionVersionHistory(array('0.0'));
49
50 // This extension is in development (non-productive)
51 enableExtensionProductive(false);
52
53 switch (getExtensionMode()) {
54         case 'register': // Do stuff when installation is running (modules.php?module=admin is called)
55                 // Main table which hold
56                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_data`');
57                 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_network_data` (
58 `network_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
59 `network_short_name` VARCHAR(50) NOT NULL DEFAULT '',
60 `network_title` VARCHAR(255) NOT NULL DEFAULT '',
61 `network_reflink` VARCHAR(255) NOT NULL DEFAULT '',
62 `network_data_seperator` CHAR(4) NOT NULL DEFAULT '|',
63 `network_row_seperator` CHAR(4) NOT NULL DEFAULT '|',
64 `network_request_type` ENUM('GET','POST') NOT NULL DEFAULT 'GET',
65 `network_charset` VARCHAR(20) NOT NULL DEFAULT 'UTF-8',
66 UNIQUE (`network_short_name`),
67 PRIMARY KEY (`network_id`)
68 ) TYPE={?_TABLE_TYPE?} COMMENT='Network data'");
69
70                 // Types the network provider is supporting (e.g. Forced-Banner and so on)
71                 // @TODO network_type_handle is an internal name and needs documentation
72                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_types`');
73                 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_network_types` (
74 `network_type_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
75 `network_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
76 `network_type_handle` VARCHAR(255) NOT NULL DEFAULT '',
77 `network_type_api_url` VARCHAR(255) NOT NULL DEFAULT '',
78 `network_type_click_url` VARCHAR(255) NOT NULL DEFAULT '',
79 `network_type_banner_url` VARCHAR(255) NOT NULL DEFAULT '',
80 UNIQUE `provider_type` (`network_id`,`network_type_handle`),
81 PRIMARY KEY (`network_type_id`)
82 ) TYPE={?_TABLE_TYPE?} COMMENT='Types provideable by networks'");
83
84                 // HTTP parameters (names) for URLs
85                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_request_params`');
86                 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_network_request_params` (
87 `network_param_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
88 `network_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
89 `network_type_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
90 `request_param_key` VARCHAR(10) NOT NULL DEFAULT 'invalid',
91 `request_param_value` VARCHAR(10) NOT NULL DEFAULT 'invalid',
92 UNIQUE `provider_type_key` (`network_id`,`network_type_id`,`request_param_key`),
93 UNIQUE `provider_type_value` (`network_id`,`network_type_id`,`request_param_value`),
94 PRIMARY KEY (`network_param_id`)
95 ) TYPE={?_TABLE_TYPE?} COMMENT='Request parameters for GET/POST request'");
96
97                 // Error status codes
98                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_type_codes`');
99                 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_network_type_codes` (
100 `network_type_code_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
101 `network_type_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
102 `network_type_code_value` VARCHAR(50) NOT NULL DEFAULT '',
103 `network_type_code_type` VARCHAR(100) NOT NULL DEFAULT 'INVALID_TYPE',
104 UNIQUE `code_type` (`network_type_code_value`,`network_type_id`),
105 INDEX (`network_type_id`),
106 PRIMARY KEY (`network_type_code_id`)
107 ) TYPE={?_TABLE_TYPE?} COMMENT='Error codes for all types'");
108
109                 // Code types (internal table)
110                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_codes`');
111                 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_network_codes` (
112 `network_code_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
113 `network_code` VARCHAR(100) NOT NULL DEFAULT 'INVALID_CODE',
114 UNIQUE (`network_code`),
115 PRIMARY KEY (`network_code_id`)
116 ) TYPE={?_TABLE_TYPE?} COMMENT='Error types, generic data, DO NOT ALTER!'");
117
118                 // Valid translation keys (we hate hard-coded arrays, you see?)
119                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_translations`');
120                 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_network_translations` (
121 `network_translate_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
122 `network_type_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
123 `network_translation` VARCHAR(100) NOT NULL DEFAULT '',
124 UNIQUE `type_trans` (`network_type_id`,`network_translation`),
125 PRIMARY KEY (`network_translate_id`)
126 ) TYPE={?_TABLE_TYPE?} COMMENT='Translations for array keys, generic data, DO NOT ALTER!'");
127
128                 // Array-Element translation tables per type/provider
129                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_array_translation`');
130                 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_network_array_translation` (
131 `network_translate_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
132 `network_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
133 `network_type_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
134 `network_array_key` SMALLINT(5) UNSIGNED NOT NULL DEFAULT 0,
135 `network_translation` VARCHAR(100) NOT NULL DEFAULT '',
136 UNIQUE `provider_type_key` (`network_id`,`network_type_id`,`network_array_key`),
137 UNIQUE `provider_type_trans` (`network_id`,`network_type_id`,`network_translation`),
138 PRIMARY KEY (`network_translate_id`)
139 ) TYPE={?_TABLE_TYPE?} COMMENT='Cache for all queried APIs'");
140
141                 // Data from the webmaster (you!)
142                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_config`');
143                 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_network_config` (
144 `network_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
145 `network_affiliate_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
146 `network_api_password` VARCHAR(255) NOT NULL DEFAULT '',
147 `network_site_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
148 `network_query_amount` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
149 UNIQUE `network_affiliate` (`network_id`,`network_affiliate_id`),
150 UNIQUE `affiliate_site` (`network_affiliate_id`,`network_site_id`),
151 PRIMARY KEY (`network_id`)
152 ) TYPE={?_TABLE_TYPE?} COMMENT='Configuration data from the webmaster (you!)'");
153
154                 // Configuration data for e.g. reload-time
155                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_types_config`');
156                 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_network_types_config` (
157 `network_data_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
158 `network_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
159 `network_type_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
160 `max_reload_time` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
161 `min_waiting_time` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
162 `min_remain_clicks` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
163 `min_payment` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000,
164 `allow_erotic` VARCHAR(10) NOT NULL DEFAULT '',
165 UNIQUE `provider_type` (`network_id`,`network_type_id`),
166 PRIMARY KEY (`network_data_id`)
167 ) TYPE={?_TABLE_TYPE?} COMMENT='Configuration data for every type (e.g. reload-time)'");
168
169                 // Cache for queried APIs. Re-check depends on config
170                 // `network_cache_refresh` in seconds or if set to zero, full day
171                 // divided by query amount.
172                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_cache`');
173                 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_network_cache` (
174 `network_cache_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
175 `network_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
176 `network_type_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
177 `network_cache_data` MEDIUMBLOB,
178 `network_cache_timestamp` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00',
179 UNIQUE `provider_type` (`network_id`,`network_type_id`),
180 PRIMARY KEY (`network_cache_id`)
181 ) TYPE={?_TABLE_TYPE?} COMMENT='Cache for all queried APIs'");
182
183                 // Reload locks for several types
184                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_reloads`');
185                 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_network_reloads` (
186 `network_reload_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
187 `network_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
188 `network_type_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
189 `network_reload_lock` SMALLINT(5) UNSIGNED NOT NULL DEFAULT 0,
190 `network_inserted` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP(),
191 UNIQUE `provider_type` (`network_id`,`network_type_id`),
192 PRIMARY KEY (`network_reload_id`)
193 ) TYPE={?_TABLE_TYPE?} COMMENT='Reload locks'");
194
195                 // Insert error code types
196                 // - Affiliate id or interface password wrong
197                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_codes` (`network_code`) VALUES ('AFF_ID_PASS_WRONG')");
198                 // - Webmaster's site id is not assigned (invalid, different affiliate id)
199                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_codes` (`network_code`) VALUES ('SITE_ID_NOT_ASSIGNED')");
200                 // - Webmaster's site id is locked
201                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_codes` (`network_code`) VALUES ('SITE_ID_LOCKED')");
202                 // - General error in interface data
203                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_codes` (`network_code`) VALUES ('INTERFACE_DATA_ERROR')");
204                 // - Request amount depleted
205                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_codes` (`network_code`) VALUES ('REQUESTS_DEPLETED')");
206                 // - No campaigns found for given criteria (but maybe there are with more widen criteria)
207                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_codes` (`network_code`) VALUES ('NO_CAMPAIGNS_FOUND')");
208                 // - No campaigns found with allowed interface output (but there are maybe non-interface campaigns)
209                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_codes` (`network_code`) VALUES ('NO_CAMPAIGNS_FOUND_INTERFACE')");
210                 // - Webmaster's site id is not unlocked for choosen type
211                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_codes` (`network_code`) VALUES ('SITE_ID_NOT_ALLOWED_TYPE')");
212                 // - Request parameters incomplete
213                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_codes` (`network_code`) VALUES ('REQUEST_PARAMS_INCOMPLETE')");
214
215                 // Sponsor networks
216                 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 ('yoomedia', 'Yoo!Media Solutions', 'http://www.yoomedia.de?ref=1715', '|', '|', 'GET', 'WINDOWS-1252')");
217
218                 // Network type handlers - Yoo!Media (Please use http://www.yoomedia.de?ref=1715 for signing up)
219                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_types` (`network_id`,`network_type_handle`,`network_type_api_url`,`network_type_click_url`,`network_type_banner_url`) VALUES (1, 'banner', 'http://www.yoomedia.de/interface_2.0/out_banner.php', 'http://www.yoomedia.de/code/z-bannerklf.php?id=%ID%&sid=%SID%', 'http://www.yoomedia.de/code/z-banner.php?id=%ID%&sid=%SID%&bid=%BID%'),
220 (1, 'surfbar', 'http://www.yoomedia.de/interface_2.0/out_sbanner.php', 'http://www.yoomedia.de/code/s-bannerklf.php?id=%ID%&sid=%SID%', 'http://www.yoomedia.de/code/s-banner.php?id=%ID%&sid=%SID%&bid=%BID%'),
221 (1, 'foredbanner', 'http://www.yoomedia.de/interface_2.0/out_fbanner.php', 'http://www.yoomedia.de/code/f-bannerklf.php?id=%ID%&sid=%SID%', 'http://www.yoomedia.de/code/f-banner.php?id=%ID%&sid=%SID%&bid=%BID%'),
222 (1, 'textlink', 'http://www.yoomedia.de/interface_2.0/out_textlink.php', 'http://www.yoomedia.de/code/t-textlink.php?id=%ID%&sid=%SID%', ''),
223 (1, 'layer', 'http://www.yoomedia.de/interface_2.0/out_layer.php', 'http://www.yoomedia.de/code/l-layer.php?id=%ID%&sid=%SID%', ''),
224 (1, 'popup', 'http://www.yoomedia.de/interface_2.0/out_popup.php', 'http://www.yoomedia.de/code/p-popup.php?id=%ID%&sid=%SID%', ''),
225 (1, 'popdown', 'http://www.yoomedia.de/interface_2.0/out_popdown.php', 'http://www.yoomedia.de/code/p-popdown.php?id=%ID%&sid=%SID%', ''),
226 (1, 'textmail', 'http://www.yoomedia.de/interface_2.0/out_textmail.php', 'http://www.yoomedia.de/code/t-mail.php?id=%ID%&sid=%SID%', ''),
227 (1, 'htmlmail', 'http://www.yoomedia.de/interface_2.0/out_htmlmail.php', 'http://www.yoomedia.de/code/h-mail.php?id=%ID%&sid=%SID%', ''),
228 (1, 'lead', 'http://www.yoomedia.de/interface_2.0/out_lead.php', 'http://www.yoomedia.de/code/lead.php?id=%ID%&sid=%SID%', ''),
229 (1, 'pagepeel', 'http://www.yoomedia.de/interface_2.0/out_pagepeel.php', 'http://www.yoomedia.de/code/p-peel.php?id=%ID%&sid=%SID%', '')");
230
231                 // Request parameters per type handler - Yoo!Media
232                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_request_params` (`network_id`,`network_type_id`,`request_param_key`,`request_param_value`) VALUES (1, 1, 'id', 'id'),
233 (1, 1, 'sid', 'sid'),
234 (1, 1, 'password', 'pw'),
235 (1, 1, 'reload', 'reload'),
236 (1, 1, 'remain', 'uebrig'),
237 (1, 1, 'reward', 'verguetung'),
238 (1, 1, 'size', 'size'),
239 (1, 1, 'erotic', 'erotik')");
240                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_request_params` (`network_id`,`network_type_id`,`request_param_key`,`request_param_value`) VALUES (1, 3, 'id', 'id'),
241 (1, 3, 'sid', 'sid'),
242 (1, 3, 'password', 'pw'),
243 (1, 3, 'reload', 'reload'),
244 (1, 3, 'min_stay', 'ma'),
245 (1, 3, 'remain', 'uebrig'),
246 (1, 3, 'reward', 'verguetung'),
247 (1, 3, 'size', 'size'),
248 (1, 3, 'erotic', 'erotik')");
249                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_request_params` (`network_id`,`network_type_id`,`request_param_key`,`request_param_value`) VALUES (1, 9, 'id', 'id'),
250 (1, 9, 'sid', 'sid'),
251 (1, 9, 'password', 'pw'),
252 (1, 9, 'reload', 'reload'),
253 (1, 9, 'min_stay', 'ma'),
254 (1, 9, 'remain', 'uebrig'),
255 (1, 9, 'reward', 'verguetung'),
256 (1, 9, 'erotic', 'erotik')");
257                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_request_params` (`network_id`,`network_type_id`,`request_param_key`,`request_param_value`) VALUES (1, 5, 'id', 'id'),
258 (1, 5, 'sid', 'sid'),
259 (1, 5, 'password', 'pw'),
260 (1, 5, 'reload', 'reload'),
261 (1, 5, 'remain', 'uebrig'),
262 (1, 5, 'reward', 'verguetung'),
263 (1, 5, 'erotic', 'erotik')");
264                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_request_params` (`network_id`,`network_type_id`,`request_param_key`,`request_param_value`) VALUES (1, 10, 'id', 'id'),
265 (1, 10, 'sid', 'sid'),
266 (1, 10, 'password', 'pw'),
267 (1, 10, 'reload', 'reload'),
268 (1, 10, 'remain', 'uebrig'),
269 (1, 10, 'reward', 'verguetung'),
270 (1, 10, 'erotic', 'erotik')");
271                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_request_params` (`network_id`,`network_type_id`,`request_param_key`,`request_param_value`) VALUES (1, 11, 'id', 'id'),
272 (1, 11, 'sid', 'sid'),
273 (1, 11, 'password', 'pw'),
274 (1, 11, 'reload', 'reload'),
275 (1, 11, 'remain', 'uebrig'),
276 (1, 11, 'reward', 'verguetung'),
277 (1, 11, 'erotic', 'erotik')");
278                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_request_params` (`network_id`,`network_type_id`,`request_param_key`,`request_param_value`) VALUES (1, 7, 'id', 'id'),
279 (1, 7, 'sid', 'sid'),
280 (1, 7, 'password', 'pw'),
281 (1, 7, 'reload', 'reload'),
282 (1, 7, 'min_stay', 'ma'),
283 (1, 7, 'remain', 'uebrig'),
284 (1, 7, 'reward', 'verguetung'),
285 (1, 7, 'erotic', 'erotik')");
286                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_request_params` (`network_id`,`network_type_id`,`request_param_key`,`request_param_value`) VALUES (1, 6, 'id', 'id'),
287 (1, 6, 'sid', 'sid'),
288 (1, 6, 'password', 'pw'),
289 (1, 6, 'reload', 'reload'),
290 (1, 6, 'min_stay', 'ma'),
291 (1, 6, 'remain', 'uebrig'),
292 (1, 6, 'reward', 'verguetung'),
293 (1, 6, 'erotic', 'erotik')");
294                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_request_params` (`network_id`,`network_type_id`,`request_param_key`,`request_param_value`) VALUES (1, 2, 'id', 'id'),
295 (1, 2, 'sid', 'sid'),
296 (1, 2, 'password', 'pw'),
297 (1, 2, 'reload', 'reload'),
298 (1, 2, 'remain', 'uebrig'),
299 (1, 2, 'reward', 'verguetung'),
300 (1, 2, 'size', 'size'),
301 (1, 2, 'erotic', 'erotik')");
302                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_request_params` (`network_id`,`network_type_id`,`request_param_key`,`request_param_value`) VALUES (1, 4, 'id', 'id'),
303 (1, 4, 'sid', 'sid'),
304 (1, 4, 'password', 'pw'),
305 (1, 4, 'reload', 'reload'),
306 (1, 4, 'remain', 'uebrig'),
307 (1, 4, 'reward', 'verguetung'),
308 (1, 4, 'erotic', 'erotik')");
309                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_request_params` (`network_id`,`network_type_id`,`request_param_key`,`request_param_value`) VALUES (1, 8, 'id', 'id'),
310 (1, 8, 'sid', 'sid'),
311 (1, 8, 'password', 'pw'),
312 (1, 8, 'reload', 'reload'),
313 (1, 8, 'min_stay', 'ma'),
314 (1, 8, 'remain', 'uebrig'),
315 (1, 8, 'reward', 'verguetung'),
316 (1, 8, 'erotic', 'erotik')");
317
318                 // Admin menu entries
319                 addAdminMenuSql('network',NULL,'Werbenetzwerke','Verwalten Sie hier Werbenetzwerke (API-Anbindung), versenden Sie deren Mails, oder &uuml;bernehmen Sie deren Textlinks und vieles mehr. <strong>VORSICHT:</strong> Das Einrichten von weiteren Werbenetzwerken ist nicht leicht, daf&uuml;r aber sehr flexibel! Sollte ein Netzwerk fehlen, so melden Sie dies bitte <a href="http://forum.mxchange.org/topic-462.html" target="_blank" title="Direktlink zum Forum">im Forum</a>!',4);
320                 addAdminMenuSql('network','config_networks','API-Daten','Stellen Sie Ihre Affiliate- Webseiten-Id und API-Passwort ein. Diese erhalten Sie zu &uuml;ber 99% aus dem jeweiligen Zugangsbereich des Anbieters. Sollten Sie bei einem Netzwerk noch nicht angemeldet sein, verwenden Sie bitte meinen Referal-Link.',1);
321                 addAdminMenuSql('network','config_network_types','Werbearten','Stellen Sie hier Reload-Zeiten, Mindestauffenthalt und so weiter pro Werbeart und Werbenetzwerk ein. Es werden sonst Standart-Werte (Mimimumwerte: 0, Maximumwerte: sehr gross, Erotik: aus) angenommen, die Sie meistens nicht wollen.',2);
322                 addAdminMenuSql('network','query_networks','APIs abfragen','Fragt alle eingestellten APIs ab. Die Ergebnisse werden dann f&uuml;r einen einstellbaren Zeitraum gecacht und nicht erneut angefordert.',3);
323                 addAdminMenuSql('network','config_network','Einstellungen','Stellen Sie generelle Einstellungen ein, die f&uuml;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);
324                 addAdminMenuSql('network','list_network_reloads','Reload-Sperren','Listen oder l&ouml;schen Sie hier Reload-Sperren. <strong>Vorsicht:</strong> Die hier gespeicherten Reload-Sperren sind vom jeweiligen Werbenetzwerk &uuml;bernommen. Eventuell verdienen Sie nichts, wenn Sie z.B. eine Mail innerhalb der Reload-Sperre erneut versenden.',5);
325                 addAdminMenuSql('network','list_networks','Auflisten/Verwalten','<strong>Experten-Einstellungen!</strong> Hier &auml;ndern Sie die Einstellungen an den Grunddaten (Stammdaten) des jeweiligen Werbenetzwerks ab. Sie sollten hier generell nichts einstellen und <a href="http://forum.mxchange.org/forum-43.html" target="_blank" title="Direktlink zum Forum">im Forum</a> um Hilfe fragen, wenn Sie selber ein Werbenetzwerk einrichten m&ouml;chten.',6);
326                 addAdminMenuSql('network','list_network_types','Werbearten','<strong>Experten-Einstellungen!</strong> Hier &auml;ndern Sie die Einstellungen zu den Werbearten pro Werbenetzwerken. Sie sollten hier generell nichts einstellen und <a href="http://forum.mxchange.org/forum-43.html" target="_blank" title="Direktlink zum Forum">im Forum</a> um Hilfe fragen, wenn Sie selber ein Werbenetzwerk einrichten m&ouml;chten.',7);
327                 addAdminMenuSql('network','list_network_params','Abfrageparameter','<strong>Experten-Einstellungen!</strong> Hier stellen Sie die Abfrageparameter (wie sie genannt werden m&uuml;ssen, um das API-Script korrekt aufrufen zu k&ouml;nnen) ein, pro Werbenetzwerk. Sie sollten hier generell nichts einstellen und <a href="http://forum.mxchange.org/forum-43.html" target="_blank" title="Direktlink zum Forum">im Forum</a> um Hilfe fragen, wenn Sie selber ein Werbenetzwerk einrichten m&ouml;chten.',8);
328                 addAdminMenuSql('network','list_network_code_types','R&uuml;ckgabewerte','<strong>Experten-Einstellungen!</strong> Hier stellen Sie die R&uuml;ckgabewerte ein, die im Falle eines Fehlers pro API-Script kommen k&ouml;nnen. Sie sollten hier generell nichts einstellen und <a href="http://forum.mxchange.org/forum-43.html" target="_blank" title="Direktlink zum Forum">im Forum</a> um Hilfe fragen, wenn Sie selber ein Werbenetzwerk einrichten m&ouml;chten.',9);
329                 addAdminMenuSql('network','list_network_codes','Fehlercodes','<strong>Experten-Einstellungen!</strong> Hier stellen Sie die Namen von Fehlercodes ein, die Scripte zur&uuml;ckliefern k&ouml;nnen. <strong>Dies sind INTERNE Daten und sollten nur vom Entwicklerteam angepasst werden.</strong> Stellen Sie an diesen Einstellungen bitte nichts um. Sie sollten hier generell nichts einstellen und <a href="http://forum.mxchange.org/forum-43.html" target="_blank" title="Direktlink zum Forum">im Forum</a> um Hilfe fragen, wenn Sie selber ein Werbenetzwerk einrichten m&ouml;chten.',10);
330
331                 // Configuration entries
332                 addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `network_cache_refresh` BIGINT(20) UNSIGNED NOT NULL DEFAULT ' . (60 * 15) . '');
333                 break;
334
335         case 'remove': // Do stuff when removing extension
336                 // SQL commands to run
337                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_data`');
338                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_types`');
339                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_request_params`');
340                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_type_codes`');
341                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_translations`');
342                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_array_translation`');
343                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_config`');
344                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_types_config`');
345                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_cache`');
346                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_reloads`');
347
348                 // Admin menu
349                 addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `action`='network'");
350                 break;
351
352         case 'activate': // Do stuff when admin activates this extension
353                 // SQL commands to run
354                 break;
355
356         case 'deactivate': // Do stuff when admin deactivates this extension
357                 // SQL commands to run
358                 break;
359
360         case 'update': // Update an extension
361                 switch (getCurrentExtensionVersion()) {
362                         case '0.0.1': // SQL queries for v0.0.1
363                                 addExtensionSql('');
364
365                                 // Update notes (these will be set as task text!)
366                                 setExtensionUpdateNotes('');
367                                 break;
368                 } // END - switch
369                 break;
370
371         case 'modify': // When the extension got modified
372                 break;
373
374         case 'test': // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305.
375                 break;
376
377         case 'init': // Do stuff when extension is initialized
378                 break;
379
380         default: // Unknown extension mode
381                 logDebugMessage(__FILE__, __LINE__, sprintf("Unknown extension mode %s detected.", getExtensionMode()));
382                 break;
383 } // END - switch
384
385 // [EOF]
386 ?>