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