New generic template added (new CSS classes), some inconsistencies fixed:
[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  * @TODO Ad-Magnet: Layer(klick?). Layerviews.Skybannerklick/-view,     *
21  * @TODO Ad-Magnet: Banner-View, Textlink-Klick/-View. Page-Peel        *
22  * @TODO ADCocktail: Traffic, BIDausKAS???                              *
23  * @TODO Ads4.de: Traffic                                               *
24  * @TODO Ads4Webbis: Traffic                                            *
25  * -------------------------------------------------------------------- *
26  * Copyright (c) 2003 - 2009 by Roland Haeder                           *
27  * For more information visit: http://www.mxchange.org                  *
28  *                                                                      *
29  * This program is free software; you can redistribute it and/or modify *
30  * it under the terms of the GNU General Public License as published by *
31  * the Free Software Foundation; either version 2 of the License, or    *
32  * (at your option) any later version.                                  *
33  *                                                                      *
34  * This program is distributed in the hope that it will be useful,      *
35  * but WITHOUT ANY WARRANTY; without even the implied warranty of       *
36  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        *
37  * GNU General Public License for more details.                         *
38  *                                                                      *
39  * You should have received a copy of the GNU General Public License    *
40  * along with this program; if not, write to the Free Software          *
41  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,               *
42  * MA  02110-1301  USA                                                  *
43  ************************************************************************/
44
45 // Some security stuff...
46 if (!defined('__SECURITY')) {
47         die();
48 } // END - if
49
50 // Version number
51 setThisExtensionVersion('0.0');
52
53 // Version history array (add more with , '0.1.0' and so on)
54 setExtensionVersionHistory(array('0.0'));
55
56 // This extension is in development (non-productive)
57 enableExtensionProductive(false);
58
59 switch (getExtensionMode()) {
60         case 'register': // Do stuff when installation is running (modules.php?module=admin is called)
61                 // Main table which hold
62                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_data`');
63                 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_network_data` (
64 `network_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
65 `network_short_name` VARCHAR(50) NOT NULL DEFAULT '',
66 `network_title` VARCHAR(255) NOT NULL DEFAULT '',
67 `network_reflink` VARCHAR(255) NOT NULL DEFAULT '',
68 `network_data_seperator` CHAR(4) NOT NULL DEFAULT '|',
69 `network_row_seperator` CHAR(4) NOT NULL DEFAULT '|',
70 `network_request_type` ENUM('GET','POST') NOT NULL DEFAULT 'GET',
71 `network_charset` VARCHAR(20) NOT NULL DEFAULT 'UTF-8',
72 UNIQUE (`network_short_name`),
73 PRIMARY KEY (`network_id`)
74 ) TYPE={?_TABLE_TYPE?} COMMENT='Network data'");
75
76                 // Types the network provider is supporting (e.g. Forced-Banner and so on)
77                 // @TODO network_type_handle is an internal name and needs documentation
78                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_types`');
79                 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_network_types` (
80 `network_type_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
81 `network_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
82 `network_type_handle` VARCHAR(255) NOT NULL DEFAULT '',
83 `network_type_api_url` VARCHAR(255) NOT NULL DEFAULT '',
84 `network_type_click_url` VARCHAR(255) NOT NULL DEFAULT '',
85 `network_type_banner_url` VARCHAR(255) NOT NULL DEFAULT '',
86 `network_param_default` VARCHAR(255) NULL DEFAULT NULL,
87 UNIQUE `provider_type` (`network_id`,`network_type_handle`),
88 PRIMARY KEY (`network_type_id`)
89 ) TYPE={?_TABLE_TYPE?} COMMENT='Types provideable by networks'");
90
91                 // HTTP parameters (names) for URLs
92                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_request_params`');
93                 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_network_request_params` (
94 `network_param_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
95 `network_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
96 `network_type_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
97 `request_param_key` VARCHAR(10) NOT NULL DEFAULT 'invalid',
98 `request_param_value` VARCHAR(10) NOT NULL DEFAULT 'invalid',
99 `request_param_default` VARCHAR(10) NULL DEFAULT NULL,
100 UNIQUE `provider_type_key` (`network_id`,`network_type_id`,`request_param_key`),
101 UNIQUE `provider_type_value` (`network_id`,`network_type_id`,`request_param_value`),
102 PRIMARY KEY (`network_param_id`)
103 ) TYPE={?_TABLE_TYPE?} COMMENT='Request parameters for GET/POST request'");
104
105                 // Error status codes
106                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_type_codes`');
107                 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_network_type_codes` (
108 `network_type_code_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
109 `network_type_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
110 `network_type_code_value` VARCHAR(50) NOT NULL DEFAULT '',
111 `network_type_code_type` VARCHAR(100) NOT NULL DEFAULT 'INVALID_TYPE',
112 UNIQUE `code_type` (`network_type_code_value`,`network_type_id`),
113 INDEX (`network_type_id`),
114 PRIMARY KEY (`network_type_code_id`)
115 ) TYPE={?_TABLE_TYPE?} COMMENT='Error codes for all types'");
116
117                 // Code types (internal table)
118                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_codes`');
119                 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_network_codes` (
120 `network_code_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
121 `network_code` VARCHAR(100) NOT NULL DEFAULT 'INVALID_CODE',
122 UNIQUE (`network_code`),
123 PRIMARY KEY (`network_code_id`)
124 ) TYPE={?_TABLE_TYPE?} COMMENT='Error types, generic data, DO NOT ALTER!'");
125
126                 // Valid translation keys (we hate hard-coded arrays, you see?)
127                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_translations`');
128                 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_network_translations` (
129 `network_translate_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
130 `network_type_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
131 `network_translation` VARCHAR(100) NOT NULL DEFAULT '',
132 UNIQUE `type_trans` (`network_type_id`,`network_translation`),
133 PRIMARY KEY (`network_translate_id`)
134 ) TYPE={?_TABLE_TYPE?} COMMENT='Translations for array keys, generic data, DO NOT ALTER!'");
135
136                 // Array-Element translation tables per type/provider
137                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_array_translation`');
138                 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_network_array_translation` (
139 `network_translate_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
140 `network_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
141 `network_type_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
142 `network_array_key` SMALLINT(5) UNSIGNED NOT NULL DEFAULT 0,
143 `network_translation` VARCHAR(100) NOT NULL DEFAULT '',
144 UNIQUE `provider_type_key` (`network_id`,`network_type_id`,`network_array_key`),
145 UNIQUE `provider_type_trans` (`network_id`,`network_type_id`,`network_translation`),
146 PRIMARY KEY (`network_translate_id`)
147 ) TYPE={?_TABLE_TYPE?} COMMENT='Cache for all queried APIs'");
148
149                 // Data from the webmaster (you!)
150                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_config`');
151                 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_network_config` (
152 `network_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
153 `network_affiliate_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
154 `network_api_password` VARCHAR(255) NOT NULL DEFAULT '',
155 `network_site_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
156 `network_query_amount` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
157 UNIQUE `network_affiliate` (`network_id`,`network_affiliate_id`),
158 UNIQUE `affiliate_site` (`network_affiliate_id`,`network_site_id`),
159 PRIMARY KEY (`network_id`)
160 ) TYPE={?_TABLE_TYPE?} COMMENT='Configuration data from the webmaster (you!)'");
161
162                 // Configuration data for e.g. reload-time
163                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_types_config`');
164                 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_network_types_config` (
165 `network_data_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
166 `network_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
167 `network_type_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
168 `max_reload_time` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
169 `min_waiting_time` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
170 `min_remain_clicks` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
171 `min_payment` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000,
172 `allow_erotic` VARCHAR(10) NOT NULL DEFAULT '',
173 UNIQUE `provider_type` (`network_id`,`network_type_id`),
174 PRIMARY KEY (`network_data_id`)
175 ) TYPE={?_TABLE_TYPE?} COMMENT='Configuration data for every type (e.g. reload-time)'");
176
177                 // Cache for queried APIs. Re-check depends on config
178                 // `network_cache_refresh` in seconds or if set to zero, full day
179                 // divided by query amount.
180                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_cache`');
181                 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_network_cache` (
182 `network_cache_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
183 `network_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
184 `network_type_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
185 `network_cache_data` MEDIUMBLOB,
186 `network_cache_timestamp` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00',
187 UNIQUE `provider_type` (`network_id`,`network_type_id`),
188 PRIMARY KEY (`network_cache_id`)
189 ) TYPE={?_TABLE_TYPE?} COMMENT='Cache for all queried APIs'");
190
191                 // Reload locks for several types
192                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_reloads`');
193                 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_network_reloads` (
194 `network_reload_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
195 `network_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
196 `network_type_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
197 `network_reload_lock` SMALLINT(5) UNSIGNED NOT NULL DEFAULT 0,
198 `network_inserted` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP(),
199 UNIQUE `provider_type` (`network_id`,`network_type_id`),
200 PRIMARY KEY (`network_reload_id`)
201 ) TYPE={?_TABLE_TYPE?} COMMENT='Reload locks'");
202
203                 // Insert error code types
204                 // - Affiliate id or interface password wrong
205                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_codes` (`network_code`) VALUES ('AFF_ID_PASS_WRONG')");
206                 // - Webmaster's site id is not assigned (invalid, different affiliate id)
207                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_codes` (`network_code`) VALUES ('SITE_ID_NOT_ASSIGNED')");
208                 // - Webmaster's site id is locked
209                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_codes` (`network_code`) VALUES ('SITE_ID_LOCKED')");
210                 // - General error in interface data
211                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_codes` (`network_code`) VALUES ('INTERFACE_DATA_ERROR')");
212                 // - Request amount depleted
213                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_codes` (`network_code`) VALUES ('REQUESTS_DEPLETED')");
214                 // - No campaigns found for given criteria (but maybe there are with more widen criteria)
215                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_codes` (`network_code`) VALUES ('NO_CAMPAIGNS_FOUND')");
216                 // - No campaigns found with allowed interface output (but there are maybe non-interface campaigns)
217                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_codes` (`network_code`) VALUES ('NO_CAMPAIGNS_FOUND_INTERFACE')");
218                 // - Webmaster's site id is not unlocked for choosen type
219                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_codes` (`network_code`) VALUES ('SITE_ID_NOT_ALLOWED_TYPE')");
220                 // - Request parameters incomplete
221                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_codes` (`network_code`) VALUES ('REQUEST_PARAMS_INCOMPLETE')");
222
223                 // Sponsor networks
224                 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')");
225
226                 // Network type handlers - Yoo!Media (Please use http://www.yoomedia.de?ref=1715 for signing up)
227                 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%'),
228 (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%'),
229 (1, 'focredbanner', '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%'),
230 (1, 'textlink', 'http://www.yoomedia.de/interface_2.0/out_textlink.php', 'http://www.yoomedia.de/code/t-textlink.php?id=%ID%&sid=%SID%', ''),
231 (1, 'layer', 'http://www.yoomedia.de/interface_2.0/out_layer.php', 'http://www.yoomedia.de/code/l-layer.php?id=%ID%&sid=%SID%', ''),
232 (1, 'popup', 'http://www.yoomedia.de/interface_2.0/out_popup.php', 'http://www.yoomedia.de/code/p-popup.php?id=%ID%&sid=%SID%', ''),
233 (1, 'popdown', 'http://www.yoomedia.de/interface_2.0/out_popdown.php', 'http://www.yoomedia.de/code/p-popdown.php?id=%ID%&sid=%SID%', ''),
234 (1, 'textmail', 'http://www.yoomedia.de/interface_2.0/out_textmail.php', 'http://www.yoomedia.de/code/t-mail.php?id=%ID%&sid=%SID%', ''),
235 (1, 'htmlmail', 'http://www.yoomedia.de/interface_2.0/out_htmlmail.php', 'http://www.yoomedia.de/code/h-mail.php?id=%ID%&sid=%SID%', ''),
236 (1, 'lead', 'http://www.yoomedia.de/interface_2.0/out_lead.php', 'http://www.yoomedia.de/code/lead.php?id=%ID%&sid=%SID%', ''),
237 (1, 'pagepeel', 'http://www.yoomedia.de/interface_2.0/out_pagepeel.php', 'http://www.yoomedia.de/code/p-peel.php?id=%ID%&sid=%SID%', '')");
238
239                 // Request parameters per type handler - Yoo!Media
240                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_request_params` (`network_id`,`network_type_id`,`request_param_key`,`request_param_value`) VALUES (1, 1, 'id', 'id'),
241 (1, 1, 'sid', 'sid'),
242 (1, 1, 'password', 'pw'),
243 (1, 1, 'reload', 'reload'),
244 (1, 1, 'remain', 'uebrig'),
245 (1, 1, 'reward', 'verguetung'),
246 (1, 1, 'size', 'size'),
247 (1, 1, 'erotic', 'erotik')");
248                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_request_params` (`network_id`,`network_type_id`,`request_param_key`,`request_param_value`) VALUES (1, 3, 'id', 'id'),
249 (1, 3, 'sid', 'sid'),
250 (1, 3, 'password', 'pw'),
251 (1, 3, 'reload', 'reload'),
252 (1, 3, 'min_stay', 'ma'),
253 (1, 3, 'remain', 'uebrig'),
254 (1, 3, 'reward', 'verguetung'),
255 (1, 3, 'size', 'size'),
256 (1, 3, 'erotic', 'erotik')");
257                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_request_params` (`network_id`,`network_type_id`,`request_param_key`,`request_param_value`) VALUES (1, 9, 'id', 'id'),
258 (1, 9, 'sid', 'sid'),
259 (1, 9, 'password', 'pw'),
260 (1, 9, 'reload', 'reload'),
261 (1, 9, 'min_stay', 'ma'),
262 (1, 9, 'remain', 'uebrig'),
263 (1, 9, 'reward', 'verguetung'),
264 (1, 9, 'erotic', 'erotik')");
265                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_request_params` (`network_id`,`network_type_id`,`request_param_key`,`request_param_value`) VALUES (1, 5, 'id', 'id'),
266 (1, 5, 'sid', 'sid'),
267 (1, 5, 'password', 'pw'),
268 (1, 5, 'reload', 'reload'),
269 (1, 5, 'remain', 'uebrig'),
270 (1, 5, 'reward', 'verguetung'),
271 (1, 5, 'erotic', 'erotik')");
272                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_request_params` (`network_id`,`network_type_id`,`request_param_key`,`request_param_value`) VALUES (1, 10, 'id', 'id'),
273 (1, 10, 'sid', 'sid'),
274 (1, 10, 'password', 'pw'),
275 (1, 10, 'reload', 'reload'),
276 (1, 10, 'remain', 'uebrig'),
277 (1, 10, 'reward', 'verguetung'),
278 (1, 10, 'erotic', 'erotik')");
279                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_request_params` (`network_id`,`network_type_id`,`request_param_key`,`request_param_value`) VALUES (1, 11, 'id', 'id'),
280 (1, 11, 'sid', 'sid'),
281 (1, 11, 'password', 'pw'),
282 (1, 11, 'reload', 'reload'),
283 (1, 11, 'remain', 'uebrig'),
284 (1, 11, 'reward', 'verguetung'),
285 (1, 11, 'erotic', 'erotik')");
286                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_request_params` (`network_id`,`network_type_id`,`request_param_key`,`request_param_value`) VALUES (1, 7, 'id', 'id'),
287 (1, 7, 'sid', 'sid'),
288 (1, 7, 'password', 'pw'),
289 (1, 7, 'reload', 'reload'),
290 (1, 7, 'min_stay', 'ma'),
291 (1, 7, 'remain', 'uebrig'),
292 (1, 7, 'reward', 'verguetung'),
293 (1, 7, 'erotic', 'erotik')");
294                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_request_params` (`network_id`,`network_type_id`,`request_param_key`,`request_param_value`) VALUES (1, 6, 'id', 'id'),
295 (1, 6, 'sid', 'sid'),
296 (1, 6, 'password', 'pw'),
297 (1, 6, 'reload', 'reload'),
298 (1, 6, 'min_stay', 'ma'),
299 (1, 6, 'remain', 'uebrig'),
300 (1, 6, 'reward', 'verguetung'),
301 (1, 6, 'erotic', 'erotik')");
302                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_request_params` (`network_id`,`network_type_id`,`request_param_key`,`request_param_value`) VALUES (1, 2, 'id', 'id'),
303 (1, 2, 'sid', 'sid'),
304 (1, 2, 'password', 'pw'),
305 (1, 2, 'reload', 'reload'),
306 (1, 2, 'remain', 'uebrig'),
307 (1, 2, 'reward', 'verguetung'),
308 (1, 2, 'size', 'size'),
309 (1, 2, 'erotic', 'erotik')");
310                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_request_params` (`network_id`,`network_type_id`,`request_param_key`,`request_param_value`) VALUES (1, 4, 'id', 'id'),
311 (1, 4, 'sid', 'sid'),
312 (1, 4, 'password', 'pw'),
313 (1, 4, 'reload', 'reload'),
314 (1, 4, 'remain', 'uebrig'),
315 (1, 4, 'reward', 'verguetung'),
316 (1, 4, 'erotic', 'erotik')");
317                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_network_request_params` (`network_id`,`network_type_id`,`request_param_key`,`request_param_value`) VALUES (1, 8, 'id', 'id'),
318 (1, 8, 'sid', 'sid'),
319 (1, 8, 'password', 'pw'),
320 (1, 8, 'reload', 'reload'),
321 (1, 8, 'min_stay', 'ma'),
322 (1, 8, 'remain', 'uebrig'),
323 (1, 8, 'reward', 'verguetung'),
324 (1, 8, 'erotic', 'erotik')");
325
326                 // Admin menu entries
327                 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);
328                 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);
329                 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);
330                 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);
331                 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);
332                 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);
333                 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);
334                 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);
335                 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);
336                 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);
337                 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);
338
339                 // Configuration entries
340                 addExtensionSql('ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `network_cache_refresh` BIGINT(20) UNSIGNED NOT NULL DEFAULT ' . (60 * 15) . '');
341                 break;
342
343         case 'remove': // Do stuff when removing extension
344                 // SQL commands to run
345                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_data`');
346                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_types`');
347                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_request_params`');
348                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_type_codes`');
349                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_translations`');
350                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_array_translation`');
351                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_config`');
352                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_types_config`');
353                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_cache`');
354                 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_network_reloads`');
355
356                 // Admin menu
357                 addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `action`='network'");
358                 break;
359
360         case 'activate': // Do stuff when admin activates this extension
361                 // SQL commands to run
362                 break;
363
364         case 'deactivate': // Do stuff when admin deactivates this extension
365                 // SQL commands to run
366                 break;
367
368         case 'update': // Update an extension
369                 switch (getCurrentExtensionVersion()) {
370                         case '0.0.1': // SQL queries for v0.0.1
371                                 addExtensionSql('');
372
373                                 // Update notes (these will be set as task text!)
374                                 setExtensionUpdateNotes('');
375                                 break;
376                 } // END - switch
377                 break;
378
379         case 'modify': // When the extension got modified
380                 break;
381
382         case 'test': // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305.
383                 break;
384
385         case 'init': // Do stuff when extension is initialized
386                 break;
387
388         default: // Unknown extension mode
389                 logDebugMessage(__FILE__, __LINE__, sprintf("Unknown extension mode %s detected.", getExtensionMode()));
390                 break;
391 } // END - switch
392
393 // [EOF]
394 ?>