2 /************************************************************************
3 * Mailer v0.2.1-FINAL Start: 03/22/2004 *
4 * =================== Last change: 06/28/2004 *
6 * -------------------------------------------------------------------- *
7 * File : ext-sponsor.php *
8 * -------------------------------------------------------------------- *
9 * Short description : Sponsor area *
10 * -------------------------------------------------------------------- *
11 * Kurzbeschreibung : Sponsorenbereich *
12 * -------------------------------------------------------------------- *
15 * $Tag:: 0.2.1-FINAL $ *
17 * -------------------------------------------------------------------- *
18 * Copyright (c) 2003 - 2009 by Roland Haeder *
19 * Copyright (c) 2009, 2010 by Mailer Developer Team *
20 * For more information visit: http://www.mxchange.org *
22 * This program is free software; you can redistribute it and/or modify *
23 * it under the terms of the GNU General Public License as published by *
24 * the Free Software Foundation; either version 2 of the License, or *
25 * (at your option) any later version. *
27 * This program is distributed in the hope that it will be useful, *
28 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
29 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
30 * GNU General Public License for more details. *
32 * You should have received a copy of the GNU General Public License *
33 * along with this program; if not, write to the Free Software *
34 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *
36 ************************************************************************/
38 // Some security stuff...
39 if (!defined('__SECURITY')) {
44 setThisExtensionVersion('0.0');
46 // Version history array (add more with , '0.1.0' and so on)
47 setExtensionVersionHistory(array('0.0'));
49 // This extension is in development (non-productive)
50 enableExtensionProductive(false);
52 switch (getExtensionMode()) {
53 case 'register': // Do stuff when installation is running (modules.php?module=admin is called)
55 // SQL commands to run
57 // Try to make it depend on repair
58 addExtensionDependency('repair');
63 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_data`');
64 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_sponsor_data` (
65 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
66 `company` VARCHAR(255) NOT NULL DEFAULT '',
67 `position` VARCHAR(255) NOT NULL DEFAULT '',
68 `tax_ident` VARCHAR(255) NOT NULL DEFAULT '',
69 `gender` ENUM('M','F','C') NOT NULL DEFAULT 'M',
70 `surname` VARCHAR(255) NOT NULL DEFAULT '',
71 `family` VARCHAR(255) NOT NULL DEFAULT '',
72 `street_nr1` VARCHAR(255) NOT NULL DEFAULT '',
73 `street_nr2` VARCHAR(255) NOT NULL DEFAULT '',
74 `zip` VARCHAR(6) NOT NULL DEFAULT '',
75 `city` VARCHAR(255) NOT NULL DEFAULT '',
76 `country` CHAR(2) NOT NULL DEFAULT 'DE',
77 `phone` VARCHAR(255) NOT NULL DEFAULT '',
78 `fax` VARCHAR(255) NOT NULL DEFAULT '',
79 `cell` VARCHAR(255) NOT NULL DEFAULT '',
80 `email` VARCHAR(255) NOT NULL DEFAULT '',
81 `url` VARCHAR(255) NOT NULL DEFAULT '',
82 `password` VARCHAR(255) NOT NULL DEFAULT '',
83 `remote_addr` VARCHAR(15) NOT NULL DEFAULT '0.0.0.0',
84 `sponsor_created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
85 `last_online` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00',
86 `last_change` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00',
87 `status` ENUM('UNCONFIRMED','PENDING','CONFIRMED','LOCKED') NOT NULL DEFAULT 'UNCONFIRMED',
88 `receive_warnings` ENUM('Y','N') NOT NULL DEFAULT 'Y',
89 `warning_interval` BIGINT(20) UNSIGNED NOT NULL DEFAULT '".(getConfig('ONE_DAY')*7)."',
90 `points_amount` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000,
91 `points_used` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000,
92 `refid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
93 `ref_count` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
94 `hash` VARCHAR(32) NULL DEFAULT NULL,
95 `last_payment` FLOAT(7,2) UNSIGNED NOT NULL DEFAULT 0.00,
96 `last_currency` VARCHAR(255) NOT NULL DEFAULT '€',
101 ) TYPE={?_TABLE_TYPE?}");
105 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_orders`');
106 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_sponsor_orders` (
107 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
108 `sponsor_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
109 `admin_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
110 `regid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
111 `payment_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
112 `pay_count` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
113 `pay_status` ENUM('PENDING','PAYED','UNPAYED','DELETED') NOT NULL DEFAULT 'PENDING',
114 `pay_ordered` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
115 `pay_done` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00',
116 INDEX (`payment_id`),
119 INDEX (`sponsor_id`),
121 ) TYPE={?_TABLE_TYPE?}");
125 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_paytypes`');
126 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_sponsor_paytypes` (
127 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
128 `pay_name` VARCHAR(255) NOT NULL DEFAULT '',
129 `pay_rate` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000,
130 `pay_min_count` BIGINT(20) UNSIGNED NOT NULL DEFAULT 1,
131 `pay_currency` VARCHAR(255) NOT NULL DEFAULT '€',
133 ) TYPE={?_TABLE_TYPE?}");
135 // Points-to-action converting
137 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_action_convert`');
138 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_sponsor_action_convert` (
139 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
140 `ext_name` VARCHAR(255) NOT NULL DEFAULT 'sponsor',
141 `conv_rate` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
142 `conv_name` VARCHAR(255) NOT NULL DEFAULT 'Mails',
145 ) TYPE={?_TABLE_TYPE?}");
147 // Sponsor menu system (default)
149 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_menu`');
150 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_sponsor_menu` (
151 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
152 `action` VARCHAR(255) NOT NULL DEFAULT '',
153 `what` VARCHAR(255) NULL DEFAULT NULL,
154 `title` VARCHAR(255) NOT NULL DEFAULT '',
155 `active` ENUM('Y','N') NOT NULL DEFAULT 'N',
156 `sort` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
158 UNIQUE KEY `action_what` (`action`,`what`),
161 ) TYPE={?_TABLE_TYPE?}");
163 // Registry for performable actions by your sponsors
165 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_registry`');
166 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_sponsor_registry` (
167 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
168 `admin_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
169 `ext_name` VARCHAR(255) NOT NULL DEFAULT 'sponsor',
170 `is_active` ENUM('Y','N') NOT NULL DEFAULT 'N',
171 `stamp_added` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
175 ) TYPE={?_TABLE_TYPE?}");
177 // URLs from the sponsors
179 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_urls`');
180 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_sponsor_urls` (
181 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
182 `sponsor_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
183 `url` VARCHAR(255) NOT NULL DEFAULT 'http://',
184 `title` VARCHAR(255) NOT NULL DEFAULT '',
185 `clicks` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
186 `status` ENUM('PENDING','ACTIVE','LOCKED') NOT NULL DEFAULT 'PENDING',
187 INDEX (`sponsor_id`),
189 ) TYPE={?_TABLE_TYPE?}");
191 // Banners of any size from the sponsors
193 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_banner`');
194 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_sponsor_banner` (
195 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
196 `sponsor_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
197 `url` VARCHAR(255) NOT NULL DEFAULT 'http://',
198 `alternate` VARCHAR(255) NOT NULL DEFAULT '',
199 `width` INT(7) UNSIGNED NOT NULL DEFAULT 468,
200 `height` INT(7) UNSIGNED NOT NULL DEFAULT 60,
201 `views` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
202 `status` ENUM('PENDING','ACTIVE','LOCKED') NOT NULL DEFAULT 'PENDING',
203 INDEX (`sponsor_id`),
205 ) TYPE={?_TABLE_TYPE?}");
209 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_campaigns`');
210 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_sponsor_campaigns` (
211 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
212 `sponsor_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
213 `admin_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
214 `campaign_name` VARCHAR(255) NOT NULL DEFAULT '',
215 `campaign_created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
216 `campaign_start` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00',
217 `campaign_end` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00',
218 `campaign_amount` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000,
219 `campaign_expired` ENUM('Y','N') NOT NULL DEFAULT 'N',
220 `campaign_locked` ENUM('Y','N') NOT NULL DEFAULT 'Y',
221 `campaign_ended` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00',
222 `locked_reason` TINYTEXT,
223 `locked_timestamp` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00',
224 `status` ENUM('PENDING','ACTIVE','LOCKED') NOT NULL DEFAULT 'PENDING',
226 INDEX (`sponsor_id`),
228 ) TYPE={?_TABLE_TYPE?}");
230 // Campaigns + URLs + Banner
232 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_campaign_assigns`');
233 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_sponsor_campaign_assigns` (
234 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
235 `campaignid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
236 `urlid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
237 `bannerid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
238 `clicks` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
239 `views` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
242 INDEX (`campaignid`),
244 ) TYPE={?_TABLE_TYPE?}");
246 // Allowed data to display (administrative)
248 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_admin_data`');
249 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_sponsor_admin_data` (
250 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
251 `data_row` VARCHAR(255) NOT NULL DEFAULT '',
252 `display` ENUM('Y','N') NOT NULL DEFAULT 'N',
254 ) TYPE={?_TABLE_TYPE?}");
256 // Allowed data to display (sponsor-side)
258 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_display_data`');
259 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_sponsor_display_data` (
260 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
261 `sponsor_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
262 `data_row` VARCHAR(255) NOT NULL DEFAULT '',
263 `display` ENUM('Y','N') NOT NULL DEFAULT 'N',
264 INDEX (`sponsor_id`),
266 ) TYPE={?_TABLE_TYPE?}");
268 // Default allowed data to display
270 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('id','N')");
271 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('company','Y')");
272 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('position','N')");
273 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('tax_ident','N')");
274 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('gender','N')");
275 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('surname','N')");
276 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('family','N')");
277 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('street_nr1','Y')");
278 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('street_nr2','Y')");
279 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('zip','Y')");
280 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('city','Y')");
281 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('country','Y')");
282 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('phone','Y')");
283 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('fax','Y')");
284 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('email','Y')");
285 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('url','N')");
286 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('password','N')");
287 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('remote_addr','N')");
288 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('sponsor_created','N')");
289 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('last_online','N')");
290 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('last_change','N')");
291 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('status','N')");
292 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('receive_warnings','N')");
293 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('warning_interval','N')");
294 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('points_amount','N')");
295 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('points_used','N')");
296 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('refid','N')");
297 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('ref_count','N')");
298 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('hash','N')");
299 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('last_payment','N')");
300 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('last_currency','N')");
302 // Add default entries
304 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_registry` (`ext_name`, `is_active`, `admin_id`, `stamp_added`) VALUES ('sponsor','N',".getCurrentAdminId().",NOW())");
305 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_action_convert` (`ext_name`, `conv_rate`, `conv_name`) VALUES ('sponsor','10','Mails')");
306 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_paytypes` (`pay_name`,`pay_min_count`,`pay_rate`,`pay_currency`) VALUES ('Standart-Paket', 5, 1000.00000, '€')");
307 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_paytypes` (`pay_name`,`pay_min_count`,`pay_rate`,`pay_currency`) VALUES ('Spar-Paket', 1, 200.00000, '€')");
308 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_paytypes` (`pay_name`,`pay_min_count`,`pay_rate`,`pay_currency`) VALUES ('Power-Paket', 10, 2000.00000, '€')");
309 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_paytypes` (`pay_name`,`pay_min_count`,`pay_rate`,`pay_currency`) VALUES ('Sponsor-Paket', 20, 4000.00000, '€')");
313 addAdminMenuSql('sponsor', NULL, 'Sponsorenbereich','Den Sponsorenbereich verwalten. Hier können Sie auch Sonderaktionen seperat deakvieren oder wieder aktivieren, Sponsorenaccounts verwalten usw.', 7);
314 addAdminMenuSql('sponsor','add_sponsor','Neuer Sponsor','Neues Sponsorenaccount hinzufügen.', 1);
315 addAdminMenuSql('sponsor','unlock_sponsor','Sponsor freischalten','Sponsorenaccounts freigeben / sperren.', 2);
316 addAdminMenuSql('sponsor','list_sponsor','Sponsoren auflisten','Listet alle verfügbaren Sponsorenaccounts auf.', 3);
317 addAdminMenuSql('sponsor','edit_sponsor','Sponsor ändern','Sponsorenaccount ändern (Grundaten, nicht Freigabe!).', 4);
318 addAdminMenuSql('sponsor','lock_sponsor','Sponsor ent-/sperren','Sponsorenaccount sperren und entsperren.', 5);
319 addAdminMenuSql('sponsor','del_sponsor','Sponsor löschen','Sponsorenaccount löschen.', 6);
320 addAdminMenuSql('sponsor','sponsor_contct','Sponsor kontaktieren','Kontaktieren Sie Sponsoren komfortabel über dieses {?TITLE?}.', 7);
321 addAdminMenuSql('sponsor','allow_sponsor_data','Datenverwaltung','Stellen Sie hier ein, welche Daten der Sponsor im Mitgliedsbereich über sicht anzeigen darf und welche nicht.', 8);
322 addAdminMenuSql('sponsor','list_sponsor_pays','Bestellungen...','Bestellungen der Sponsoren auflisten / bearbeiten.', 9);
323 addAdminMenuSql('sponsor','list_sponsor_campaigns','Kampagnen...','Management aller von Ihren Sponsoren eingerichteten Kampagnen.', 10);
324 addAdminMenuSql('sponsor','list_sponsor_urls','URL-Management','Management (freischalten, sperren, löschen, testen, bearbeiten usw.) von gebuchten URLs.', 11);
325 addAdminMenuSql('sponsor','list_sponsor_banner','Banner-Management','Management (freischalten, sperren, löschen, testen, bearbeiten usw.) von gebuchten Bannern.', 12);
326 addAdminMenuSql('sponsor','list_sponsor_reg','Sponsor-Aktionen','Alle Sponsor-Aktionen auflisten und verwalten.', 13);
327 addAdminMenuSql('sponsor','list_sponsor_pay','Buchungspakete','Die Sponsoren können sich {OPEN_CONFIG}POINTS{CLOSE_CONFIG}-Pakete kaufen. Hier können Sie diese verwalten.', 14);
328 addAdminMenuSql('sponsor','list_sponsor_conv','{OPEN_CONFIG}POINTS{CLOSE_CONFIG} umwandeln...','Mit den vom Sponsor gekauften {OPEN_CONFIG}POINTS{CLOSE_CONFIG} kann er Aktionen buchen. Hier stellen Sie die Umrechnungsrate von {OPEN_CONFIG}POINTS{CLOSE_CONFIG} nach Sponsoraktionen um. Beispiel: 1 {OPEN_CONFIG}POINTS{CLOSE_CONFIG} = 10 Mails.', 15);
329 addAdminMenuSql('sponsor','config_sponsor','Einstellungen','Allgemeine Einstellungen am Sponsoring-System.', 16);
330 addAdminMenuSql('repair','repr_sponsor','Sponsormenü','Gewichtung des Sponsormenüs reparieren.', 5);
332 // Menu system (still admin menu)
334 addAdminMenuSql('menu','sponsor_medit','Sponsor-Menü editieren','Hier können Sie das Sponsorenmenü verändern: Positionen verändern, Menütitel ändern usw.', 7);
335 addAdminMenuSql('menu','sponsor_madd','Sponsor-Menü hinzufügen','Hier können Sie einen neuen Menüpunkt hinzufügen (falls Sie z.B. eigene Sponsoraktionen entwickelt haben oder welche versehendlich gelöscht haben.', 8);
339 addGuestMenuSql('sponsor', NULL, 'Sponsoren','N','Y', 2);
340 addGuestMenuSql('sponsor','sponsor_reg','Anmeldung','N','Y', 1);
341 addGuestMenuSql('sponsor','sponsor_login','Einloggen','N','Y', 2);
342 addGuestMenuSql('sponsor','sponsor_infos','Infos/Preise','N','Y', 3);
343 addGuestMenuSql('sponsor','sponsor_agb','AGBs','N','Y', 4);
347 addMemberMenuSql('main','sponsor_list','Unsere Sponsoren','N','Y',8);
348 addMemberMenuSql('main','sponsor_reg','Sponsor werden','N','Y',9);
350 // Add default menus to sponsor menu
352 addSponsorMenuSql('main', NULL, 'Hauptauswahl','N', 1);
353 addSponsorMenuSql('main','welcome','Willkommen','N', 1);
354 addSponsorMenuSql('main','account','Ihr Account','N', 2);
355 addSponsorMenuSql('main','campaigns','Kampagnen','N', 3);
356 addSponsorMenuSql('main','list_urls','URL-Management','N', 4);
357 addSponsorMenuSql('main','list_banner','Banner-Management','N', 5);
358 addSponsorMenuSql('main','settings','Einstellungen','N', 6);
359 addSponsorMenuSql('main','fillup','Konto auffüllen','N', 7);
360 addSponsorMenuSql('main','stats','Statistiken','N', 8);
361 addSponsorMenuSql('main','inquiry','Kontaktanfrage','N', 9);
362 addSponsorMenuSql('main','refid','Referal-Link','N', 10);
363 addSponsorMenuSql('actions', NULL, 'Sponsorenaktionen','N', 2);
364 addSponsorMenuSql('actions','mail','Sponsor-Mail','N', 1);
365 addSponsorMenuSql('actions','banner','Banner buchen','N', 2);
366 addSponsorMenuSql('actions','text','Textlink buchen','N', 3);
367 addSponsorMenuSql('logout', NULL, 'Ausloggen','N', 3);
368 addSponsorMenuSql('logout','logout','Ausloggen','N', 1);
369 addSponsorMenuSql('logout','guest','Zum Gastbereich','N', 2);
371 // General configuration stuff
373 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `sponsor_ref_points` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 100.00000");
374 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `sponsor_min_points` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 1000.00000");
378 addModuleSql('sponsor','Y','Y','N','N');
379 addModuleSql('sponsor_confirm','Y','Y','N','N');
380 addModuleSql('sponsor_ref','Y','Y','N','N');
382 // Update name, if not yet set
383 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_mod_reg` SET `title`='Sponsorbereich' WHERE `module`='sponsor' AND `title`='' LIMIT 1");
384 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_mod_reg` SET `title`='Sponsor-Bestätigung' WHERE `module`='sponsor_confirm' AND `title`='' LIMIT 1");
385 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_mod_reg` SET `title`='Sponsor-Referallink' WHERE `module`='sponsor_ref' AND `title`='' LIMIT 1");
388 case 'remove': // Do stuff when removing extension
389 // SQL commands to run
390 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_data`');
391 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_orders`');
392 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_action_convert`');
393 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_paytypes`');
394 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_menu`');
395 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_registry`');
396 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_urls`');
397 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_banner`');
398 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_campaigns`');
399 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_campaign_assigns`');
400 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_admin_data`');
401 addExtensionSql('DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_display_data`');
402 addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `action`='sponsor' OR `what` IN('repr_sponsor','sponsor_medit','sponsor_madd')");
403 addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_guest_menu` WHERE `action`='sponsor'");
404 addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_member_menu` WHERE `what` IN('sponsor_list','sponsor_reg')");
407 case 'activate': // Do stuff when admin activates this extension
408 // SQL commands to run
409 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_guest_menu` SET `visible`='Y', `locked`='N' WHERE `action`='sponsor'");
410 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `visible`='Y', `locked`='N' WHERE `what`='sponsor' LIMIT 1");
411 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_sponsor_menu` SET `active`='Y' WHERE active='N'");
412 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_sponsor_registry` SET `is_active`='Y' WHERE `is_active`='N'");
413 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_mod_reg` SET `locked`='N', `hidden`='N', `admin_only`='N', `mem_only`='N' WHERE `module` IN ('sponsor','sponsor_confirm','sponsor_ref') LIMIT 3");
416 case 'deactivate': // Do stuff when admin deactivates this extension
417 // SQL commands to run
418 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_guest_menu` SET `visible`='N', `locked`='Y' WHERE `action`='sponsor'");
419 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `visible`='N', `locked`='Y' WHERE `what`='sponsor' LIMIT 1");
420 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_sponsor_menu` SET `active`='N' WHERE `active`='Y'");
421 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_sponsor_registry` SET `is_active`='N' WHERE `is_active`='Y'");
422 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_mod_reg` SET `locked`='Y' WHERE `module` IN ('sponsor','sponsor_confirm','sponsor_ref') LIMIT 3");
425 case 'update': // Update an extension
426 switch (getCurrentExtensionVersion()) {
427 case '0.0.1': // SQL queries for v0.0.1
430 // Update notes (these will be set as task text!)
431 setExtensionUpdateNotes('');
436 case 'modify': // When the extension got modified
439 case 'test': // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305.
442 case 'init': // Do stuff when extension is initialized
445 default: // Unknown extension mode
446 logDebugMessage(__FILE__, __LINE__, sprintf("Unknown extension mode %s in extension %s detected.", getExtensionMode(), getCurrentExtensionName()));