Marked some unfinished extensions as 'work-in-progress'
[mailer.git] / inc / extensions / ext-sponsor.php
1 <?php
2 /************************************************************************
3  * Mailer v0.2.1-FINAL                                Start: 03/22/2004 *
4  * ===================                          Last change: 06/28/2004 *
5  *                                                                      *
6  * -------------------------------------------------------------------- *
7  * File              : ext-sponsor.php                                  *
8  * -------------------------------------------------------------------- *
9  * Short description : Sponsor area                                     *
10  * -------------------------------------------------------------------- *
11  * Kurzbeschreibung  : Sponsorenbereich                                 *
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  * Copyright (c) 2009, 2010 by Mailer Developer Team                    *
22  * For more information visit: http://www.mxchange.org                  *
23  *                                                                      *
24  * This program is free software; you can redistribute it and/or modify *
25  * it under the terms of the GNU General Public License as published by *
26  * the Free Software Foundation; either version 2 of the License, or    *
27  * (at your option) any later version.                                  *
28  *                                                                      *
29  * This program is distributed in the hope that it will be useful,      *
30  * but WITHOUT ANY WARRANTY; without even the implied warranty of       *
31  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        *
32  * GNU General Public License for more details.                         *
33  *                                                                      *
34  * You should have received a copy of the GNU General Public License    *
35  * along with this program; if not, write to the Free Software          *
36  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,               *
37  * MA  02110-1301  USA                                                  *
38  ************************************************************************/
39
40 // Some security stuff...
41 if (!defined('__SECURITY')) {
42         die();
43 } // END - if
44
45 // Version number
46 setThisExtensionVersion('0.0');
47
48 // Version history array (add more with , '0.1.0' and so on)
49 setExtensionVersionHistory(array('0.0'));
50
51 // This extension is in development (non-productive)
52 enableExtensionProductive(false);
53
54 switch (getExtensionMode()) {
55         case 'register': // Do stuff when installation is running (modules.php?module=admin is called)
56                 //
57                 // SQL commands to run
58                 //
59                 // Try to make it depend on repair
60                 addExtensionUpdateDependency('repair');
61
62                 //
63                 // Sponsor data
64                 //
65                 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_data`");
66                 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_sponsor_data` (
67 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
68 `company` VARCHAR(255) NOT NULL DEFAULT '',
69 `position` VARCHAR(255) NOT NULL DEFAULT '',
70 `tax_ident` VARCHAR(255) NOT NULL DEFAULT '',
71 `gender` ENUM('M','F','C') NOT NULL DEFAULT 'M',
72 `surname` VARCHAR(255) NOT NULL DEFAULT '',
73 `family` VARCHAR(255) NOT NULL DEFAULT '',
74 `street_nr1` VARCHAR(255) NOT NULL DEFAULT '',
75 `street_nr2` VARCHAR(255) NOT NULL DEFAULT '',
76 `zip` VARCHAR(6) NOT NULL DEFAULT '',
77 `city` VARCHAR(255) NOT NULL DEFAULT '',
78 `country` CHAR(2) NOT NULL DEFAULT 'DE',
79 `phone` VARCHAR(255) NOT NULL DEFAULT '',
80 `fax` VARCHAR(255) NOT NULL DEFAULT '',
81 `cell` VARCHAR(255) NOT NULL DEFAULT '',
82 `email` VARCHAR(255) NOT NULL DEFAULT '',
83 `url` VARCHAR(255) NOT NULL DEFAULT '',
84 `password` VARCHAR(255) NOT NULL DEFAULT '',
85 `remote_addr` VARCHAR(15) NOT NULL DEFAULT '0.0.0.0',
86 `sponsor_created` VARCHAR(10) NOT NULL DEFAULT 0,
87 `last_online` VARCHAR(10) NOT NULL DEFAULT 0,
88 `last_change` VARCHAR(10) NOT NULL DEFAULT 0,
89 `status` ENUM('UNCONFIRMED','PENDING','CONFIRMED','LOCKED') NOT NULL DEFAULT 'UNCONFIRMED',
90 `receive_warnings` ENUM('Y','N') NOT NULL DEFAULT 'Y',
91 `warning_interval` BIGINT(20) UNSIGNED NOT NULL DEFAULT '".(getConfig('ONE_DAY')*7)."',
92 `points_amount` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000,
93 `points_used` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000,
94 `refid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
95 `ref_count` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
96 `hash` VARCHAR(32) NOT NULL DEFAULT '',
97 `last_pay` FLOAT(7,2) UNSIGNED NOT NULL DEFAULT '0.00',
98 `last_curr` VARCHAR(255) NOT NULL DEFAULT '&euro;',
99 INDEX (`refid`),
100 INDEX (`email`),
101 UNIQUE KEY (`hash`),
102 PRIMARY KEY (`id`)
103 )TYPE={?_TABLE_TYPE?}");
104                 //
105                 // Sponsor orders
106                 //
107                 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_orders`");
108                 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_sponsor_orders` (
109 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
110 `sponsorid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
111 `admin_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
112 `regid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
113 `payid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
114 `pay_count` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
115 `pay_status` ENUM('PENDING','PAYED','UNPAYED','DELETED') NOT NULL DEFAULT 'PENDING',
116 `pay_ordered` VARCHAR(10) NOT NULL DEFAULT 0,
117 `pay_done` VARCHAR(10) NOT NULL DEFAULT 0,
118 INDEX (`payid`),
119 INDEX (`regid`),
120 INDEX (`admin_id`),
121 INDEX (`sponsorid`),
122 PRIMARY KEY (`id`)
123 )TYPE={?_TABLE_TYPE?}");
124                 //
125                 // Pay-types
126                 //
127                 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_paytypes`");
128                 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_sponsor_paytypes` (
129 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
130 `pay_name` VARCHAR(255) NOT NULL DEFAULT '',
131 `pay_rate` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000,
132 `pay_min_count` BIGINT(20) UNSIGNED NOT NULL DEFAULT 1,
133 `pay_currency` VARCHAR(255) NOT NULL DEFAULT '&euro;',
134 PRIMARY KEY (`id`)
135 )TYPE={?_TABLE_TYPE?}");
136                 //
137                 // Points-to-action converting
138                 //
139                 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_action_convert`");
140                 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_sponsor_action_convert` (
141 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
142 `ext_name` VARCHAR(255) NOT NULL DEFAULT 'sponsor',
143 `conv_rate` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
144 `conv_name` VARCHAR(255) NOT NULL DEFAULT 'Mails',
145 INDEX (`ext_name`),
146 PRIMARY KEY (`id`)
147 )TYPE={?_TABLE_TYPE?}");
148                 //
149                 // Sponsor menu system (default)
150                 //
151                 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_menu`");
152                 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_sponsor_menu` (
153 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
154 `action` VARCHAR(255) NOT NULL DEFAULT '',
155 `what`  VARCHAR(255) NULL DEFAULT NULL,
156 `title` VARCHAR(255) NOT NULL DEFAULT '',
157 `active` ENUM('Y','N') NOT NULL DEFAULT 'N',
158 `sort` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
159 INDEX (`action`),
160 UNIQUE KEY `action_what` (`action`,`what`),
161 UNIQUE KEY (`what`),
162 PRIMARY KEY (`id`)
163 )TYPE={?_TABLE_TYPE?}");
164                 //
165                 // Registry for performable actions by your sponsors
166                 //
167                 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_registry`");
168                 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_sponsor_registry` (
169 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
170 `admin_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
171 `ext_name` VARCHAR(255) NOT NULL DEFAULT 'sponsor',
172 `is_active` ENUM('Y','N') NOT NULL DEFAULT 'N',
173 `stamp_added` VARCHAR(10) NOT NULL DEFAULT 0,
174 INDEX (`ext_name`),
175 INDEX (`admin_id`),
176 PRIMARY KEY (`id`)
177 )TYPE={?_TABLE_TYPE?}");
178                 //
179                 // URLs from the sponsors
180                 //
181                 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_urls`");
182                 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_sponsor_urls` (
183 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
184 `sponsorid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
185 `url` VARCHAR(255) NOT NULL DEFAULT 'http://',
186 `title` VARCHAR(255) NOT NULL DEFAULT '',
187 `clicks` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
188 `status` ENUM('PENDING','ACTIVE','LOCKED') NOT NULL DEFAULT 'PENDING',
189 INDEX (`sponsorid`),
190 PRIMARY KEY (`id`)
191 )TYPE={?_TABLE_TYPE?}");
192                 //
193                 // Banners of any size from the sponsors
194                 //
195                 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_banner`");
196                 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_sponsor_banner` (
197 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
198 `sponsorid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
199 `url` VARCHAR(255) NOT NULL DEFAULT 'http://',
200 `alternate` VARCHAR(255) NOT NULL DEFAULT '',
201 `width` INT(7) UNSIGNED NOT NULL DEFAULT 468,
202 `height` INT(7) UNSIGNED NOT NULL DEFAULT 60,
203 `views` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
204 `status` ENUM('PENDING','ACTIVE','LOCKED') NOT NULL DEFAULT 'PENDING',
205 INDEX (`sponsorid`),
206 PRIMARY KEY (`id`)
207 )TYPE={?_TABLE_TYPE?}");
208                 //
209                 // Campaigns
210                 //
211                 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_campaigns`");
212                 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_sponsor_campaigns` (
213 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
214 `sponsorid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
215 `admin_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
216 `campaign_name` VARCHAR(255) NOT NULL DEFAULT '',
217 `campaign_start` VARCHAR(10) NOT NULL DEFAULT 0,
218 `campaign_end` VARCHAR(10) NOT NULL DEFAULT 0,
219 `campaign_amount` FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000,
220 `campaign_expired` ENUM('Y','N') NOT NULL DEFAULT 'N',
221 `campaign_locked` ENUM('Y','N') NOT NULL DEFAULT 'Y',
222 `campaign_ended` VARCHAR(10) NOT NULL DEFAULT 0,
223 `locked_reason` TINYTEXT,
224 `locked_timestamp` VARCHAR(10) NOT NULL DEFAULT 0,
225 `status` ENUM('PENDING','ACTIVE','LOCKED') NOT NULL DEFAULT 'PENDING',
226 INDEX (`admin_id`),
227 INDEX (`sponsorid`),
228 PRIMARY KEY (`id`)
229 )TYPE={?_TABLE_TYPE?}");
230                 //
231                 // Campaigns + URLs + Banner
232                 //
233                 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_campaign_assigns`");
234                 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_sponsor_campaign_assigns` (
235 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
236 `campaignid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
237 `urlid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
238 `bannerid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
239 `clicks` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
240 `views` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
241 INDEX (`bannerid`),
242 INDEX (`urlid`),
243 INDEX (`campaignid`),
244 PRIMARY KEY (`id`)
245 )TYPE={?_TABLE_TYPE?}");
246                 //
247                 // Allowed data to display (administrative)
248                 //
249                 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_admin_data`");
250                 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_sponsor_admin_data` (
251 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
252 `data_row` VARCHAR(255) NOT NULL DEFAULT '',
253 `display` ENUM('Y','N') NOT NULL DEFAULT 'N',
254 PRIMARY KEY (`id`)
255 )TYPE={?_TABLE_TYPE?}");
256                 //
257                 // Allowed data to display (sponsor-side)
258                 //
259                 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_display_data`");
260                 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_sponsor_display_data` (
261 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
262 `sponsorid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
263 `data_row` VARCHAR(255) NOT NULL DEFAULT '',
264 `display` ENUM('Y','N') NOT NULL DEFAULT 'N',
265 INDEX (`sponsorid`),
266 PRIMARY KEY (`id`)
267 )TYPE={?_TABLE_TYPE?}");
268                 //
269                 // Default allowed data to display
270                 //
271                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('id','N')");
272                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('company','Y')");
273                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('position','N')");
274                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('tax_ident','N')");
275                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('gender','N')");
276                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('surname','N')");
277                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('family','N')");
278                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('street_nr1','Y')");
279                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('street_nr2','Y')");
280                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('zip','Y')");
281                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('city','Y')");
282                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('country','Y')");
283                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('phone','Y')");
284                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('fax','Y')");
285                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('email','Y')");
286                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('url','N')");
287                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('password','N')");
288                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('remote_addr','N')");
289                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('sponsor_created','N')");
290                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('last_online','N')");
291                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('last_change','N')");
292                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('status','N')");
293                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('receive_warnings','N')");
294                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('warning_interval','N')");
295                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('points_amount','N')");
296                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('points_used','N')");
297                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('refid','N')");
298                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('ref_count','N')");
299                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('hash','N')");
300                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('last_pay','N')");
301                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_admin_data` (`data_row`, `display`) VALUES ('last_curr','N')");
302                 //
303                 // Add default entries
304                 //
305                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_registry` (`ext_name`, `is_active`, `admin_id`, `stamp_added`) VALUES ('sponsor','N',".getCurrentAdminId().",UNIX_TIMESTAMP())");
306                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_action_convert` (`ext_name`, `conv_rate`, `conv_name`) VALUES ('sponsor','10','Mails')");
307                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_paytypes` (`pay_name`,`pay_min_count`,`pay_rate`,`pay_currency`) VALUES ('Standart-Paket', 5, 1000.00000, '&euro;')");
308                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_paytypes` (`pay_name`,`pay_min_count`,`pay_rate`,`pay_currency`) VALUES ('Spar-Paket', 1, 200.00000, '&euro;')");
309                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_paytypes` (`pay_name`,`pay_min_count`,`pay_rate`,`pay_currency`) VALUES ('Power-Paket', 10, 2000.00000, '&euro;')");
310                 addExtensionSql("INSERT INTO `{?_MYSQL_PREFIX?}_sponsor_paytypes` (`pay_name`,`pay_min_count`,`pay_rate`,`pay_currency`) VALUES ('Sponsor-Paket', 20, 4000.00000, '&euro;')");
311                 //
312                 // Admin menu
313                 //
314                 addAdminMenuSql('sponsor', NULL, 'Sponsorenbereich','Den Sponsorenbereich verwalten. Hier k&ouml;nnen Sie auch Sonderaktionen seperat deakvieren oder wieder aktivieren, Sponsorenaccounts verwalten usw.', 7);
315                 addAdminMenuSql('sponsor','add_sponsor','Neuer Sponsor','Neues Sponsorenaccount hinzuf&uuml;gen.', 1);
316                 addAdminMenuSql('sponsor','unlock_sponsor','Sponsor freischalten','Sponsorenaccounts freigeben / sperren.', 2);
317                 addAdminMenuSql('sponsor','list_sponsor','Sponsoren auflisten','Listet alle verf&uuml;gbaren Sponsorenaccounts auf.', 3);
318                 addAdminMenuSql('sponsor','edit_sponsor','Sponsor &auml;ndern','Sponsorenaccount &auml;ndern (Grundaten, nicht Freigabe!).', 4);
319                 addAdminMenuSql('sponsor','lock_sponsor','Sponsor ent-/sperren','Sponsorenaccount sperren und entsperren.', 5);
320                 addAdminMenuSql('sponsor','del_sponsor','Sponsor l&ouml;schen','Sponsorenaccount l&ouml;schen.', 6);
321                 addAdminMenuSql('sponsor','allow_sponsor_data','Datenverwaltung','Stellen Sie hier ein, welche Daten der Sponsor im Mitgliedsbereich &uuml;ber sicht anzeigen darf und welche nicht.', 7);
322                 addAdminMenuSql('sponsor','list_sponsor_pays','Bestellungen...','Bestellungen der Sponsoren auflisten / bearbeiten.', 8);
323                 addAdminMenuSql('sponsor','list_sponsor_menu','Sponsorenmen&uuml;','Das Sponsorenmen&uuml; kann hier ge&auml;ndert werden.', 9);
324                 addAdminMenuSql('sponsor','list_sponsor_campaigns','Kampagnen...','Verwaltung aller von Ihren Sponsoren eingerichteten Kampagnen.', 10);
325                 addAdminMenuSql('sponsor','list_sponsor_urls','URL-Verwaltung','Verwaltung (freischalten, sperren, l&ouml;schen, testen, bearbeiten usw.) von gebuchten URLs.', 11);
326                 addAdminMenuSql('sponsor','list_sponsor_banner','Banner-Verwaltung','Verwaltung (freischalten, sperren, l&ouml;schen, testen, bearbeiten usw.) von gebuchten Bannern.', 12);
327                 addAdminMenuSql('sponsor','list_sponsor_reg','Sponsor-Aktionen','Alle Sponsor-Aktionen auflisten und verwalten.', 13);
328                 addAdminMenuSql('sponsor','list_sponsor_pay','Buchungspakete','Die Sponsoren k&ouml;nnen sich {OPEN_CONFIG}POINTS{CLOSE_CONFIG}-Pakete kaufen. Hier k&ouml;nnen Sie diese verwalten.', 14);
329                 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);
330                 addAdminMenuSql('sponsor','config_sponsor','Einstellungen','Allgemeine Einstellungen am Sponsoring-System.', 16);
331                 addAdminMenuSql('repair','repr_sponsor','Sponsormen&uuml;','Gewichtung des Sponsormen&uuml;s reparieren.', 5);
332                 //
333                 // Menu system (still admin menu)
334                 //
335                 addAdminMenuSql('menu','sponsor_medit','Sponsor-Men&uuml; editieren','Hier k&ouml;nnen Sie das Sponsorenmen&uuml; ver&auml;ndern: Positionen ver&auml;ndern, Men&uuml;titel &auml;ndern usw.', 7);
336                 addAdminMenuSql('menu','sponsor_madd','Sponsor-Men&uuml; hinzuf&uuml;gen','Hier k&ouml;nnen Sie einen neuen Men&uuml;punkt hinzuf&uuml;gen (falls Sie z.B. eigene Sponsoraktionen entwickelt haben oder welche versehendlich gel&ouml;scht haben.', 8);
337                 //
338                 // Guest menu
339                 //
340                 addGuestMenuSql('sponsor', NULL, 'Sponsoren','N','Y', 2);
341                 addGuestMenuSql('sponsor','sponsor_reg','Anmeldung','N','Y', 1);
342                 addGuestMenuSql('sponsor','sponsor_login','Einloggen','N','Y', 2);
343                 addGuestMenuSql('sponsor','sponsor_infos','Infos/Preise','N','Y', 3);
344                 addGuestMenuSql('sponsor','sponsor_agb','AGBs','N','Y', 4);
345                 //
346                 // Member menu
347                 //
348                 addMemberMenuSql('main','sponsor','Unsere Sponsoren','N','Y',8);
349                 //
350                 // Add default menus to sponsor menu
351                 //
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-Verwaltung','N', 4);
357                 addSponsorMenuSql('main','list_banner','Banner-Verwaltung','N', 5);
358                 addSponsorMenuSql('main','settings','Einstellungen','N', 6);
359                 addSponsorMenuSql('main','fillup','Konto auff&uuml;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);
370                 //
371                 // General configuration stuff
372                 //
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");
375                 break;
376
377         case 'remove': // Do stuff when removing extension
378                 // SQL commands to run
379                 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_data`");
380                 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_orders`");
381                 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_action_convert`");
382                 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_paytypes`");
383                 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_menu`");
384                 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_registry`");
385                 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_urls`");
386                 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_banner`");
387                 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_campaigns`");
388                 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_campaign_assigns`");
389                 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_admin_data`");
390                 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_sponsor_display_data`");
391                 addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `action`='sponsor' OR `what` IN('repr_sponsor','sponsor_medit','sponsor_madd')");
392                 addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_guest_menu` WHERE `action`='sponsor'");
393                 addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_member_menu` WHERE `what`='sponsor'");
394                 break;
395
396         case 'activate': // Do stuff when admin activates this extension
397                 // SQL commands to run
398                 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_guest_menu` SET `visible`='Y', `locked`='N' WHERE `action`='sponsor' LIMIT 4");
399                 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `visible`='Y', `locked`='N' WHERE `what`='sponsor' LIMIT 1");
400                 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_sponsor_menu` SET active='Y' WHERE active='N'");
401                 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_sponsor_registry` SET is_active='Y' WHERE is_active='N'");
402                 break;
403
404         case 'deactivate': // Do stuff when admin deactivates this extension
405                 // SQL commands to run
406                 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_guest_menu` SET `visible`='N', `locked`='Y' WHERE `action`='sponsor' LIMIT 4");
407                 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `visible`='N', `locked`='Y' WHERE `what`='sponsor' LIMIT 1");
408                 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_sponsor_menu` SET active='N' WHERE active='Y'");
409                 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_sponsor_registry` SET is_active='N' WHERE is_active='Y'");
410                 break;
411
412         case 'update': // Update an extension
413                 switch (getCurrentExtensionVersion()) {
414                         case '0.0.1': // SQL queries for v0.0.1
415                                 addExtensionSql('');
416
417                                 // Update notes (these will be set as task text!)
418                                 setExtensionUpdateNotes('');
419                                 break;
420                 }
421                 break;
422
423         case 'modify': // When the extension got modified
424                 break;
425
426         case 'test': // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305.
427                 break;
428
429         case 'init': // Do stuff when extension is initialized
430                 break;
431
432         default: // Unknown extension mode
433                 logDebugMessage(__FILE__, __LINE__, sprintf("Unknown extension mode %s in extension %s detected.", getExtensionMode(), getCurrentExtensionName()));
434                 break;
435 }
436
437 // [EOF]
438 ?>