2 /************************************************************************
3 * MXChange v0.2.1 Start: 04/04/2004 *
4 * ================ Last change: 06/13/2005 *
6 * -------------------------------------------------------------------- *
7 * File : ext-bonus.php *
8 * -------------------------------------------------------------------- *
9 * Short description : Bonus pages *
10 * -------------------------------------------------------------------- *
11 * Kurzbeschreibung : Bonus-Seiten *
12 * -------------------------------------------------------------------- *
14 * -------------------------------------------------------------------- *
15 * Copyright (c) 2003 - 2008 by Roland Haeder *
16 * For more information visit: http://www.mxchange.org *
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. *
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. *
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, *
32 ************************************************************************/
34 // Some security stuff...
35 if (!defined('__SECURITY')) {
36 $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
40 // Version of this extension
41 $EXT_VERSION = "0.8.8";
43 // Auto-set extension version
44 if (empty($EXT_VER)) $EXT_VER = $EXT_VERSION;
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");
49 switch ($EXT_LOAD_MODE)
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ö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,
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)";
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'";
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`";
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";
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";
108 case "update": // Update an extension
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>.";
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 != ''";
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ü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&what=updates\">Updates prüfen</a> herunter.";
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'ten Klick auf die Mail verbucht werden sollen. Beispiele: Der 1. Klick sollte mehr {!POINTS!} zusä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";
136 // Update notes (these will be set as task text!)
137 $UPDATE_NOTES = "Login-Bonus und Turbo-Klick-Bonus intergriert.";
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,
151 KEY mail_id (mail_id),
152 KEY bonus_id (bonus_id),
156 // Update notes (these will be set as task text!)
157 $UPDATE_NOTES = "Turbo-Bonus wird in Tabelle gezählt für Anzeige, wer alles bereits geklickt hat und welchen Platz er gemacht hat.";
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)";
164 // Update notes (these will be set as task text!)
165 $UPDATE_NOTES = "Aktiv-Rallye mit Klick-Vergütung hinzugefügt.";
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ändert.";
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`";
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.";
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.";
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ütet werden!)";
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";
199 // Update notes (these will be set as task text!)
200 $UPDATE_NOTES = "5 Nachkommastellen implementiert";
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.";
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üpunkte im Gast-/Mitgliedsbereich können nicht mehr aufgerufen werden, wenn die Erweiterung deaktiviert ist.";
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ührt.";
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 "Solid-Business" eingebaut.";
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> überflüssige HTML-Tags entfernt.";
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öglichen Gewinner an.', 10)";
231 // Update notes (these will be set as task text!)
232 $UPDATE_NOTES = "Link <u>Aktiv-Rallye-Teilnehmer</u> hinzugefügt, inklusive manuelle Vorbereitung der Vergütung.";
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";
239 // Update notes (these will be set as task text!)
240 $UPDATE_NOTES = "Der Login-Bonus Aktiv-Bonus (= Klick-Bonus) können nun zuerst von einem Mitgliederaccount (das sollte Ihres sein!), vom Jackpot abgezogen oder einfach dazuadiert werden.";
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äteste Zeitmarke für die Auswertung angezeigt.";
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ählbar, von dem die {!POINTS!} für den Aktiv- und Login-Bonus abgebucht werden.";
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.";
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.";
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";
267 // Update notes (these will be set as task text!)
268 $UPDATE_NOTES = "Automatisches Löschen von Turbo-Bonus-Zeilen ({!MYSQL_PREFIX!}_bonus_turbo) und begrenzte Anzahl von Einträgen hinzugefügt.";
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ütung des Aktiv-Bonus repariert.";
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.";
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.";
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'";
296 // Update notes (these will be set as task text!)
297 $UPDATE_NOTES = "Bonus-{!POINTS!} fü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 überflüssig geworden. Bitte löschen Sie dies!<br />Eingestellte Bonus-{!POINTS!} für Rank 2 war um eins verschoben.";
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.";
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.";
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";
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ückgesetzt worden.";
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.";
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.";
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äglichen Reset beseitigt.";
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äglichen Reset beseitigt.";
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örter <strong>Mailtausch</strong>, <strong>Mailtausches</strong> und <strong>Mailtauscher</strong> sind austauschbar.";
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ür Platz 2 bis <strong>x</strong> korregiert.";
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.";
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ür gesorgt, dass die monatliche Aktiv-Rallye nicht ausgeschüttet wurde. Mit diesem Update wurde die Ausschüttung initialisiert. Ihre Mitglieder bekommen voraussichtlicht nichts doppelt vergütet.";
357 case "0.5.6": // SQL queries for v0.5.6
359 $curr = date("m", time());
360 if (strlen($curr) == 1) $curr = "0".$curr;
361 if ($curr == "00") $curr = "12";
363 // Generate timemark...
364 $mark = mktime(0, 0, 0, $curr, 1, date('Y', time()));
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";
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 "nach oben gerutsch".";
375 case "0.5.7": // SQL queries for v0.5.7
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äglichen Reset endlich beseitigt.";
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.";
387 case "0.6.0": // SQL queries for v0.6.0
388 $UPDATE_NOTES = "SQL-Fehlermeldung in <strong>inc/monthly_bonus.php</strong> beseitigt.";
391 case "0.6.1": // SQL queries for v0.6.1
392 $UPDATE_NOTES = "Versand von Bonus-Mails repariert.";
395 case "0.6.2": // SQL queries for v0.6.2
396 $UPDATE_NOTES = "Löschen von bereits gelöschten Mails wird nun abgelehnt.";
399 case "0.6.3": // SQL queries for v0.6.3
400 $UPDATE_NOTES = "Abspeichern von Einstellungen repariert.";
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";
406 // Update notes (these will be set as task text!)
407 $UPDATE_NOTES = "Der Menüpunkt "Bonus-{!POINTS!}" unter Einstellungen wird nach "Aktiv-Rallye umbenannt. Und die Aktiv-Rallye konnte aufgrund eines Template-Fehlers nicht gespeichert werden.";
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'";
413 // Update notes (these will be set as task text!)
414 $UPDATE_NOTES = "Fehler mit bonus_stats beseitigt.";
417 case "0.6.6": // SQL queries for v0.6.6
418 $UPDATE_NOTES = "Template-Fehler beseitigt im Admin-Bereich.";
421 case "0.6.7": // SQL queries for v0.6.7
422 $UPDATE_NOTES = "Vorbereitung auf die neue Mediendaten v0.0.4.";
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'";
428 // Update notes (these will be set as task text!)
429 $UPDATE_NOTES = "Eingegebene Anzahl auszusendener Bonus-Mails wurde bei der Empfänderauswahl nicht berücksichtigt. Zudem wird jetzt das eingestellte Auswahlverfahren mitberücksichtigt.";
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'";
439 // Update notes (these will be set as task text!)
440 $UPDATE_NOTES = "Es können nun auch die folgenden Vergütungen bei der Auswertung der monatlichen Aktiv-Rallye mit berücksichtigt werden: Mailbestätigung (war vorher schon), Login-, Mailbuchung, Referal und Statistik-Bonus (100% Klickrate erreicht).";
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.";
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ücksichtigt. Zudem wird der Gesamtbonus an alle Mitglieder errechnet und auch angezeigt.";
451 case "0.7.2": // SQL queries for v0.7.2
452 $UPDATE_NOTES = "Die Vergütung der erreichten 100%-Klickrate war noch wegen Programmierungen am Script auskommentiert. Sorry!";
455 case "0.7.3": // SQL queries for v0.7.3
456 $UPDATE_NOTES = "Gutgeschriebene Bonus-{!POINTS!} werden nach Deaktivierung der Aktiv-Rallye gelöscht.";
459 case "0.7.4": // SQL queries for v0.7.4
460 $UPDATE_NOTES = "Rechtlichen Hinweis im Mitgliedsbereich vergessen. (<strong>member_bonus.tpl</strong>)";
463 case "0.7.5": // SQL queries for v0.7.5
464 $UPDATE_NOTES = "Im Admin-Bereich Hinweis hinzugefügt, wenn Aktiv-Rallye inaktiv ist. Bitte Script inc/monthly_bonus.php löschen!";
467 case "0.7.6": // SQL queries for v0.7.6
468 $UPDATE_NOTES = "Auswahlmechanismus der Gewinner repariert. Trotz Hinzuschalten von weiteren zu berücksichtigen Boni wurden diese bei der Sortierung der User-IDs nicht berücksichtig.";
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";
481 // Update notes (these will be set as task text!)
482 $UPDATE_NOTES = "Optionale automatische Benachrichtigung über aktivierte und/oder deaktivierte Aktiv-Rallye einstellbar.";
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äglichen Reset beseitigt.";
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";
494 case "0.8.0": // SQL queries for v0.8.0
495 $UPDATE_NOTES = "De-/Aktivieren des mit dieser Erweiterung verknüpften Modules eingebunden.";
498 case "0.8.1": // SQL queries for v0.8.1
499 $UPDATE_NOTES = "Bei {!POINTS!}-Gleichstand wird als nächstes nach wer als letztes Online war umsortiert.";
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'";
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.";
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";
513 // Update notes (these will be set as task text!)
514 $UPDATE_NOTES = "Mitgliedsmenü komplett umgebaut.";
517 case "0.8.4": // SQL queries for v0.8.4
518 $UPDATE_NOTES = "Ladeproblem bei nicht installierter Erweiterung <strong>cache</strong> gefixt.";
521 case "0.8.5": // SQL queries for v0.8.5
522 $UPDATE_NOTES = "CSS-Klassenname gefixt in Templates.";
525 case "0.8.6": // SQL queries for v0.8.6
526 $UPDATE_NOTES = "Fehlerhinweis bei deaktivierter Erweiterung verbessert.";
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)";
533 $UPDATE_NOTES = "Benachrichtigungsmails für z.B. Bettel- oder Aktiv-Rallye werden nun angezeigt.";
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'";
540 $UPDATE_NOTES = "Benachrichtigungsmails für z.B. Bettel- oder Aktiv-Rallye werden nun angezeigt.";
545 case "test": // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305.
548 default: // Do stuff when extension is loaded
549 if (isBooleanConstantAndTrue('__DAILY_RESET') && (!isBooleanConstantAndTrue('DEBUG_MODE')) && ($GLOBALS['output_mode'] != 1)) {
550 // Daily reset was run so let's check if active rallye is activated
551 if (getConfig('bonus_active') == "Y") {
553 if (getConfig('bonus_stats') > 0) $INC_POOL[] = sprintf("%sinc/stats_bonus.php", constant('PATH'));
554 $INC_POOL[] = sprintf("%sinc/monthly/monthly_bonus.php", constant('PATH'));
557 $INC_POOL[] = sprintf("%sinc/reset/reset_bonus.php", constant('PATH'));
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", constant('PATH'));