SQL removal list table is now 100%, SQL error in ext-bonus fixed (thanks to schatty)
[mailer.git] / inc / extensions / ext-bonus.php
1 <?php
2 /************************************************************************
3  * MXChange v0.2.1                                    Start: 04/04/2004 *
4  * ================                             Last change: 06/13/2005 *
5  *                                                                      *
6  * -------------------------------------------------------------------- *
7  * File              : ext-bonus.php                                    *
8  * -------------------------------------------------------------------- *
9  * Short description : Bonus pages                                      *
10  * -------------------------------------------------------------------- *
11  * Kurzbeschreibung  : Bonus-Seiten                                     *
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, or    *
21  * (at your option) any later version.                                  *
22  *                                                                      *
23  * This program is distributed in the hope that it will be useful,      *
24  * but WITHOUT ANY WARRANTY; without even the implied warranty of       *
25  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        *
26  * GNU General Public License for more details.                         *
27  *                                                                      *
28  * You should have received a copy of the GNU General Public License    *
29  * along with this program; if not, write to the Free Software          *
30  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,               *
31  * MA  02110-1301  USA                                                  *
32  ************************************************************************/
33
34 // Some security stuff...
35 if (!defined('__SECURITY')) {
36         $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
37         require($INC);
38 }
39
40 // Version of this extension
41 $EXT_VERSION = "0.8.8";
42
43 // Auto-set extension version
44 if (empty($EXT_VER)) $EXT_VER = $EXT_VERSION;
45
46 // Version history array (add more with , "0.1" and so on)
47 $EXT_VER_HISTORY = array("0.0", "0.1.6", "0.2.0", "0.2.1", "0.2.2", "0.2.3", "0.2.4", "0.2.5", "0.2.6", "0.2.7", "0.2.8", "0.2.9", "0.3.0", "0.3.1", "0.3.2", "0.3.3", "0.3.4", "0.3.5", "0.3.6", "0.3.7", "0.3.8", "0.3.9", "0.4.0", "0.4.1", "0.4.2", "0.4.3", "0.4.4", "0.4.5", "0.4.6", "0.4.7", "0.4.8", "0.4.9", "0.5.0", "0.5.1", "0.5.2", "0.5.3", "0.5.4", "0.5.5", "0.5.6", "0.5.7", "0.5.8", "0.5.9", "0.6.0", "0.6.1", "0.6.2", "0.6.3", "0.6.4", "0.6.5", "0.6.6", "0.6.7", "0.6.8", "0.6.9", "0.7.0", "0.7.1", "0.7.2", "0.7.3", "0.7.4", "0.7.5", "0.7.6", "0.7.7", "0.7.8", "0.7.9", "0.8.0", "0.8.1", "0.8.2", "0.8.3", "0.8.4", "0.8.5", "0.8.6", "0.8.7", "0.8.8");
48
49 switch ($EXT_LOAD_MODE)
50 {
51 case "register": // Do stuff when installation is running (modules.php?module=admin&action=login is called)
52         // SQL commands to run
53         $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_admin_menu` (`action`,`what`,`title`,`sort`,`descr`) VALUES ('email','send_bonus','Bonusmail senden',5,'Versenden Sie hier Bonus-Mails an alle Mitglieder oder nur an alle aus einer Kategorie. Es spielt keine Rolle, wie viele Mails bereits versendet worden, Sie k&ouml;nnen hier immer senden.')";
54         $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_member_menu` (`action`, `what`, `title`, `sort`, `visible`, `locked`, `counter`) VALUES ('main','bonus','Bonuspunkte',7,'Y','Y', 0)";
55         $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_bonus";
56         $SQLs[] = "CREATE TABLE "._MYSQL_PREFIX."_bonus (
57 id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
58 cat_id BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
59 subject VARCHAR(255) NOT NULL DEFAULT '',
60 text LONGBLOB NOT NULL,
61 receivers LONGBLOB NOT NULL,
62 points BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
63 time TINYINT(3) UNSIGNED NOT NULL DEFAULT 0,
64 data_type ENUM('NEW','QUEUE','SEND') NOT NULL DEFAULT 'NEW',
65 timestamp VARCHAR(10) NOT NULL DEFAULT 0,
66 url VARCHAR(255) NOT NULL DEFAULT '',
67 target_send BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
68 clicks BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
69 mails_sent BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
70 KEY(cat_id),
71 PRIMARY KEY  (id)
72 )TYPE=MyISAM";
73         $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_links MODIFY link_type ENUM('NORMAL','BONUS') NOT NULL DEFAULT 'NORMAL'";
74         $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_links ADD bonus_id BIGINT(20) UNSIGNED NOT NULL DEFAULT 0";
75         $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_links ADD INDEX (bonus_id)";
76
77         // Run this SQL when html or html_mail extension is installed
78         if (EXT_IS_ACTIVE("html_mail")) $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_bonus add html_msg ENUM('Y','N') NOT NULL DEFAULT 'N'";
79         break;
80
81 case "remove": // Do stuff when removing extension
82         // SQL commands to run
83         $SQLs[] = "DELETE LOW_PRIORITY FROM `"._MYSQL_PREFIX."_admin_menu` WHERE what IN ('bonus','config_bonus','send_bonus','list_bonus','list_notifications') LIMIT 5";
84         $SQLs[] = "DELETE LOW_PRIORITY FROM `"._MYSQL_PREFIX."_member_menu` WHERE what='bonus' LIMIT 1";
85         $SQLs[] = "DELETE LOW_PRIORITY FROM `"._MYSQL_PREFIX."_guest_menu` WHERE action='bonus' LIMIT 1";
86         $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_links MODIFY link_type ENUM('NORMAL') NOT NULL DEFAULT 'NORMAL'";
87         $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_links DROP bonus_id";
88         $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_bonus";
89         $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_bonus_urls";
90         $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_bonus_customer";
91         $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_bonus_turbo";
92         break;
93
94 case "activate": // Do stuff when admin activates this extension
95         // SQL commands to run
96         $SQLs[] = "UPDATE `"._MYSQL_PREFIX."_member_menu` SET visible='Y', locked='N' WHERE what='bonus' LIMIT 1";
97         $SQLs[] = "UPDATE `"._MYSQL_PREFIX."_guest_menu` SET visible='Y', locked='N' WHERE action='bonus' LIMIT 1";
98         $SQLs[] = "UPDATE "._MYSQL_PREFIX."_mod_reg SET locked='N', hidden='N', admin_only='N', mem_only='N' WHERE module='show_bonus' LIMIT 1";
99         break;
100
101 case "deactivate": // Do stuff when admin deactivates this extension
102         // SQL commands to run
103         $SQLs[] = "UPDATE `"._MYSQL_PREFIX."_member_menu` SET visible='N', locked='Y' WHERE what='bonus' LIMIT 1";
104         $SQLs[] = "UPDATE `"._MYSQL_PREFIX."_guest_menu` SET visible='N', locked='Y' WHERE action='bonus' LIMIT 1";
105         $SQLs[] = "UPDATE "._MYSQL_PREFIX."_mod_reg SET locked='Y' WHERE module='show_bonus' LIMIT 1";
106         break;
107
108 case "update": // Update an extension
109         switch ($EXT_VER)
110         {
111         case "0.1.6": // SQL queries for v0.1.6
112                 // Update notes (these will be set as task text!)
113                 $UPDATE_NOTES = "Paid-Links wurden verschoben in die Erweiterung <STRONG>paidlinks</STRONG>.";
114                 break;
115
116         case "0.2.0": // SQL queries for v0.2.0
117                 $SQLs[] = "UPDATE "._MYSQL_PREFIX."_bonus SET target_send=mails_sent WHERE target_send='0' AND mails_sent>0 AND receivers != ''";
118
119                 // Update notes (these will be set as task text!)
120                 $UPDATE_NOTES = "Behebt ein Versand-Problem mit den Bonus-Mails. Es wurde die Spalte target_send nicht beim Einf&uuml;gen der Buchung gessetzt. Bitte laden Sie sich dazu - wenn nicht bereits geschehen - alle Patches bis mindestens Patch 240 unter <A href=\"{!URL!}/modules.php?module=admin&amp;what=updates\">Updates pr&uuml;fen</A> herunter.";
121                 break;
122
123         case "0.2.1": // SQL queries for v0.2.1
124                 $SQLs[] = "DELETE LOW_PRIORITY FROM `"._MYSQL_PREFIX."_admin_menu` WHERE what='config_bonus' LIMIT 1";
125                 $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_admin_menu` (`action`,`what`,`title`,`sort`,`descr`) VALUES ('setup','config_bonus','Bonus-{!POINTS!}',8,'Richten Sie Bonus-{!POINTS!} ein, die beim x&#39;ten Klick auf die Mail verbucht werden sollen. Beispiele: Der 1. Klick sollte mehr {!POINTS!} zus&auml;tzlich bekommen, als der 10. Klick.')";
126                 $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD login_bonus FLOAT(20,3) NOT NULL DEFAULT 10.000";
127                 $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD turbo_bonus FLOAT(20,3) NOT NULL DEFAULT 100.000";
128                 $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD login_timeout BIGINT(20) UNSIGNED NOT NULL DEFAULT ".getConfig('one_day')."";
129                 $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD turbo_rates VARCHAR(255) NOT NULL DEFAULT '50;20;10'";
130                 $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD bonus_ranks TINYINT(3) UNSIGNED NOT NULL DEFAULT 10";
131                 // Use actual month for this update
132                 $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_user_data` ADD login_bonus FLOAT(20,3) NOT NULL DEFAULT 0.000";
133                 $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_user_data` ADD turbo_bonus FLOAT(20,3) NOT NULL DEFAULT 0.000";
134                 $SQLs[] = "UPDATE "._MYSQL_PREFIX."_extensions SET ext_has_css='Y' WHERE ext_name='bonus' AND ext_has_css='N' LIMIT 1";
135
136                 // Update notes (these will be set as task text!)
137                 $UPDATE_NOTES = "Login-Bonus und Turbo-Klick-Bonus intergriert.";
138                 break;
139
140         case "0.2.2": // SQL queries for v0.2.2
141                 $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_bonus_turbo";
142                 $SQLs[] = "CREATE TABLE "._MYSQL_PREFIX."_bonus_turbo (
143 id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
144 userid BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
145 mail_id BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
146 bonus_id BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
147 level BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
148 points FLOAT(20,3) NOT NULL DEFAULT '0.000',
149 timemark VARCHAR(32) NOT NULL DEFAULT 0,
150 PRIMARY KEY(id),
151 KEY mail_id (mail_id),
152 KEY bonus_id (bonus_id),
153 KEY userid (userid)
154 ) TYPE=MyISAM";
155
156                 // Update notes (these will be set as task text!)
157                 $UPDATE_NOTES = "Turbo-Bonus wird in Tabelle gez&auml;hlt f&uuml;r Anzeige, wer alles bereits geklickt hat und welchen Platz er gemacht hat.";
158                 break;
159
160         case "0.2.3": // SQL queries for v0.2.3
161                 $SQLs[] = "DELETE LOW_PRIORITY FROM `"._MYSQL_PREFIX."_member_menu` WHERE what='bonus' LIMIT 1";
162                 $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_member_menu` (`action`, `what`, `title`, `sort`, `visible`, `locked`, `counter`) VALUES ('main','bonus','Aktiv-Rallye',7,'Y','Y', 0)";
163
164                 // Update notes (these will be set as task text!)
165                 $UPDATE_NOTES = "Aktiv-Rallye mit Klick-Verg&uuml;tung hinzugef&uuml;gt.";
166                 break;
167
168         case "0.2.4": // SQL queries for v0.2.4
169                 // Update notes (these will be set as task text!)
170                 $UPDATE_NOTES = "Wegen des Theme-Supportes hat sich die URL zur CSS-Datei ge&auml;ndert.";
171                 break;
172
173         case "0.2.5": // SQL queries for v0.2.5
174                 $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_bonus_urls";
175                 $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_bonus_customer";
176
177                 // Update notes (these will be set as task text!)
178                 $UPDATE_NOTES = "Tabellen <U>"._MYSQL_PREFIX."_bonus_urls</U> und <U>"._MYSQL_PREFIX."_bonus_customer</U> entfernt, da dies bald von der Erweiterung <U>paidlinks</U> erledigt wird.";
179                 break;
180
181         case "0.2.6": // SQL queries for v0.2.6
182                 // Update notes (these will be set as task text!)
183                 $UPDATE_NOTES = "Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.";
184                 break;
185
186         case "0.2.7": // SQL queries for v0.2.7
187                 // Update notes (these will be set as task text!)
188                 $UPDATE_NOTES = "Turbo-Bonus klappt wieder (dies sind {!POINTS!} die an die schnellsten Klicker verg&uuml;tet werden!)";
189                 break;
190
191         case "0.2.8": // SQL queries for v0.2.8
192                 $SQLs[] = "UPDATE "._MYSQL_PREFIX."_bonus SET timestamp='0' WHERE timestamp='0000000000'";
193                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_bonus_turbo CHANGE points points FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000";
194                 $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` CHANGE turbo_bonus turbo_bonus FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000";
195                 $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` CHANGE login_bonus login_bonus FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000";
196                 $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_user_data` CHANGE turbo_bonus turbo_bonus FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000";
197                 $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_user_data` CHANGE login_bonus login_bonus FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000";
198
199                 // Update notes (these will be set as task text!)
200                 $UPDATE_NOTES = "5 Nachkommastellen implementiert";
201                 break;
202
203         case "0.2.9": // SQL queries for v0.2.9
204                 // Update notes (these will be set as task text!)
205                 $UPDATE_NOTES = "Problem mit Speicherung der Einstellungen beseitigt.";
206                 break;
207
208         case "0.3.0": // SQL queries for v0.3.0
209                 // Update notes (these will be set as task text!)
210                 $UPDATE_NOTES = "Men&uuml;punkte im Gast-/Mitgliedsbereich k&ouml;nnen nicht mehr aufgerufen werden, wenn die Erweiterung deaktiviert ist.";
211                 break;
212
213         case "0.3.1": // SQL queries for v0.3.1
214                 // Update notes (these will be set as task text!)
215                 $UPDATE_NOTES = "Sicherheitsupdate am Script <U>show_bonus.php</U> durchgef&uuml;hrt.";
216                 break;
217
218         case "0.3.2": // SQL queries for v0.3.2
219                 // Update notes (these will be set as task text!)
220                 $UPDATE_NOTES = "Design &quot;Solid-Business&quot; eingebaut.";
221                 break;
222
223         case "0.3.3": // SQL queries for v0.3.3
224                 // Update notes (these will be set as task text!)
225                 $UPDATE_NOTES = "Seit <A href=\"#\">Patch 340</A> &uuml;berfl&uuml;ssige HTML-Tags entfernt.";
226                 break;
227
228         case "0.3.4": // SQL queries for v0.3.4
229                 $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('user','list_bonus','Aktiv-Rallye-Teilnehmer','Listet alle Mitglieder auf, die einen Aktiv-Bonus haben und zeigt die derzeit m&ouml;glichen Gewinner an.', 10)";
230
231                 // Update notes (these will be set as task text!)
232                 $UPDATE_NOTES = "Link <U>Aktiv-Rallye-Teilnehmer</U> hinzugef&uuml;gt, inklusive manuelle Vorbereitung der Verg&uuml;tung.";
233                 break;
234
235         case "0.3.5": // SQL queries for v0.3.5
236                 $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD bonus_mode ENUM('UID','JACKPOT','ADD') NOT NULL DEFAULT 'ADD'";
237                 $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD bonus_uid BIGINT(20) UNSIGNED NOT NULL DEFAULT 0";
238
239                 // Update notes (these will be set as task text!)
240                 $UPDATE_NOTES = "Der Login-Bonus Aktiv-Bonus (= Klick-Bonus) k&ouml;nnen nun zuerst von einem Mitgliederaccount (das sollte Ihres sein!), vom Jackpot abgezogen oder einfach dazuadiert werden.";
241                 break;
242
243         case "0.3.6": // SQL queries for v0.3.6
244                 // Update notes (these will be set as task text!)
245                 $UPDATE_NOTES = "In der Admin-Liste werden nur aktive Mitglieder gelistet und zudem die sp&auml;teste Zeitmarke f&uuml;r die Auswertung angezeigt.";
246                 break;
247
248         case "0.3.7": // SQL queries for v0.3.7
249                 // Update notes (these will be set as task text!)
250                 $UPDATE_NOTES = "Mitglieder-Account auw&auml;hlbar, von dem die {!POINTS!} f&uuml;r den Aktiv- und Login-Bonus abgebucht werden.";
251                 break;
252
253         case "0.3.8": // SQL queries for v0.3.8
254                 // Update notes (these will be set as task text!)
255                 $UPDATE_NOTES = "Ausgabe des generierten HTML-Codes nach <U>inc/footer.php</U> verlagert.";
256                 break;
257
258         case "0.3.9": // SQL queries for v0.3.9
259                 // Update notes (these will be set as task text!)
260                 $UPDATE_NOTES = "Fehlende Variablen gefixt.";
261                 break;
262
263         case "0.4.0": // SQL queries for v0.4.0
264                 $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD bonus_timeout BIGINT(20) UNSIGNED NOT NULL DEFAULT ".(getConfig('one_day')*7)."";
265                 $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD bonus_lines BIGINT(20) UNSIGNED NOT NULL DEFAULT 10";
266
267                 // Update notes (these will be set as task text!)
268                 $UPDATE_NOTES = "Automatisches L&ouml;schen von Turbo-Bonus-Zeilen ("._MYSQL_PREFIX."_bonus_turbo) und begrenzte Anzahl von Eintr&auml;gen hinzugef&uuml;gt.";
269                 break;
270
271         case "0.4.1": // SQL queries for v0.4.1
272                 // Update notes (these will be set as task text!)
273                 $UPDATE_NOTES = "Verg&uuml;tung des Aktiv-Bonus repariert.";
274                 break;
275
276         case "0.4.2": // SQL queries for v0.4.2
277                 // Update notes (these will be set as task text!)
278                 $UPDATE_NOTES = "Admin-Bereich / Aktiv-Teilnehmer auflisten: Problem mit Konstante __AUTOPURGE_TIMEOUT und das Template <U>admin_list_bonus.tpl</U> korregiert.";
279                 break;
280
281         case "0.4.3": // SQL queries for v0.4.3
282                 // Update notes (these will be set as task text!)
283                 $UPDATE_NOTES = "Verbesserung des Versandes von  HTML-Bonus-Mails.";
284                 break;
285
286         case "0.4.4": // SQL queries for v0.4.4
287                 $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD bonus_order FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 15.00000";
288                 $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD bonus_ref FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 100.00000";
289                 $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD bonus_stats FLOAT(20,5) UNSIGNED NOT NULL DEFAULT '5.00000'";
290                 $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD bonus_active ENUM('Y','N') NOT NULL DEFAULT 'Y'";
291                 $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_user_data` ADD bonus_order FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000";
292                 $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_user_data` ADD bonus_ref FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000";
293                 $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_user_data` ADD bonus_stats FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000";
294                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_stats ADD is_stats ENUM('Y','N') NOT NULL DEFAULT 'N'";
295
296                 // Update notes (these will be set as task text!)
297                 $UPDATE_NOTES = "Bonus-{!POINTS!} f&uuml;r: Mailbestellung, Referal-Werbung (bei Best. der EMail-Adresse) und wenn 100% Klickrate jeder Mailbuchung erreicht wurde.<br />Template <u>admin_config_bonus_pro.tpl</u> ist &uuml;berfl&uuml;ssig geworden. Bitte l&ouml;schen Sie dies!<br />Eingestellte Bonus-{!POINTS!} f&uuml;r Rank 2 war um eins verschoben.";
298                 break;
299
300         case "0.4.5": // SQL queries for v0.4.5
301                 // Update notes (these will be set as task text!)
302                 $UPDATE_NOTES = "Abzug vom Bonus-Account integriert.";
303                 break;
304
305         case "0.4.6": // SQL queries for v0.4.6
306                 // Update notes (these will be set as task text!)
307                 $UPDATE_NOTES = "Rank 2 bekommt nun auch seine {!POINTS!} gutgeschrieben.";
308                 break;
309
310         case "0.4.7": // SQL queries for v0.4.7
311                 $SQLs[] = "UPDATE `"._MYSQL_PREFIX."_user_data` SET login_bonus=0, turbo_bonus=0,bonus_ref=0,bonus_order=0,bonus_stats=0";
312
313                 // Update notes (these will be set as task text!)
314                 $UPDATE_NOTES = "Die Aktiv-Rallye wurde nicht auf 0 {!POINTS!} gesetzt. Dieser Fehler ist nun behoben. Allerdings ist mit diesem Update auch die Aktiv-Rallye zur&uuml;ckgesetzt worden.";
315                 break;
316
317         case "0.4.8": // SQL queries for v0.4.8
318                 // Update notes (these will be set as task text!)
319                 $UPDATE_NOTES = "In <U>inc/monthly_bonus.php</U> fehlte ein Punkt; Fehler besseitigt.";
320                 break;
321
322         case "0.4.9": // SQL queries for v0.4.9
323                 // Update notes (these will be set as task text!)
324                 $UPDATE_NOTES = "Login-Bonus wird mit angezeigt.";
325                 break;
326
327         case "0.5.0": // SQL queries for v0.5.0
328                 // Update notes (these will be set as task text!)
329                 $UPDATE_NOTES = "Problem mit <STRONG>is_hundred</STRONG> beim t&auml;glichen Reset beseitigt.";
330                 break;
331
332         case "0.5.1": // SQL queries for v0.5.1
333                 // Update notes (these will be set as task text!)
334                 $UPDATE_NOTES = "Problem mit <STRONG>bonus_stats / Zeile 31</STRONG> beim t&auml;glichen Reset beseitigt.";
335                 break;
336
337         case "0.5.2": // SQL queries for v0.5.2
338                 // Update notes (these will be set as task text!)
339                 $UPDATE_NOTES = "W&ouml;rter <STRONG>Mailtausch</STRONG>, <STRONG>Mailtausches</STRONG> und <STRONG>Mailtauscher</STRONG> sind austauschbar.";
340                 break;
341
342         case "0.5.3": // SQL queries for v0.5.3
343                 // Update notes (these will be set as task text!)
344                 $UPDATE_NOTES = "Speichern der Aktiv-{!POINTS!} f&uuml;r Platz 2 bis <STRONG>x</STRONG> korregiert.";
345                 break;
346
347         case "0.5.4": // SQL queries for v0.5.4
348                 // Update notes (these will be set as task text!)
349                 $UPDATE_NOTES = "Variablenfehler in <STRONG>inc/monthly_bonus.php</STRONG> behoben.";
350                 break;
351
352         case "0.5.5": // SQL queries for v0.5.5
353                 // Update notes (these will be set as task text!)
354                 $UPDATE_NOTES = "Weitere Variablenfehler in <STRONG>inc/monthly_bonus.php</STRONG> haben daf&uuml;r gesorgt, dass die monatliche Aktiv-Rallye nicht ausgesch&uuml;ttet wurde. Mit diesem Update wurde die Aussch&uuml;ttung initialisiert. Ihre Mitglieder bekommen voraussichtlicht nichts doppelt verg&uuml;tet.";
355                 break;
356
357         case "0.5.6": // SQL queries for v0.5.6
358                 // Get current month
359                 $curr = date("m", time());
360                 if (strlen($curr) == 1) $curr = "0".$curr;
361                 if ($curr == "00") $curr = "12";
362
363                 // Generate timemark...
364                 $mark = mktime(0, 0, 0, $curr, 1, date('Y', time()));
365
366                 // Update accounts which are not active last months
367                 $SQLs[] = "UPDATE "._MYSQL_PREFIX."_user_data
368 SET turbo_bonus=0, login_bonus=0, bonus_order=0, bonus_stats=0, bonus_ref=0
369 WHERE last_online < ".$mark." ORDER BY userid";
370
371                 // Update notes (these will be set as task text!)
372                 $UPDATE_NOTES = "Ein weiterer Scriptfehler hat nur die Gewinner aus der Aktiv-Rallye genommen. Die anderen Mitglieder sind somit &quot;nach oben gerutsch&quot;.";
373                 break;
374
375         case "0.5.7": // SQL queries for v0.5.7
376                 break;
377
378         case "0.5.8": // SQL queries for v0.5.8
379                 // Update notes (these will be set as task text!)
380                 $UPDATE_NOTES = "Problem mit <STRONG>is_hundred</STRONG> beim t&auml;glichen Reset endlich beseitigt.";
381                 break;
382
383         case "0.5.9": // SQL queries for v0.5.9
384                 $UPDATE_NOTES = "Fehlermeldung <STRONG>/home/verzeichnis/html/inc/stats_bonus.php (42):You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' WHERE userid='59' LIMIT 1' at line 1</STRONG> beseitigt.";
385                 break;
386
387         case "0.6.0": // SQL queries for v0.6.0
388                 $UPDATE_NOTES = "SQL-Fehlermeldung in <STRONG>inc/monthly_bonus.php</STRONG> beseitigt.";
389                 break;
390
391         case "0.6.1": // SQL queries for v0.6.1
392                 $UPDATE_NOTES = "Versand von Bonus-Mails repariert.";
393                 break;
394
395         case "0.6.2": // SQL queries for v0.6.2
396                 $UPDATE_NOTES = "L&ouml;schen von bereits gel&ouml;schten Mails wird nun abgelehnt.";
397                 break;
398
399         case "0.6.3": // SQL queries for v0.6.3
400                 $UPDATE_NOTES = "Abspeichern von Einstellungen repariert.";
401                 break;
402
403         case "0.6.4": // SQL queries for v0.6.4
404                 $SQLs[] = "UPDATE `"._MYSQL_PREFIX."_admin_menu` SET title='Aktiv-Rallye' WHERE what='config_bonus' LIMIT 1";
405
406                 // Update notes (these will be set as task text!)
407                 $UPDATE_NOTES = "Der Men&uuml;punkt &quot;Bonus-{!POINTS!}&quot; unter Einstellungen wird nach &quot;Aktiv-Rallye umbenannt. Und die Aktiv-Rallye konnte aufgrund eines Template-Fehlers nicht gespeichert werden.";
408                 break;
409
410         case "0.6.5": // SQL queries for v0.6.5
411                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_stats ADD bonus_stats ENUM('Y','N') NOT NULL DEFAULT 'N'";
412
413                 // Update notes (these will be set as task text!)
414                 $UPDATE_NOTES = "Fehler mit bonus_stats beseitigt.";
415                 break;
416
417         case "0.6.6": // SQL queries for v0.6.6
418                 $UPDATE_NOTES = "Template-Fehler beseitigt im Admin-Bereich.";
419                 break;
420
421         case "0.6.7": // SQL queries for v0.6.7
422                 $UPDATE_NOTES = "Vorbereitung auf die neue Mediendaten v0.0.4.";
423                 break;
424
425         case "0.6.8": // SQL queries for v0.6.8
426                 $SQLs[] = "UPDATE "._MYSQL_PREFIX."_bonus SET data_type='SEND' WHERE data_type != 'SEND' AND data_type != 'DELETED' AND receivers='' AND target_send='0'";
427
428                 // Update notes (these will be set as task text!)
429                 $UPDATE_NOTES = "Eingegebene Anzahl auszusendener Bonus-Mails wurde bei der Empf&auml;nderauswahl nicht ber&uuml;cksichtigt. Zudem wird jetzt das eingestellte Auswahlverfahren mitber&uuml;cksichtigt.";
430                 break;
431
432         case "0.6.9": // SQL queries for v0.6.9
433                 $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD bonus_order_yn ENUM('Y','N') NOT NULL DEFAULT 'N'";
434                 $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD bonus_ref_yn ENUM('Y','N') NOT NULL DEFAULT 'N'";
435                 $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD bonus_stats_yn ENUM('Y','N') NOT NULL DEFAULT 'N'";
436                 $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD bonus_login_yn ENUM('Y','N') NOT NULL DEFAULT 'N'";
437                 $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD bonus_click_yn ENUM('Y','N') NOT NULL DEFAULT 'Y'";
438
439                 // Update notes (these will be set as task text!)
440                 $UPDATE_NOTES = "Es k&ouml;nnen nun auch die folgenden Verg&uuml;tungen bei der Auswertung der monatlichen Aktiv-Rallye mit ber&uuml;cksichtigt werden: Mailbest&auml;tigung (war vorher schon), Login-, Mailbuchung, Referal und Statistik-Bonus (100% Klickrate erreicht).";
441                 break;
442
443         case "0.7.0": // SQL queries for v0.7.0
444                 $UPDATE_NOTES = "Zuschaltung von weiteren Bonis wird jetzt auch bei der Auflistung der mitmachenden Mitglieder im Mitgliedsbereich beachtet.";
445                 break;
446
447         case "0.7.1": // SQL queries for v0.7.1
448                 $UPDATE_NOTES = "Im Adminbereich wird nun ebenfalls die Zuschaltung von weiteren Bonis ber&uuml;cksichtigt. Zudem wird der Gesamtbonus an alle Mitglieder errechnet und auch angezeigt.";
449                 break;
450
451         case "0.7.2": // SQL queries for v0.7.2
452                 $UPDATE_NOTES = "Die Verg&uuml;tung der erreichten 100%-Klickrate war noch wegen Programmierungen am Script auskommentiert. Sorry!";
453                 break;
454
455         case "0.7.3": // SQL queries for v0.7.3
456                 $UPDATE_NOTES = "Gutgeschriebene Bonus-{!POINTS!} werden nach Deaktivierung der Aktiv-Rallye gel&ouml;scht.";
457                 break;
458
459         case "0.7.4": // SQL queries for v0.7.4
460                 $UPDATE_NOTES = "Rechtlichen Hinweis im Mitgliedsbereich vergessen. (<STRONG>member_bonus.tpl</STRONG>)";
461                 break;
462
463         case "0.7.5": // SQL queries for v0.7.5
464                 $UPDATE_NOTES = "Im Admin-Bereich Hinweis hinzugef&uuml;gt, wenn Aktiv-Rallye inaktiv ist. Bitte Script inc/monthly_bonus.php l&ouml;schen!";
465                 break;
466
467         case "0.7.6": // SQL queries for v0.7.6
468                 $UPDATE_NOTES = "Auswahlmechanismus der Gewinner repariert. Trotz Hinzuschalten von weiteren zu ber&uuml;cksichtigen Boni wurden diese bei der Sortierung der User-IDs nicht ber&uuml;cksichtig.";
469                 break;
470
471         case "0.7.7": // SQL queries for v0.7.7
472                 $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD bonus_en_notify ENUM('Y','N') NOT NULL DEFAULT 'N'";
473                 $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD bonus_di_notify ENUM('Y','N') NOT NULL DEFAULT 'N'";
474                 $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD bonus_new_mem_notify ENUM('Y','N') NOT NULL DEFAULT 'N'";
475                 $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD bonus_notify_points FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000";
476                 $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD bonus_notify_wait BIGINT(20) UNSIGNED NOT NULL DEFAULT '30'";
477                 $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_user_data` ADD bonus_ral_notify BIGINT(20) UNSIGNED NOT NULL DEFAULT 0";
478                 $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_user_data` ADD bonus_ral_en_notify BIGINT(20) UNSIGNED NOT NULL DEFAULT 0";
479                 $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_user_data` ADD bonus_ral_di_notify BIGINT(20) UNSIGNED NOT NULL DEFAULT 0";
480
481                 // Update notes (these will be set as task text!)
482                 $UPDATE_NOTES = "Optionale automatische Benachrichtigung &uuml;ber aktivierte und/oder deaktivierte Aktiv-Rallye einstellbar.";
483                 break;
484
485         case "0.7.8": // SQL queries for v0.7.8
486                 // Update notes (these will be set as task text!)
487                 $UPDATE_NOTES = "Fehler im t&auml;glichen Reset beseitigt.";
488                 break;
489
490         case "0.7.9": // SQL queries for v0.7.9
491                 $UPDATE_NOTES = "Dollarzeichen fehlte in <STRONG>inc/reset/reset_bonus.php</STRONG>, Zeile 39";
492                 break;
493
494         case "0.8.0": // SQL queries for v0.8.0
495                 $UPDATE_NOTES = "De-/Aktivieren des mit dieser Erweiterung verkn&uuml;pften Modules eingebunden.";
496                 break;
497
498         case "0.8.1": // SQL queries for v0.8.1
499                 $UPDATE_NOTES = "Bei {!POINTS!}-Gleichstand wird als n&auml;chstes nach wer als letztes Online war umsortiert.";
500                 break;
501
502         case "0.8.2": // SQL queries for v0.8.2
503                 $SQLs[] = "ALTER TABLE `"._MYSQL_PREFIX."_config` ADD bonus_include_own ENUM('Y','N') NOT NULL DEFAULT 'N'";
504                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_bonus ADD is_notify ENUM('Y','N') NOT NULL DEFAULT 'N'";
505
506                 // Update notes (these will be set as task text!)
507                 $UPDATE_NOTES = "Eigene User-ID von Aktiv-Rallye ausschliessbar. Benachrichtigungsmails sind von Aktiv-Rallye ausgeschlossen.";
508                 break;
509
510         case "0.8.3": // SQL queries for v0.8.3
511                 $SQLs[] = "UPDATE `"._MYSQL_PREFIX."_member_menu` SET action='rals', sort='2', title='Aktiv-Rallye' WHERE what='bonus' LIMIT 1";
512
513                 // Update notes (these will be set as task text!)
514                 $UPDATE_NOTES = "Mitgliedsmen&uuml; komplett umgebaut.";
515                 break;
516
517         case "0.8.4": // SQL queries for v0.8.4
518                 $UPDATE_NOTES = "Ladeproblem bei nicht installierter Erweiterung <strong>cache</strong> gefixt.";
519                 break;
520
521         case "0.8.5": // SQL queries for v0.8.5
522                 $UPDATE_NOTES = "CSS-Klassenname gefixt in Templates.";
523                 break;
524
525         case "0.8.6": // SQL queries for v0.8.6
526                 $UPDATE_NOTES = "Fehlerhinweis bei deaktivierter Erweiterung verbessert.";
527                 break;
528
529         case "0.8.7": // SQL queries for v0.8.7
530                 $SQLs[] = "INSERT INTO `"._MYSQL_PREFIX."_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('email','list_notifications','Benachrichtigungen','Listet alle an die Mitglieder ausgesandten Benachrichtigungen auf.', 10)";
531
532                 // Update notes
533                 $UPDATE_NOTES = "Benachrichtigungsmails f&uuml;r z.B. Bettel- oder Aktiv-Rallye werden nun angezeigt.";
534                 break;
535
536         case "0.8.8": // SQL queries for v0.8.8
537                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_stats ADD bonus_stats_active ENUM('Y','N') NOT NULL DEFAULT 'N'";
538
539                 // Update notes
540                 $UPDATE_NOTES = "Benachrichtigungsmails f&uuml;r z.B. Bettel- oder Aktiv-Rallye werden nun angezeigt.";
541                 break;
542         }
543         break;
544
545 case "test": // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305.
546         break;
547
548 default: // Do stuff when extension is loaded
549         if (isBooleanConstantAndTrue('__DAILY_RESET') && (!DEBUG_MODE) && ($CSS != 1)) {
550                 // Daily reset was run so let's check if active rallye is activated
551                 if (getConfig('bonus_active') == "Y") {
552                         // Run active rallye
553                         if (getConfig('bonus_stats') > 0) $INC_POOL[] = sprintf("%sinc/stats_bonus.php", PATH);
554                         $INC_POOL[] = sprintf("%sinc/monthly/monthly_bonus.php", PATH);
555                 } else {
556                         // Reset points
557                         $INC_POOL[] = sprintf("%sinc/reset/reset_bonus.php", PATH);
558                 }
559         }
560
561         // Check for bonus rallye is active and send mails out
562         if ((getConfig('bonus_active') == "Y") && (getConfig('bonus_new_mem_notify') == "Y")) {
563                 // Include file for sending out mails
564                 $INC_POOL[] = sprintf("%sinc/mails/bonus_mails.php", PATH);
565         }
566         break;
567 }
568
569 //
570 ?>