branch prepared
[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 (ereg(basename(__FILE__), $_SERVER['PHP_SELF']))
36 {
37         $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
38         require($INC);
39 }
40
41 // Version of this extension
42 $EXT_VERSION = "0.8.6";
43
44 // Auto-set extension version
45 if (empty($EXT_VER)) $EXT_VER = $EXT_VERSION;
46
47 // Version history array (add more with , "0.1" and so on)
48 $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");
49
50 switch ($EXT_LOAD_MODE)
51 {
52 case "register": // Do stuff when installtion is running (modules.php?module=admin&action=login is called)
53         // SQL commands to run
54         $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu VALUES (NULL,'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.')";
55         $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_member_menu VALUES (NULL,'main','bonus','Bonuspunkte',7,'Y','Y','',0)";
56         $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_bonus";
57         $SQLs[] = "CREATE TABLE "._MYSQL_PREFIX."_bonus (
58 id bigint(20) NOT NULL auto_increment,
59 cat_id bigint(20) NOT NULL default '0',
60 subject varchar(255) NOT NULL default '',
61 text longblob NOT NULL,
62 receivers longblob NOT NULL,
63 points bigint(20) NOT NULL default '0',
64 time tinyint(4) NOT NULL default '0',
65 data_type enum('NEW','QUEUE','SEND') NOT NULL default 'NEW',
66 timestamp varchar(10) NOT NULL default '0',
67 url varchar(255) NOT NULL default '',
68 target_send bigint(20) NOT NULL default '0',
69 clicks bigint(20) not null default '0',
70 mails_sent bigint(20) not null default '0',
71 KEY(cat_id),
72 PRIMARY KEY  (id)
73 )TYPE=MyISAM";
74         $SQLs[] = "alter table "._MYSQL_PREFIX."_user_links modify link_type enum('NORMAL','BONUS') not null default 'NORMAL'";
75         $SQLs[] = "alter table "._MYSQL_PREFIX."_user_links add bonus_id bigint not null default '0'";
76         $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_links ADD INDEX (bonus_id)";
77
78         // Run this SQL when html or html_mail extension is installed
79         if (EXT_IS_ACTIVE("html_mail")) $SQLs[] = "alter table "._MYSQL_PREFIX."_bonus add html_msg enum('Y','N') not null default 'N'";
80         break;
81
82 case "remove": // Do stuff when removing extension
83         // SQL commands to run
84         $SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_admin_menu WHERE what='bonus' OR what='config_bonus' OR what='send_bonus' OR what='list_bonus' LIMIT 4";
85         $SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_member_menu WHERE what='bonus' LIMIT 1";
86         $SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_guest_menu WHERE action='bonus' LIMIT 1";
87         $SQLs[] = "alter table "._MYSQL_PREFIX."_user_links modify link_type enum('NORMAL') not null default 'NORMAL'";
88         $SQLs[] = "alter table "._MYSQL_PREFIX."_user_links drop bonus_id";
89         $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_bonus";
90         $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_bonus_urls";
91         $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_bonus_customer";
92         $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_bonus_turbo";
93         break;
94
95 case "activate": // Do stuff when admin activates this extension
96         // SQL commands to run
97         $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET visible='Y', locked='N' WHERE action='main' AND what='bonus' LIMIT 1";
98         $SQLs[] = "UPDATE "._MYSQL_PREFIX."_guest_menu SET visible='Y', locked='N' WHERE action='bonus' LIMIT 1";
99         $SQLs[] = "UPDATE "._MYSQL_PREFIX."_mod_reg SET locked='N', hidden='N', admin_only='N', mem_only='N' WHERE module='show_bonus' LIMIT 1";
100         break;
101
102 case "deactivate": // Do stuff when admin deactivates this extension
103         // SQL commands to run
104         $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET visible='Y', locked='Y' WHERE action='main' AND what='bonus' LIMIT 1";
105         $SQLs[] = "UPDATE "._MYSQL_PREFIX."_guest_menu SET visible='Y', locked='Y' WHERE action='bonus' LIMIT 1";
106         $SQLs[] = "UPDATE "._MYSQL_PREFIX."_mod_reg SET locked='Y' WHERE module='show_bonus' LIMIT 1";
107         break;
108
109 case "update": // Update an extension
110         switch ($EXT_VER)
111         {
112         case "0.1.6": // SQL queries for v0.1.6
113                 // Update notes (these will be set as task text!)
114                 $UPDATE_NOTES = "Paid-Links wurden verschoben in die Erweiterung <STRONG>paidlinks</STRONG>.";
115                 break;
116
117         case "0.2.0": // SQL queries for v0.2.0
118                 $SQLs[] = "UPDATE "._MYSQL_PREFIX."_bonus SET target_send=mails_sent WHERE target_send='0' AND mails_sent>0 AND receivers != ''";
119
120                 // Update notes (these will be set as task text!)
121                 $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.";
122                 break;
123
124         case "0.2.1": // SQL queries for v0.2.1
125                 $SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_admin_menu WHERE what='config_bonus' LIMIT 1";
126                 $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu VALUES (NULL,'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.')";
127                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD login_bonus double(20,3) not null default '10.000'";
128                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD turbo_bonus double(20,3) not null default '100.000'";
129                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD login_timeout bigint(20) not null default '86400'";
130                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD turbo_rates varchar(255) not null default '50;20;10'";
131                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_ranks tinyint(4) not null default '10'";
132                 // Use actual month for this update
133                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD last_bonus_month char(2) not null default '".date("m", time())."'";
134                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data ADD login_bonus double(20,3) not null default '0.000'";
135                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data ADD turbo_bonus double(20,3) not null default '0.000'";
136                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_stats ADD bonus_stats enum('Y', 'N') not null default 'N'";
137                 $SQLs[] = "UPDATE "._MYSQL_PREFIX."_extensions SET ext_has_css='Y' WHERE ext_name='bonus' AND ext_has_css='N' LIMIT 1";
138
139                 // Update notes (these will be set as task text!)
140                 $UPDATE_NOTES = "Login-Bonus und Turbo-Klick-Bonus intergriert.";
141                 break;
142
143         case "0.2.2": // SQL queries for v0.2.2
144                 $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_bonus_turbo";
145                 $SQLs[] = "CREATE TABLE "._MYSQL_PREFIX."_bonus_turbo (
146 id bigint(20) NOT NULL auto_increment,
147 userid bigint(20) NOT NULL default '0',
148 mail_id bigint(20) NOT NULL default '0',
149 bonus_id bigint(20) NOT NULL default '0',
150 level bigint(20) NOT NULL default '0',
151 points double(20,3) NOT NULL default '0.000',
152 timemark varchar(32) NOT NULL default '0',
153 PRIMARY KEY(id),
154 KEY mail_id (mail_id),
155 KEY bonus_id (bonus_id),
156 KEY userid (userid)
157 ) TYPE=MyISAM";
158
159                 // Update notes (these will be set as task text!)
160                 $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.";
161                 break;
162
163         case "0.2.3": // SQL queries for v0.2.3
164                 $SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_member_menu WHERE action='main' AND what='bonus' LIMIT 1";
165                 $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_member_menu VALUES (NULL,'main','bonus','Aktiv-Rallye',7,'Y','Y','',0)";
166
167                 // Update notes (these will be set as task text!)
168                 $UPDATE_NOTES = "Aktiv-Rallye mit Klick-Verg&uuml;tung hinzugef&uuml;gt.";
169                 break;
170
171         case "0.2.4": // SQL queries for v0.2.4
172                 // Update notes (these will be set as task text!)
173                 $UPDATE_NOTES = "Wegen des Theme-Supportes hat sich die URL zur CSS-Datei ge&auml;ndert.";
174                 break;
175
176         case "0.2.5": // SQL queries for v0.2.5
177                 $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_bonus_urls";
178                 $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_bonus_customer";
179
180                 // Update notes (these will be set as task text!)
181                 $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.";
182                 break;
183
184         case "0.2.6": // SQL queries for v0.2.6
185                 // Update notes (these will be set as task text!)
186                 $UPDATE_NOTES = "Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.";
187                 break;
188
189         case "0.2.7": // SQL queries for v0.2.7
190                 // Update notes (these will be set as task text!)
191                 $UPDATE_NOTES = "Turbo-Bonus klappt wieder (dies sind {!POINTS!} die an die schnellsten Klicker verg&uuml;tet werden!)";
192                 break;
193
194         case "0.2.8": // SQL queries for v0.2.8
195                 $SQLs[] = "UPDATE "._MYSQL_PREFIX."_bonus SET timestamp='0' WHERE timestamp='0000000000'";
196                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_bonus_turbo CHANGE points points double(22,5) not null default '0.00000'";
197                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config CHANGE turbo_bonus turbo_bonus double(22,5) not null default '0.00000'";
198                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config CHANGE login_bonus login_bonus double(22,5) not null default '0.00000'";
199                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data CHANGE turbo_bonus turbo_bonus double(22,5) not null default '0.00000'";
200                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data CHANGE login_bonus login_bonus double(22,5) not null default '0.00000'";
201
202                 // Update notes (these will be set as task text!)
203                 $UPDATE_NOTES = "5 Nachkommastellen implementiert";
204                 break;
205
206         case "0.2.9": // SQL queries for v0.2.9
207                 // Update notes (these will be set as task text!)
208                 $UPDATE_NOTES = "Problem mit Speicherung der Einstellungen beseitigt.";
209                 break;
210
211         case "0.3.0": // SQL queries for v0.3.0
212                 // Update notes (these will be set as task text!)
213                 $UPDATE_NOTES = "Men&uuml;punkte im Gast-/Mitgliedsbereich k&ouml;nnen nicht mehr aufgerufen werden, wenn die Erweiterung deaktiviert ist.";
214                 break;
215
216         case "0.3.1": // SQL queries for v0.3.1
217                 // Update notes (these will be set as task text!)
218                 $UPDATE_NOTES = "Sicherheitsupdate am Script <U>show_bonus.php</U> durchgef&uuml;hrt.";
219                 break;
220
221         case "0.3.2": // SQL queries for v0.3.2
222                 // Update notes (these will be set as task text!)
223                 $UPDATE_NOTES = "Design &quot;Solid-Business&quot; eingebaut.";
224                 break;
225
226         case "0.3.3": // SQL queries for v0.3.3
227                 // Update notes (these will be set as task text!)
228                 $UPDATE_NOTES = "Seit <A href=\"".SERVER_URL."/patches/340-Gast_Mitgliedsmenue_Deaktivieren.zip\">Patch 340</A> &uuml;berfl&uuml;ssige HTML-Tags entfernt.";
229                 break;
230
231         case "0.3.4": // SQL queries for v0.3.4
232                 $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)";
233
234                 // Update notes (these will be set as task text!)
235                 $UPDATE_NOTES = "Link <U>Aktiv-Rallye-Teilnehmer</U> hinzugef&uuml;gt, inklusive manuelle Vorbereitung der Verg&uuml;tung.";
236                 break;
237
238         case "0.3.5": // SQL queries for v0.3.5
239                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_mode enum('UID', 'JACKPOT', 'ADD') not null default 'ADD'";
240                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_uid bigint(20) not null default '0'";
241
242                 // Update notes (these will be set as task text!)
243                 $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.";
244                 break;
245
246         case "0.3.6": // SQL queries for v0.3.6
247                 // Update notes (these will be set as task text!)
248                 $UPDATE_NOTES = "In der Admin-Liste werden nur aktive Mitglieder gelistet und zudem die sp&auml;teste Zeitmarke f&uuml;r die Auswertung angezeigt.";
249                 break;
250
251         case "0.3.7": // SQL queries for v0.3.7
252                 // Update notes (these will be set as task text!)
253                 $UPDATE_NOTES = "Mitglieder-Account auw&auml;hlbar, von dem die {!POINTS!} f&uuml;r den Aktiv- und Login-Bonus abgebucht werden.";
254                 break;
255
256         case "0.3.8": // SQL queries for v0.3.8
257                 // Update notes (these will be set as task text!)
258                 $UPDATE_NOTES = "Ausgabe des generierten HTML-Codes nach <U>inc/footer.php</U> verlagert.";
259                 break;
260
261         case "0.3.9": // SQL queries for v0.3.9
262                 // Update notes (these will be set as task text!)
263                 $UPDATE_NOTES = "Fehlende Variablen gefixt.";
264                 break;
265
266         case "0.4.0": // SQL queries for v0.4.0
267                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_timeout bigint(20) not null default '".(ONE_DAY * 7)."'";
268                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_lines bigint(20) not null default '10'";
269
270                 // Update notes (these will be set as task text!)
271                 $UPDATE_NOTES = "Automatisches L&ouml;schen von Turbo-Bonus-Zeilen ("._MYSQL_PREFIX."_bonus_turbo) und begrenzte Anzahl von Eintr&auml;gen hinzugef&uuml;gt.";
272                 break;
273
274         case "0.4.1": // SQL queries for v0.4.1
275                 // Update notes (these will be set as task text!)
276                 $UPDATE_NOTES = "Verg&uuml;tung des Aktiv-Bonus repariert.";
277                 break;
278
279         case "0.4.2": // SQL queries for v0.4.2
280                 // Update notes (these will be set as task text!)
281                 $UPDATE_NOTES = "Admin-Bereich / Aktiv-Teilnehmer auflisten: Problem mit Konstante __AUTOPURGE_TIMEOUT und das Template <U>admin_list_bonus.tpl</U> korregiert.";
282                 break;
283
284         case "0.4.3": // SQL queries for v0.4.3
285                 // Update notes (these will be set as task text!)
286                 $UPDATE_NOTES = "Verbesserung des Versandes von  HTML-Bonus-Mails.";
287                 break;
288
289         case "0.4.4": // SQL queries for v0.4.4
290                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_order double(20,5) not null default '15.00000'";
291                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_ref double(20,5) not null default '100.00000'";
292                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_stats double(20,5) not null default '5.00000'";
293                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_active enum('Y', 'N') not null default 'Y'";
294                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data ADD bonus_order double(20,5) not null default '0.00000'";
295                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data ADD bonus_ref double(20,5) not null default '0.00000'";
296                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data ADD bonus_stats double(20,5) not null default '0.00000'";
297                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_stats ADD is_stats enum('Y', 'N') not null default 'N'";
298
299                 // Update notes (these will be set as task text!)
300                 $UPDATE_NOTES = "Bonus-{!POINTS!} f&uuml;r: Mailbestellung, Referral-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.";
301                 break;
302
303         case "0.4.5": // SQL queries for v0.4.5
304                 // Update notes (these will be set as task text!)
305                 $UPDATE_NOTES = "Abzug vom Bonus-Account integriert.";
306                 break;
307
308         case "0.4.6": // SQL queries for v0.4.6
309                 // Update notes (these will be set as task text!)
310                 $UPDATE_NOTES = "Rank 2 bekommt nun auch seine {!POINTS!} gutgeschrieben.";
311                 break;
312
313         case "0.4.7": // SQL queries for v0.4.7
314                 $SQLs[] = "UPDATE "._MYSQL_PREFIX."_user_data SET login_bonus=0, turbo_bonus=0,bonus_ref=0,bonus_order=0,bonus_stats=0";
315
316                 // Update notes (these will be set as task text!)
317                 $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.";
318                 break;
319
320         case "0.4.8": // SQL queries for v0.4.8
321                 // Update notes (these will be set as task text!)
322                 $UPDATE_NOTES = "In <U>inc/monthly_bonus.php</U> fehlte ein Punkt; Fehler besseitigt.";
323                 break;
324
325         case "0.4.9": // SQL queries for v0.4.9
326                 // Update notes (these will be set as task text!)
327                 $UPDATE_NOTES = "Login-Bonus wird mit angezeigt.";
328                 break;
329
330         case "0.5.0": // SQL queries for v0.5.0
331                 // Update notes (these will be set as task text!)
332                 $UPDATE_NOTES = "Problem mit <STRONG>is_hundred</STRONG> beim t&auml;glichen Reset beseitigt.";
333                 break;
334
335         case "0.5.1": // SQL queries for v0.5.1
336                 // Update notes (these will be set as task text!)
337                 $UPDATE_NOTES = "Problem mit <STRONG>bonus_stats / Zeile 31</STRONG> beim t&auml;glichen Reset beseitigt.";
338                 break;
339
340         case "0.5.2": // SQL queries for v0.5.2
341                 // Update notes (these will be set as task text!)
342                 $UPDATE_NOTES = "W&ouml;rter <STRONG>Mailtausch</STRONG>, <STRONG>Mailtausches</STRONG> und <STRONG>Mailtauscher</STRONG> sind austauschbar.";
343                 break;
344
345         case "0.5.3": // SQL queries for v0.5.3
346                 // Update notes (these will be set as task text!)
347                 $UPDATE_NOTES = "Speichern der Aktiv-{!POINTS!} f&uuml;r Platz 2 bis <STRONG>x</STRONG> korregiert.";
348                 break;
349
350         case "0.5.4": // SQL queries for v0.5.4
351                 // Update notes (these will be set as task text!)
352                 $UPDATE_NOTES = "Variablenfehler in <STRONG>inc/monthly_bonus.php</STRONG> behoben.";
353                 break;
354
355         case "0.5.5": // SQL queries for v0.5.5
356                 // Get previous month
357                 $prev = date("m", time()) - 1;
358                 if (strlen($prev) == 1) $prev = "0".$prev;
359                 if ($prev == "00") $prev = "12";
360
361                 // Reset monthly active rallye
362                 $SQLs[] = "UPDATE "._MYSQL_PREFIX."_config SET last_bonus_month='".$prev."' WHERE config='0' LIMIT 1";
363
364                 // Update notes (these will be set as task text!)
365                 $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.";
366                 break;
367
368         case "0.5.6": // SQL queries for v0.5.6
369                 // Get current month
370                 $curr = date("m", time());
371                 if (strlen($curr) == 1) $curr = "0".$curr;
372                 if ($curr == "00") $curr = "12";
373
374                 // Generate timemark...
375                 $mark = mktime(0, 0, 0, $curr, 1, date("Y", time()));
376
377                 // Update accounts which are not active last months
378                 $SQLs[] = "UPDATE "._MYSQL_PREFIX."_user_data
379 SET turbo_bonus=0, login_bonus=0, bonus_order=0, bonus_stats=0, bonus_ref=0
380 WHERE last_online < ".$mark." ORDER BY userid";
381
382                 // Update notes (these will be set as task text!)
383                 $UPDATE_NOTES = "Ein weiterer Scriptfehler hat nur die Gewinner aus der Aktiv-Rallye genommen. Die anderen Mitglieder sind somit &quot;nach oben gerutsch&quot;.";
384                 break;
385
386         case "0.5.7": // SQL queries for v0.5.7
387                 break;
388
389         case "0.5.8": // SQL queries for v0.5.8
390                 // Update notes (these will be set as task text!)
391                 $UPDATE_NOTES = "Problem mit <STRONG>is_hundred</STRONG> beim t&auml;glichen Reset endlich beseitigt.";
392                 break;
393
394         case "0.5.9": // SQL queries for v0.5.9
395                 $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.";
396                 break;
397
398         case "0.6.0": // SQL queries for v0.6.0
399                 $UPDATE_NOTES = "SQL-Fehlermeldung in <STRONG>inc/monthly_bonus.php</STRONG> beseitigt.";
400                 break;
401
402         case "0.6.1": // SQL queries for v0.6.1
403                 $UPDATE_NOTES = "Versand von Bonus-Mails repariert.";
404                 break;
405
406         case "0.6.2": // SQL queries for v0.6.2
407                 $UPDATE_NOTES = "L&ouml;schen von bereits gel&ouml;schten Mails wird nun abgelehnt.";
408                 break;
409
410         case "0.6.3": // SQL queries for v0.6.3
411                 $UPDATE_NOTES = "Abspeichern von Einstellungen repariert.";
412                 break;
413
414         case "0.6.4": // SQL queries for v0.6.4
415                 $SQLs[] = "UPDATE "._MYSQL_PREFIX."_admin_menu SET title='Aktiv-Rallye' WHERE what='config_bonus' LIMIT 1";
416
417                 // Update notes (these will be set as task text!)
418                 $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.";
419                 break;
420
421         case "0.6.5": // SQL queries for v0.6.5
422                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_stats ADD bonus_stats enum('Y', 'N') not null default 'N'";
423
424                 // Update notes (these will be set as task text!)
425                 $UPDATE_NOTES = "Fehler mit bonus_stats beseitigt.";
426                 break;
427
428         case "0.6.6": // SQL queries for v0.6.6
429                 $UPDATE_NOTES = "Template-Fehler beseitigt im Admin-Bereich.";
430                 break;
431
432         case "0.6.7": // SQL queries for v0.6.7
433                 $UPDATE_NOTES = "Vorbereitung auf die neue Mediendaten v0.0.4.";
434                 break;
435
436         case "0.6.8": // SQL queries for v0.6.8
437                 $SQLs[] = "UPDATE "._MYSQL_PREFIX."_bonus SET data_type='SEND' WHERE data_type != 'SEND' AND data_type != 'DELETED' AND receivers='' AND target_send='0'";
438
439                 // Update notes (these will be set as task text!)
440                 $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.";
441                 break;
442
443         case "0.6.9": // SQL queries for v0.6.9
444                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_order_yn enum('Y', 'N') not null default 'N'";
445                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_ref_yn enum('Y', 'N') not null default 'N'";
446                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_stats_yn enum('Y', 'N') not null default 'N'";
447                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_login_yn enum('Y', 'N') not null default 'N'";
448                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_click_yn enum('Y', 'N') not null default 'Y'";
449
450                 // Update notes (these will be set as task text!)
451                 $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, Referral und Statistik-Bonus (100% Klickrate erreicht).";
452                 break;
453
454         case "0.7.0": // SQL queries for v0.7.0
455                 $UPDATE_NOTES = "Zuschaltung von weiteren Bonis wird jetzt auch bei der Auflistung der mitmachenden Mitglieder im Mitgliedsbereich beachtet.";
456                 break;
457
458         case "0.7.1": // SQL queries for v0.7.1
459                 $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.";
460                 break;
461
462         case "0.7.2": // SQL queries for v0.7.2
463                 $UPDATE_NOTES = "Die Verg&uuml;tung der erreichten 100%-Klickrate war noch wegen Programmierungen am Script auskommentiert. Sorry!";
464                 break;
465
466         case "0.7.3": // SQL queries for v0.7.3
467                 $UPDATE_NOTES = "Gutgeschriebene Bonus-{!POINTS!} werden nach Deaktivierung der Aktiv-Rallye gel&ouml;scht.";
468                 break;
469
470         case "0.7.4": // SQL queries for v0.7.4
471                 $UPDATE_NOTES = "Rechtlichen Hinweis im Mitgliedsbereich vergessen. (<STRONG>member_bonus.tpl</STRONG>)";
472                 break;
473
474         case "0.7.5": // SQL queries for v0.7.5
475                 $UPDATE_NOTES = "Im Admin-Bereich Hinweis hinzugef&uuml;gt, wenn Aktiv-Rallye inaktiv ist. Bitte Script inc/monthly_bonus.php l&ouml;schen!";
476                 break;
477
478         case "0.7.6": // SQL queries for v0.7.6
479                 $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.";
480                 break;
481
482         case "0.7.7": // SQL queries for v0.7.7
483                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_en_notify enum('Y', 'N') not null default 'N'";
484                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_di_notify enum('Y', 'N') not null default 'N'";
485                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_new_mem_notify enum('Y', 'N') not null default 'N'";
486                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_notify_points double(20,5) not null default '0.00000'";
487                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_notify_wait bigint(20) not null default '30'";
488                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data ADD bonus_ral_notify bigint(20) not null default '0'";
489                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data ADD bonus_ral_en_notify bigint(20) not null default '0'";
490                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data ADD bonus_ral_di_notify bigint(20) not null default '0'";
491
492                 // Update notes (these will be set as task text!)
493                 $UPDATE_NOTES = "Optionale automatische Benachrichtigung &uuml;ber aktivierte und/oder deaktivierte Aktiv-Rallye einstellbar.";
494                 break;
495
496         case "0.7.8": // SQL queries for v0.7.8
497                 // Update notes (these will be set as task text!)
498                 $UPDATE_NOTES = "Fehler im t&auml;glichen Reset beseitigt.";
499                 break;
500
501         case "0.7.9": // SQL queries for v0.7.9
502                 $UPDATE_NOTES = "Dollarzeichen fehlte in <STRONG>inc/reset/reset_bonus.php</STRONG>, Zeile 39";
503                 break;
504
505         case "0.8.0": // SQL queries for v0.8.0
506                 $UPDATE_NOTES = "De-/Aktivieren des mit dieser Erweiterung verkn&uuml;pften Modules eingebunden.";
507                 break;
508
509         case "0.8.1": // SQL queries for v0.8.1
510                 $UPDATE_NOTES = "Bei ".POINTS."-Gleichstand wird als n&auml;chstes nach wer als letztes Online war umsortiert.";
511                 break;
512
513         case "0.8.2": // SQL queries for v0.8.2
514                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_config ADD bonus_include_own enum('Y', 'N') not null default 'N'";
515                 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_bonus ADD is_notify enum('Y', 'N') not null default 'N'";
516
517                 // Update notes (these will be set as task text!)
518                 $UPDATE_NOTES = "Eigene User-ID von Aktiv-Rallye ausschliessbar. Benachrichtigungsmails sind von Aktiv-Rallye ausgeschlossen.";
519                 break;
520
521         case "0.8.3": // SQL queries for v0.8.3
522                 $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET action='rals', sort='2', title='Aktiv-Rallye' WHERE what='bonus' LIMIT 1";
523
524                 // Update notes (these will be set as task text!)
525                 $UPDATE_NOTES = "Mitgliedsmen&uuml; komplett umgebaut.";
526                 break;
527
528         case "0.8.4": // SQL queries for v0.8.4
529                 $UPDATE_NOTES = "Ladeproblem bei nicht installierter Erweiterung <strong>cache</strong> gefixt.";
530                 break;
531
532         case "0.8.5": // SQL queries for v0.8.5
533                 $UPDATE_NOTES = "CSS-Klassenname gefixt in Templates.";
534                 break;
535
536         case "0.8.6": // SQL queries for v0.8.6
537                 $UPDATE_NOTES = "Fehlerhinweis bei deaktivierter Erweiterung verbessert.";
538                 break;
539         }
540         break;
541
542 default: // Do stuff when extension is loaded
543         $DUMMY = LOAD_CONFIG("0");
544         $CONFIG['login_bonus']          = $DUMMY['login_bonus'];          // Bonus points for successfull logins
545         $CONFIG['turbo_bonus']          = $DUMMY['turbo_bonus'];          // Bonus points for the fastest clicker, No. 1
546         $CONFIG['bonus_rates']          = $DUMMY['turbo_rates'];          // Points for clicker no. 2 to x
547         $CONFIG['bonus_ranks']          = $DUMMY['bonus_ranks'];          // Total ranks who can win
548         $CONFIG['login_timeout']        = $DUMMY['login_timeout'];        // Time in seconds between two logins
549         $CONFIG['bonus_month']          = $DUMMY['last_bonus_month'];     // Last month where click-bonus are "paid"
550         $CONFIG['bonus_mode']           = $DUMMY['bonus_mode'];           // Mode for adding points for login/click bonus
551         $CONFIG['bonus_uid']            = $DUMMY['bonus_uid'];            // Member account to take points from
552         $CONFIG['bonus_lines']          = $DUMMY['bonus_lines'];          // Number of lines to display in show_bonus.php
553         $CONFIG['bonus_timeout']        = $DUMMY['bonus_timeout'];        // Auto-Purge timeout for bonus lines in mxchange_bonus_turbo
554         $CONFIG['bonus_order']          = $DUMMY['bonus_order'];          // Bonus points for ordering mails
555         $CONFIG['bonus_ref']            = $DUMMY['bonus_ref'];            // Bonus points for "making" a referral
556         $CONFIG['bonus_stats']          = $DUMMY['bonus_stats'];          // Bonus points for 100% clickrate in mail stats
557         $CONFIG['bonus_active']         = $DUMMY['bonus_active'];         // De/activate bonus active rallye
558         $CONFIG['bonus_order_yn']       = $DUMMY['bonus_order_yn'];       // Include order bonus in analysis?
559         $CONFIG['bonus_ref_yn']         = $DUMMY['bonus_ref_yn'];         // Include referral bonus in analysis?
560         $CONFIG['bonus_stats_yn']       = $DUMMY['bonus_stats_yn'];       // Include statistics bonus in analysis?
561         $CONFIG['bonus_login_yn']       = $DUMMY['bonus_login_yn'];       // Include login bonus in analysis?
562         $CONFIG['bonus_click_yn']       = $DUMMY['bonus_click_yn'];       // Include "mailid" bonus in analysis?
563         $CONFIG['bonus_en_notify']      = $DUMMY['bonus_en_notify'];      // Notify members about enabled active rallye?
564         $CONFIG['bonus_di_notify']      = $DUMMY['bonus_di_notify'];      // Notify members about disabled active rallye?
565         $CONFIG['bonus_new_mem_notify'] = $DUMMY['bonus_new_mem_notify']; // Notify members about disabled active rallye?
566         $CONFIG['bonus_notify_points']  = $DUMMY['bonus_notify_points'];  // Bonus points for the enable-notification mail? 0 = disable!
567         $CONFIG['bonus_notify_wait']    = $DUMMY['bonus_notify_wait'];    // Time to wait in seconds for bonus mails
568         $CONFIG['bonus_include_own']    = $DUMMY['bonus_include_own'];    // Include webmaster's own userid in active rallye?
569         unset($DUMMY);
570
571         if (defined('__DAILY_RESET') && (!DEBUG_MODE) && ($CSS != 1))
572         {
573                 // Daily reset was run so let's check if active rallye is activated
574                 if ($CONFIG['bonus_active'] == "Y")
575                 {
576                         // Run active rallye
577                         if($CONFIG['bonus_stats'] > 0) $INC_POOL[] = PATH."inc/stats_bonus.php";
578                         $INC_POOL[] = PATH."inc/monthly/monthly_bonus.php";
579                 }
580                  else
581                 {
582                         // Reset points
583                         $INC_POOL[] = PATH."inc/reset/reset_bonus.php";
584                 }
585         }
586
587         // Check for bonus rallye is active and send mails out
588         if (($CONFIG['bonus_active'] == "Y") && ($CONFIG['bonus_new_mem_notify'] == "Y"))
589         {
590                 // Include file for sending out mails
591                 $INC_POOL[] = PATH."inc/mails/bonus_mails.php";
592         }
593         break;
594 }
595
596 // Language file prefix
597 $EXT_LANG_PREFIX = "bonus";
598
599 // Extension is always active?
600 $EXT_ALWAYS_ACTIVE = "N";
601
602 //
603 ?>