5c944d5d784c292f206d32ecc8d787581bdff92b
[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  * $Revision::                                                        $ *
14  * $Date::                                                            $ *
15  * $Tag:: 0.2.1-FINAL                                                 $ *
16  * $Author::                                                          $ *
17  * Needs to be in all Files and every File needs "svn propset           *
18  * svn:keywords Date Revision" (autoprobset!) at least!!!!!!            *
19  * -------------------------------------------------------------------- *
20  * Copyright (c) 2003 - 2009 by Roland Haeder                           *
21  * For more information visit: http://www.mxchange.org                  *
22  *                                                                      *
23  * This program is free software; you can redistribute it and/or modify *
24  * it under the terms of the GNU General Public License as published by *
25  * the Free Software Foundation; either version 2 of the License, or    *
26  * (at your option) any later version.                                  *
27  *                                                                      *
28  * This program is distributed in the hope that it will be useful,      *
29  * but WITHOUT ANY WARRANTY; without even the implied warranty of       *
30  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        *
31  * GNU General Public License for more details.                         *
32  *                                                                      *
33  * You should have received a copy of the GNU General Public License    *
34  * along with this program; if not, write to the Free Software          *
35  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,               *
36  * MA  02110-1301  USA                                                  *
37  ************************************************************************/
38
39 // Some security stuff...
40 if (!defined('__SECURITY')) {
41         die();
42 }
43
44 // Version of this extension
45 setThisExtensionVersion('0.8.8');
46
47 // Version history array (add more with , '0.1.0' and so on)
48 setExtensionVersionHistory(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'));
49
50 switch (getExtensionMode()) {
51         case 'register': // Do stuff when installation is running (modules.php?module=admin is called)
52                 // SQL commands to run
53                 addAdminMenuSql('email','send_bonus','Bonusmail senden','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.', 5);
54                 addMemberMenuSql('main','bonus','Bonuspunkte','N','Y',7);
55                 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_bonus`");
56                 addExtensionSql("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 LONGTEXT NOT NULL,
61 receivers LONGTEXT 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={?_TABLE_TYPE?}");
73                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_links` MODIFY `link_type` ENUM('NORMAL','BONUS') NOT NULL DEFAULT 'NORMAL'");
74                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_links` ADD `bonus_id` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0");
75                 addExtensionSql("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 (isExtensionActive('html_mail')) addExtensionSql("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                 addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE what IN ('bonus','config_bonus','send_bonus','list_bonus','list_notifications')");
84                 addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_member_menu` WHERE `what`='bonus'");
85                 addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_guest_menu` WHERE `action`='bonus'");
86                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_links` MODIFY link_type ENUM('NORMAL') NOT NULL DEFAULT 'NORMAL'");
87                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_links` DROP bonus_id");
88                 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_bonus`");
89                 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_bonus_urls`");
90                 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_bonus_customer`");
91                 addExtensionSql("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                 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `visible`='Y', `locked`='N' WHERE `what`='bonus' LIMIT 1");
97                 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_guest_menu` SET `visible`='Y', `locked`='N' WHERE `action`='bonus' LIMIT 1");
98                 addExtensionSql("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                 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `visible`='N', `locked`='Y' WHERE `what`='bonus' LIMIT 1");
104                 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_guest_menu` SET `visible`='N', `locked`='Y' WHERE `action`='bonus' LIMIT 1");
105                 addExtensionSql("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 (getCurrentExtensionVersion()) {
110                         case '0.1.6': // SQL queries for v0.1.6
111                                 // Update notes (these will be set as task text!)
112                                 setExtensionUpdateNotes("Paid-Links wurden verschoben in die Erweiterung <strong>paidlinks</strong>.");
113                                 break;
114
115                         case '0.2.0': // SQL queries for v0.2.0
116                                 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_bonus` SET target_send=mails_sent WHERE target_send=0 AND mails_sent>0 AND receivers != ''");
117
118                                 // Update notes (these will be set as task text!)
119                                 setExtensionUpdateNotes("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.");
120                                 break;
121
122                         case '0.2.1': // SQL queries for v0.2.1
123                                 addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `what`='config_bonus' LIMIT 1");
124                                 addAdminMenuSql('setup','config_bonus','Bonus-{OPEN_CONFIG}POINTS{CLOSE_CONFIG}','Richten Sie Bonus-{OPEN_CONFIG}POINTS{CLOSE_CONFIG} ein, die beim x&#39;ten Klick auf die Mail verbucht werden sollen. Beispiele: Der 1. Klick sollte mehr {OPEN_CONFIG}POINTS{CLOSE_CONFIG} zus&auml;tzlich bekommen, als der 10. Klick.',8);
125                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD login_bonus FLOAT(20,3) NOT NULL DEFAULT 10.000");
126                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD turbo_bonus FLOAT(20,3) NOT NULL DEFAULT 100.000");
127                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD login_timeout BIGINT(20) UNSIGNED NOT NULL DEFAULT ".getConfig('ONE_DAY')."");
128                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD turbo_rates VARCHAR(255) NOT NULL DEFAULT '50;20;10'");
129                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD bonus_ranks TINYINT(3) UNSIGNED NOT NULL DEFAULT 10");
130                                 // Use actual month for this update
131                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD login_bonus FLOAT(20,3) NOT NULL DEFAULT 0.000");
132                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD turbo_bonus FLOAT(20,3) NOT NULL DEFAULT 0.000");
133                                 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_extensions` SET ext_has_css='Y' WHERE `ext_name`='bonus' AND ext_has_css='N' LIMIT 1");
134
135                                 // Update notes (these will be set as task text!)
136                                 setExtensionUpdateNotes("Login-Bonus und Turbo-Klick-Bonus intergriert.");
137                                 break;
138
139                         case '0.2.2': // SQL queries for v0.2.2
140                                 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_bonus_turbo`");
141                                 addExtensionSql("CREATE TABLE `{?_MYSQL_PREFIX?}_bonus_turbo` (
142 id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
143 userid BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
144 mail_id BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
145 bonus_id BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
146 level BIGINT(20) UNSIGNED NOT NULL DEFAULT 0,
147 points FLOAT(20,3) NOT NULL DEFAULT '0.000',
148 timemark VARCHAR(32) NOT NULL DEFAULT 0,
149 PRIMARY KEY (id),
150 KEY mail_id (mail_id),
151 KEY bonus_id (bonus_id),
152 KEY userid (userid)
153 ) TYPE={?_TABLE_TYPE?}");
154
155                                 // Update notes (these will be set as task text!)
156                                 setExtensionUpdateNotes("Turbo-Bonus wird in Tabelle gez&auml;hlt f&uuml;r Anzeige, wer alles bereits geklickt hat und welchen Platz er gemacht hat.");
157                                 break;
158
159                         case '0.2.3': // SQL queries for v0.2.3
160                                 addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_member_menu` WHERE `what`='bonus' LIMIT 1");
161                                 addMemberMenuSql('main','bonus','Aktiv-Rallye','N','Y',7);
162
163                                 // Update notes (these will be set as task text!)
164                                 setExtensionUpdateNotes("Aktiv-Rallye mit Klick-Verg&uuml;tung hinzugef&uuml;gt.");
165                                 break;
166
167                         case '0.2.4': // SQL queries for v0.2.4
168                                 // Update notes (these will be set as task text!)
169                                 setExtensionUpdateNotes("Wegen des Theme-Supportes hat sich die URL zur CSS-Datei ge&auml;ndert.");
170                                 break;
171
172                         case '0.2.5': // SQL queries for v0.2.5
173                                 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_bonus_urls`");
174                                 addExtensionSql("DROP TABLE IF EXISTS `{?_MYSQL_PREFIX?}_bonus_customer`");
175
176                                 // Update notes (these will be set as task text!)
177                                 setExtensionUpdateNotes("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.");
178                                 break;
179
180                         case '0.2.6': // SQL queries for v0.2.6
181                                 // Update notes (these will be set as task text!)
182                                 setExtensionUpdateNotes("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.");
183                                 break;
184
185                         case '0.2.7': // SQL queries for v0.2.7
186                                 // Update notes (these will be set as task text!)
187                                 setExtensionUpdateNotes("Turbo-Bonus klappt wieder (dies sind {?POINTS?} die an die schnellsten Klicker verg&uuml;tet werden!)");
188                                 break;
189
190                         case '0.2.8': // SQL queries for v0.2.8
191                                 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_bonus` SET timestamp=0 WHERE timestamp='0000000000'");
192                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_bonus_turbo` CHANGE points points FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000");
193                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` CHANGE turbo_bonus turbo_bonus FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000");
194                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` CHANGE login_bonus login_bonus FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000");
195                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` CHANGE turbo_bonus turbo_bonus FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000");
196                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` CHANGE login_bonus login_bonus FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000");
197
198                                 // Update notes (these will be set as task text!)
199                                 setExtensionUpdateNotes("5 Nachkommastellen implementiert");
200                                 break;
201
202                         case '0.2.9': // SQL queries for v0.2.9
203                                 // Update notes (these will be set as task text!)
204                                 setExtensionUpdateNotes("Problem mit Speicherung der Einstellungen beseitigt.");
205                                 break;
206
207                         case '0.3.0': // SQL queries for v0.3.0
208                                 // Update notes (these will be set as task text!)
209                                 setExtensionUpdateNotes("Men&uuml;punkte im Gast-/Mitgliedsbereich k&ouml;nnen nicht mehr aufgerufen werden, wenn die Erweiterung deaktiviert ist.");
210                                 break;
211
212                         case '0.3.1': // SQL queries for v0.3.1
213                                 // Update notes (these will be set as task text!)
214                                 setExtensionUpdateNotes("Sicherheitsupdate am Script <u>show_bonus.php</u> durchgef&uuml;hrt.");
215                                 break;
216
217                         case '0.3.2': // SQL queries for v0.3.2
218                                 // Update notes (these will be set as task text!)
219                                 setExtensionUpdateNotes("Design &quot;Solid-Business&quot; eingebaut.");
220                                 break;
221
222                         case '0.3.3': // SQL queries for v0.3.3
223                                 // Update notes (these will be set as task text!)
224                                 setExtensionUpdateNotes("Seit <strong>Patch 340</strong> &uuml;berfl&uuml;ssige HTML-Tags entfernt.");
225                                 break;
226
227                         case '0.3.4': // SQL queries for v0.3.4
228                                 addAdminMenuSql('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);
229
230                                 // Update notes (these will be set as task text!)
231                                 setExtensionUpdateNotes("Link <u>Aktiv-Rallye-Teilnehmer</u> hinzugef&uuml;gt, inklusive manuelle Vorbereitung der Verg&uuml;tung.");
232                                 break;
233
234                         case '0.3.5': // SQL queries for v0.3.5
235                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `bonus_mode` ENUM('UID','JACKPOT','ADD') NOT NULL DEFAULT 'ADD'");
236                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `bonus_userid` BIGINT(20) UNSIGNED NOT NULL DEFAULT 0");
237
238                                 // Update notes (these will be set as task text!)
239                                 setExtensionUpdateNotes("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.");
240                                 break;
241
242                         case '0.3.6': // SQL queries for v0.3.6
243                                 // Update notes (these will be set as task text!)
244                                 setExtensionUpdateNotes("In der Admin-Liste werden nur aktive Mitglieder gelistet und zudem die sp&auml;teste Zeitmarke f&uuml;r die Auswertung angezeigt.");
245                                 break;
246
247                         case '0.3.7': // SQL queries for v0.3.7
248                                 // Update notes (these will be set as task text!)
249                                 setExtensionUpdateNotes("Mitglieder-Account auw&auml;hlbar, von dem die {?POINTS?} f&uuml;r den Aktiv- und Login-Bonus abgebucht werden.");
250                                 break;
251
252                         case '0.3.8': // SQL queries for v0.3.8
253                                 // Update notes (these will be set as task text!)
254                                 setExtensionUpdateNotes("Ausgabe des generierten HTML-Codes nach <u>inc/footer.php</u> verlagert.");
255                                 break;
256
257                         case '0.3.9': // SQL queries for v0.3.9
258                                 // Update notes (these will be set as task text!)
259                                 setExtensionUpdateNotes("Fehlende Variablen gefixt.");
260                                 break;
261
262                         case '0.4.0': // SQL queries for v0.4.0
263                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `bonus_timeout` BIGINT(20) UNSIGNED NOT NULL DEFAULT ".(getConfig('ONE_DAY')*7)."");
264                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `bonus_lines` BIGINT(20) UNSIGNED NOT NULL DEFAULT 10");
265
266                                 // Update notes (these will be set as task text!)
267                                 setExtensionUpdateNotes("Automatisches L&ouml;schen von Turbo-Bonus-Zeilen ({?_MYSQL_PREFIX?}_bonus_turbo) und begrenzte Anzahl von Eintr&auml;gen hinzugef&uuml;gt.");
268                                 break;
269
270                         case '0.4.1': // SQL queries for v0.4.1
271                                 // Update notes (these will be set as task text!)
272                                 setExtensionUpdateNotes("Verg&uuml;tung des Aktiv-Bonus repariert.");
273                                 break;
274
275                         case '0.4.2': // SQL queries for v0.4.2
276                                 // Update notes (these will be set as task text!)
277                                 setExtensionUpdateNotes("Admin-Bereich / Aktiv-Teilnehmer auflisten: Problem mit Konstante __AUTOPURGE_TIMEOUT und das Template <u>admin_list_bonus.tpl</u> korregiert.");
278                                 break;
279
280                         case '0.4.3': // SQL queries for v0.4.3
281                                 // Update notes (these will be set as task text!)
282                                 setExtensionUpdateNotes("Verbesserung des Versandes von  HTML-Bonus-Mails.");
283                                 break;
284
285                         case '0.4.4': // SQL queries for v0.4.4
286                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD bonus_order FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 15.00000");
287                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD bonus_ref FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 100.00000");
288                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD bonus_stats FLOAT(20,5) UNSIGNED NOT NULL DEFAULT '5.00000'");
289                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD bonus_active ENUM('Y','N') NOT NULL DEFAULT 'Y'");
290                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD bonus_order FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000");
291                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD bonus_ref FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000");
292                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD bonus_stats FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000");
293
294                                 // Update notes (these will be set as task text!)
295                                 setExtensionUpdateNotes("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.");
296                                 break;
297
298                         case '0.4.5': // SQL queries for v0.4.5
299                                 // Update notes (these will be set as task text!)
300                                 setExtensionUpdateNotes("Abzug vom Bonus-Account integriert.");
301                                 break;
302
303                         case '0.4.6': // SQL queries for v0.4.6
304                                 // Update notes (these will be set as task text!)
305                                 setExtensionUpdateNotes("Rank 2 bekommt nun auch seine {?POINTS?} gutgeschrieben.");
306                                 break;
307
308                         case '0.4.7': // SQL queries for v0.4.7
309                                 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_user_data` SET login_bonus=0, turbo_bonus=0,bonus_ref=0,bonus_order=0,bonus_stats=0");
310
311                                 // Update notes (these will be set as task text!)
312                                 setExtensionUpdateNotes("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.");
313                                 break;
314
315                         case '0.4.8': // SQL queries for v0.4.8
316                                 // Update notes (these will be set as task text!)
317                                 setExtensionUpdateNotes("In <u>inc/monthly_bonus.php</u> fehlte ein Punkt; Fehler besseitigt.");
318                                 break;
319
320                         case '0.4.9': // SQL queries for v0.4.9
321                                 // Update notes (these will be set as task text!)
322                                 setExtensionUpdateNotes("Login-Bonus wird mit angezeigt.");
323                                 break;
324
325                         case '0.5.0': // SQL queries for v0.5.0
326                                 // Update notes (these will be set as task text!)
327                                 setExtensionUpdateNotes("Problem mit <strong>is_hundred</strong> beim t&auml;glichen Reset beseitigt.");
328                                 break;
329
330                         case '0.5.1': // SQL queries for v0.5.1
331                                 // Update notes (these will be set as task text!)
332                                 setExtensionUpdateNotes("Problem mit <strong>bonus_stats / Zeile 31</strong> beim t&auml;glichen Reset beseitigt.");
333                                 break;
334
335                         case '0.5.2': // SQL queries for v0.5.2
336                                 // Update notes (these will be set as task text!)
337                                 setExtensionUpdateNotes("W&ouml;rter <strong>Mailtausch</strong>, <strong>Mailtausches</strong> und <strong>Mailtauscher</strong> sind austauschbar.");
338                                 break;
339
340                         case '0.5.3': // SQL queries for v0.5.3
341                                 // Update notes (these will be set as task text!)
342                                 setExtensionUpdateNotes("Speichern der Aktiv-{?POINTS?} f&uuml;r Platz 2 bis <strong>x</strong> korregiert.");
343                                 break;
344
345                         case '0.5.4': // SQL queries for v0.5.4
346                                 // Update notes (these will be set as task text!)
347                                 setExtensionUpdateNotes("Variablenfehler in <strong>inc/monthly_bonus.php</strong> behoben.");
348                                 break;
349
350                         case '0.5.5': // SQL queries for v0.5.5
351                                 // Update notes (these will be set as task text!)
352                                 setExtensionUpdateNotes("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.");
353                                 break;
354
355                         case '0.5.6': // SQL queries for v0.5.6
356                                 // Get current month
357                                 $curr = date('m', time());
358                                 if (strlen($curr) == 1) $curr = 0 . $curr;
359                                 if ($curr == "00") $curr = "12";
360
361                                 // Generate timemark...
362                                 $mark = mktime(0, 0, 0, $curr, 1, date('Y', time()));
363
364                                 // Update accounts which are not active last months
365                                 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_user_data`
366 SET `turbo_bonus`=0, `login_bonus`=0, `bonus_order`=0, `bonus_stats`=0, `bonus_ref`=0
367 WHERE `last_online` < ".$mark." ORDER BY `userid` ASC");
368
369                                 // Update notes (these will be set as task text!)
370                                 setExtensionUpdateNotes("Ein weiterer Scriptfehler hat nur die Gewinner aus der Aktiv-Rallye genommen. Die anderen Mitglieder sind somit &quot;nach oben gerutsch&quot;.");
371                                 break;
372
373                         case '0.5.7': // SQL queries for v0.5.7
374                                 break;
375
376                         case '0.5.8': // SQL queries for v0.5.8
377                                 // Update notes (these will be set as task text!)
378                                 setExtensionUpdateNotes("Problem mit <strong>is_hundred</strong> beim t&auml;glichen Reset endlich beseitigt.");
379                                 break;
380
381                         case '0.5.9': // SQL queries for v0.5.9
382                                 setExtensionUpdateNotes("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.");
383                                 break;
384
385                         case '0.6.0': // SQL queries for v0.6.0
386                                 setExtensionUpdateNotes("SQL-Fehlermeldung in <strong>inc/monthly_bonus.php</strong> beseitigt.");
387                                 break;
388
389                         case '0.6.1': // SQL queries for v0.6.1
390                                 setExtensionUpdateNotes("Versand von Bonus-Mails repariert.");
391                                 break;
392
393                         case '0.6.2': // SQL queries for v0.6.2
394                                 setExtensionUpdateNotes("L&ouml;schen von bereits gel&ouml;schten Mails wird nun abgelehnt.");
395                                 break;
396
397                         case '0.6.3': // SQL queries for v0.6.3
398                                 setExtensionUpdateNotes("Abspeichern von Einstellungen repariert.");
399                                 break;
400
401                         case '0.6.4': // SQL queries for v0.6.4
402                                 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_admin_menu` SET `title`='Aktiv-Rallye' WHERE `what`='config_bonus' LIMIT 1");
403
404                                 // Update notes (these will be set as task text!)
405                                 setExtensionUpdateNotes("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.");
406                                 break;
407
408                         case '0.6.5': // SQL queries for v0.6.5
409                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_stats` ADD `bonus_stats` ENUM('Y','N') NOT NULL DEFAULT 'N'");
410
411                                 // Update notes (these will be set as task text!)
412                                 setExtensionUpdateNotes("Fehler mit bonus_stats beseitigt.");
413                                 break;
414
415                         case '0.6.6': // SQL queries for v0.6.6
416                                 setExtensionUpdateNotes("Template-Fehler beseitigt im Admin-Bereich.");
417                                 break;
418
419                         case '0.6.7': // SQL queries for v0.6.7
420                                 setExtensionUpdateNotes("Vorbereitung auf die neue Mediendaten v0.0.4.");
421                                 break;
422
423                         case '0.6.8': // SQL queries for v0.6.8
424                                 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_bonus` SET `data_type`='SEND' WHERE `data_type` != 'SEND' AND `data_type` != 'DELETED' AND `receivers`='' AND `target_send`=0");
425
426                                 // Update notes (these will be set as task text!)
427                                 setExtensionUpdateNotes("Eingegebene Anzahl auszusendener Bonus-Mails wurde bei der Empf&auml;nderauswahl nicht ber&uuml;cksichtigt. Zudem wird jetzt das eingestellte Auswahlverfahren mitber&uuml;cksichtigt.");
428                                 break;
429
430                         case '0.6.9': // SQL queries for v0.6.9
431                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `bonus_order_yn` ENUM('Y','N') NOT NULL DEFAULT 'N'");
432                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `bonus_ref_yn` ENUM('Y','N') NOT NULL DEFAULT 'N'");
433                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `bonus_stats_yn` ENUM('Y','N') NOT NULL DEFAULT 'N'");
434                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `bonus_login_yn` ENUM('Y','N') NOT NULL DEFAULT 'N'");
435                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `bonus_click_yn` ENUM('Y','N') NOT NULL DEFAULT 'Y'");
436
437                                 // Update notes (these will be set as task text!)
438                                 setExtensionUpdateNotes("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).");
439                                 break;
440
441                         case '0.7.0': // SQL queries for v0.7.0
442                                 setExtensionUpdateNotes("Zuschaltung von weiteren Bonis wird jetzt auch bei der Auflistung der mitmachenden Mitglieder im Mitgliedsbereich beachtet.");
443                                 break;
444
445                         case '0.7.1': // SQL queries for v0.7.1
446                                 setExtensionUpdateNotes("Im Adminbereich wird nun ebenfalls die Zuschaltung von weiteren Bonis ber&uuml;cksichtigt. Zudem wird der Gesamtbonus an alle Mitglieder errechnet und auch angezeigt.");
447                                 break;
448
449                         case '0.7.2': // SQL queries for v0.7.2
450                                 setExtensionUpdateNotes("Die Verg&uuml;tung der erreichten 100%-Klickrate war noch wegen Programmierungen am Script auskommentiert. Sorry!");
451                                 break;
452
453                         case '0.7.3': // SQL queries for v0.7.3
454                                 setExtensionUpdateNotes("Gutgeschriebene Bonus-{?POINTS?} werden nach Deaktivierung der Aktiv-Rallye gel&ouml;scht.");
455                                 break;
456
457                         case '0.7.4': // SQL queries for v0.7.4
458                                 setExtensionUpdateNotes("Rechtlichen Hinweis im Mitgliedsbereich vergessen. (<strong>member_bonus.tpl</strong>)");
459                                 break;
460
461                         case '0.7.5': // SQL queries for v0.7.5
462                                 setExtensionUpdateNotes("Im Admin-Bereich Hinweis hinzugef&uuml;gt, wenn Aktiv-Rallye inaktiv ist. Bitte Script inc/monthly_bonus.php l&ouml;schen!");
463                                 break;
464
465                         case '0.7.6': // SQL queries for v0.7.6
466                                 setExtensionUpdateNotes("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.");
467                                 break;
468
469                         case '0.7.7': // SQL queries for v0.7.7
470                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD bonus_en_notify ENUM('Y','N') NOT NULL DEFAULT 'N'");
471                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD bonus_di_notify ENUM('Y','N') NOT NULL DEFAULT 'N'");
472                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD bonus_new_mem_notify ENUM('Y','N') NOT NULL DEFAULT 'N'");
473                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD bonus_notify_points FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000");
474                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD bonus_notify_wait BIGINT(20) UNSIGNED NOT NULL DEFAULT '30'");
475                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD bonus_ral_notify BIGINT(20) UNSIGNED NOT NULL DEFAULT 0");
476                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD bonus_ral_en_notify BIGINT(20) UNSIGNED NOT NULL DEFAULT 0");
477                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_data` ADD bonus_ral_di_notify BIGINT(20) UNSIGNED NOT NULL DEFAULT 0");
478
479                                 // Update notes (these will be set as task text!)
480                                 setExtensionUpdateNotes("Optionale automatische Benachrichtigung &uuml;ber aktivierte und/oder deaktivierte Aktiv-Rallye einstellbar.");
481                                 break;
482
483                         case '0.7.8': // SQL queries for v0.7.8
484                                 // Update notes (these will be set as task text!)
485                                 setExtensionUpdateNotes("Fehler im t&auml;glichen Reset beseitigt.");
486                                 break;
487
488                         case '0.7.9': // SQL queries for v0.7.9
489                                 setExtensionUpdateNotes("Dollarzeichen fehlte in <strong>inc/reset/reset_bonus.php</strong>, Zeile 39");
490                                 break;
491
492                         case '0.8.0': // SQL queries for v0.8.0
493                                 setExtensionUpdateNotes("De-/Aktivieren des mit dieser Erweiterung verkn&uuml;pften Modules eingebunden.");
494                                 break;
495
496                         case '0.8.1': // SQL queries for v0.8.1
497                                 setExtensionUpdateNotes("Bei {?POINTS?}-Gleichstand wird als n&auml;chstes nach wer als letztes Online war umsortiert.");
498                                 break;
499
500                         case '0.8.2': // SQL queries for v0.8.2
501                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD bonus_include_own ENUM('Y','N') NOT NULL DEFAULT 'N'");
502                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_bonus` ADD is_notify ENUM('Y','N') NOT NULL DEFAULT 'N'");
503
504                                 // Update notes (these will be set as task text!)
505                                 setExtensionUpdateNotes("Eigene User-ID von Aktiv-Rallye ausschliessbar. Benachrichtigungsmails sind von Aktiv-Rallye ausgeschlossen.");
506                                 break;
507
508                         case '0.8.3': // SQL queries for v0.8.3
509                                 addExtensionSql("UPDATE `{?_MYSQL_PREFIX?}_member_menu` SET `action`='rals', `sort`=2, `title`='Aktiv-Rallye' WHERE `what`='bonus' LIMIT 1");
510
511                                 // Update notes (these will be set as task text!)
512                                 setExtensionUpdateNotes("Mitgliedsmen&uuml; komplett umgebaut.");
513                                 break;
514
515                         case '0.8.4': // SQL queries for v0.8.4
516                                 setExtensionUpdateNotes("Ladeproblem bei nicht installierter Erweiterung <strong>cache</strong> gefixt.");
517                                 break;
518
519                         case '0.8.5': // SQL queries for v0.8.5
520                                 setExtensionUpdateNotes("CSS-Klassenname gefixt in Templates.");
521                                 break;
522
523                         case '0.8.6': // SQL queries for v0.8.6
524                                 setExtensionUpdateNotes("Fehlerhinweis bei deaktivierter Erweiterung verbessert.");
525                                 break;
526
527                         case '0.8.7': // SQL queries for v0.8.7
528                                 addAdminMenuSql('email','list_notifications','Benachrichtigungen','Listet alle an die Mitglieder ausgesandten Benachrichtigungen auf.', 10);
529
530                                 // Update notes
531                                 setExtensionUpdateNotes("Benachrichtigungsmails f&uuml;r z.B. Bettel- oder Aktiv-Rallye werden nun angezeigt.");
532                                 break;
533
534                         case '0.8.8': // SQL queries for v0.8.8
535                                 addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_user_stats` ADD `bonus_stats_active` ENUM('Y','N') NOT NULL DEFAULT 'N'");
536
537                                 // Update notes
538                                 setExtensionUpdateNotes("Benachrichtigungsmails f&uuml;r z.B. Bettel- oder Aktiv-Rallye werden nun angezeigt.");
539                                 break;
540                 }
541                 break;
542
543         case 'modify': // When the extension got modified
544                 break;
545
546         case 'test': // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305.
547                 break;
548
549         case 'init': // Do stuff when extension is initialized
550                 if (isResetModeEnabled() && (!isDebugModeEnabled()) && (getOutputMode() != 1)) {
551                         // Daily reset was run so let's check if active rallye is activated
552                         if (getConfig('bonus_active') == 'Y') {
553                                 // Run active rallye
554                                 addIncludeToPool('reset', 'inc/monthly/monthly_bonus.php');
555                         } else {
556                                 // Reset points
557                                 addIncludeToPool('reset', 'inc/reset/reset_bonus.php');
558                         }
559                 } // END - if
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                         addIncludeToPool('notify', 'inc/mails/bonus_mails.php');
565                 } // END - if
566                 break;
567
568         case 'init': // Do stuff when extension is initialized
569                 break;
570
571         default: // Unknown extension mode
572                 DEBUG_LOG(__FILE__, __LINE__, sprintf("Unknown extension mode %s detected.", getExtensionMode()));
573                 break;
574 } // END - switch
575
576 // [EOF]
577 ?>