X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fextensions%2Fext-rallye.php;h=8f85034f3dab7d9d09d4aeb4ab92b182b827adae;hp=600fcf01892e54070dcca08a73fa12840e9327a9;hb=e72031bcfdcd8e91f62bec6cc88f36b7a11d9221;hpb=8a9324b2d931f54f54f4319fd7234910af77012c diff --git a/inc/extensions/ext-rallye.php b/inc/extensions/ext-rallye.php index 600fcf0189..8f85034f3d 100644 --- a/inc/extensions/ext-rallye.php +++ b/inc/extensions/ext-rallye.php @@ -32,327 +32,335 @@ ************************************************************************/ // Some security stuff... -if ((ereg(basename(__FILE__), $_SERVER['PHP_SELF']))) -{ +if (!defined('__SECURITY')) { $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php"; require($INC); } // Version number -$EXT_VERSION = "0.3.4"; - -// Auto-set extension version -if (empty($EXT_VER)) $EXT_VER = $EXT_VERSION; +EXT_SET_VERSION("0.3.5"); // Version history array (add more with , "0.1" and so on) -$EXT_VER_HISTORY = array("0.0", "0.0.1", "0.0.2", "0.0.3", "0.0.4", "0.0.5", "0.0.6", "0.0.7", "0.0.8", "0.0.9", "0.1.0", "0.1.1", "0.1.2", "0.1.3", "0.1.4", "0.1.5", "0.1.6", "0.1.7", "0.1.8", "0.1.9", "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"); +EXT_SET_VER_HISTORY(array("0.0", "0.0.1", "0.0.2", "0.0.3", "0.0.4", "0.0.5", "0.0.6", "0.0.7", "0.0.8", "0.0.9", "0.1.0", "0.1.1", "0.1.2", "0.1.3", "0.1.4", "0.1.5", "0.1.6", "0.1.7", "0.1.8", "0.1.9", "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")); switch ($EXT_LOAD_MODE) { -case "register": // Do stuff when installtion is running (modules.php?module=admin&action=login is called) +case "register": // Do stuff when installation is running (modules.php?module=admin&action=login is called) // SQL commands to run - $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_rallye_data"; - $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_rallye_prices"; - $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_rallye_users"; - $SQLs[] = "CREATE TABLE "._MYSQL_PREFIX."_rallye_data ( -id bigint(20) not null auto_increment, -admin_id bigint(20) not null default '0', -title varchar(255) not null default '', -descr longblob not null, -template varchar(255) not null default '', -start_time varchar(10) not null default '0', -end_time varchar(10) not null default '0', -auto_add_new_user enum('Y', 'N') not null default 'Y', -is_active enum('Y', 'N') not null default 'N', -send_notify enum('Y', 'N') not null default 'Y', -notified enum('Y', 'N') not null default 'N', + ADD_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_rallye_data`"); + ADD_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_rallye_prices`"); + ADD_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_rallye_users`"); + ADD_SQL("CREATE TABLE `{!_MYSQL_PREFIX!}_rallye_data` ( +id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, +admin_id BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, +title VARCHAR(255) NOT NULL DEFAULT '', +descr LONGBLOB NOT NULL, +template VARCHAR(255) NOT NULL DEFAULT '', +start_time VARCHAR(10) NOT NULL DEFAULT 0, +end_time VARCHAR(10) NOT NULL DEFAULT 0, +auto_add_new_user ENUM('Y','N') NOT NULL DEFAULT 'Y', +is_active ENUM('Y','N') NOT NULL DEFAULT 'N', +send_notify ENUM('Y','N') NOT NULL DEFAULT 'Y', +notified ENUM('Y','N') NOT NULL DEFAULT 'N', KEY (admin_id), PRIMARY KEY (id) -) TYPE=MyISAM"; - $SQLs[] = "CREATE TABLE "._MYSQL_PREFIX."_rallye_prices ( -id bigint(20) not null auto_increment, -rallye_id bigint(20) not null default '0', -price_level bigint(20) not null default '0', -points bigint(20) not null default '0', -info longblob not null, +) TYPE=MyISAM"); + ADD_SQL("CREATE TABLE `{!_MYSQL_PREFIX!}_rallye_prices` ( +id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, +rallye_id BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, +price_level BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, +points BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, +info LONGBLOB NOT NULL, KEY (rallye_id), PRIMARY KEY(id) -) TYPE=MyISAM"; - $SQLs[] = "CREATE TABLE "._MYSQL_PREFIX."_rallye_users ( -id bigint(20) not null auto_increment, -rallye_id bigint(20) not null default '0', -userid bigint(20) not null default '0', -refs bigint(20) not null default '0', +) TYPE=MyISAM"); + ADD_SQL("CREATE TABLE `{!_MYSQL_PREFIX!}_rallye_users` ( +id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, +rallye_id BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, +userid BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, +refs BIGINT(20) UNSIGNED NOT NULL DEFAULT 0, KEY (rallye_id), KEY (userid), PRIMARY KEY(id) -) TYPE=MyISAM"; +) TYPE=MyISAM"); + // Admin menu - $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES('rallye', '', 'Rallye-Management', 'Richten Sie neue Ref-Rallyes ein, die zeitgesteuert anfangen und aufhöhren. Dabei wird alles weitere automatisch geregelt.', '9')"; - $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES('rallye', 'add_rallye', 'Neue Rallye hinzufügen', 'Neue Ref-Rallye hinzufügen.', '1')"; - $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES('rallye', 'config_rallye_prices', 'Preise einrichten', 'Richten Sie Preise zu den Rallyes ein.', '2')"; - $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_admin_menu (action, what, title, descr, sort) VALUES('rallye', 'list_rallyes', 'Rallyes verwalten', 'Alle bestehenden Ref-Rallyes auflisten, bearbeiten, stoppen, löschen usw.', '3')"; + ADD_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('rallye', NULL, 'Rallye-Management','Richten Sie neue Ref-Rallyes ein, die zeitgesteuert anfangen und aufhöhren. Dabei wird alles weitere automatisch geregelt.','9')"); + ADD_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('rallye','add_rallye','Neue Rallye hinzufügen','Neue Ref-Rallye hinzufügen.','1')"); + ADD_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('rallye','config_rallye_prices','Preise einrichten','Richten Sie Preise zu den Rallyes ein.','2')"); + ADD_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_admin_menu` (`action`,`what`,`title`,`descr`,`sort`) VALUES ('rallye','list_rallyes','Rallyes verwalten','Alle bestehenden Ref-Rallyes auflisten, bearbeiten, stoppen, löschen usw.','3')"); + // Guest menu - $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_guest_menu (action, what, title, visible, locked, sort) VALUES ('main', 'rallyes', 'Ref-Rallyes', 'Y', 'Y', '9')"; + ADD_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_guest_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('main','rallyes','Ref-Rallyes','Y','Y','9')"); + // Member menu - $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_member_menu (action, what, title, visible, locked, sort) VALUES('main', 'rallyes', 'Ref-Rallyes', 'Y', 'Y', '9')"; + ADD_SQL("INSERT INTO `{!_MYSQL_PREFIX!}_member_menu` (`action`,`what`,`title`,`visible`,`locked`,`sort`) VALUES ('main','rallyes','Ref-Rallyes','Y','Y','9')"); break; case "remove": // Do stuff when removing extension - // SQL commands to run - $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_rallye_data"; - $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_rallye_prices"; - $SQLs[] = "DROP TABLE IF EXISTS "._MYSQL_PREFIX."_rallye_users"; - $SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_admin_menu WHERE action='rallye' LIMIT 4"; - $SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_guest_menu WHERE what='rallye' LIMIT 1"; - $SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_member_menu WHERE what='rallye' LIMIT 1"; + // Drop tables + ADD_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_rallye_data`"); + ADD_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_rallye_prices`"); + ADD_SQL("DROP TABLE IF EXISTS `{!_MYSQL_PREFIX!}_rallye_users`"); + + // Remove menus + ADD_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_admin_menu` WHERE `action`='rallye' LIMIT 4"); + ADD_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_guest_menu` WHERE `what`='rallyes' LIMIT 1"); + ADD_SQL("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_member_menu` WHERE `what`='rallyes' LIMIT 1"); + + // Unregister filter + UNREGISTER_FILTER('extra_autopurge', 'RALLYE_EXTRA_AUTOPURGE', true, $dry_run); break; case "activate": // Do stuff when admin activates this extension // SQL commands to run - $SQLs[] = "UPDATE "._MYSQL_PREFIX."_guest_menu SET visible='Y', locked='N' WHERE what='rallyes' LIMIT 1"; - $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET visible='Y', locked='N' WHERE what='rallyes' LIMIT 1"; + ADD_SQL("UPDATE `{!_MYSQL_PREFIX!}_guest_menu` SET `visible`='Y', `locked`='N' WHERE `what`='rallyes' LIMIT 1"); + ADD_SQL("UPDATE `{!_MYSQL_PREFIX!}_member_menu` SET `visible`='Y', `locked`='N' WHERE `what`='rallyes' LIMIT 1"); break; case "deactivate": // Do stuff when admin deactivates this extension // SQL commands to run - $SQLs[] = "UPDATE "._MYSQL_PREFIX."_guest_menu SET visible='Y', locked='Y' WHERE what='rallyes' LIMIT 1"; - $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET visible='Y', locked='Y' WHERE what='rallyes' LIMIT 1"; + ADD_SQL("UPDATE `{!_MYSQL_PREFIX!}_guest_menu` SET `visible`='N', `locked`='Y' WHERE `what`='rallyes' LIMIT 1"); + ADD_SQL("UPDATE `{!_MYSQL_PREFIX!}_member_menu` SET `visible`='N', `locked`='Y' WHERE `what`='rallyes' LIMIT 1"); break; case "update": // Update an extension switch ($EXT_VER) { case "0.0.1": // SQL queries for v0.0.1 - $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_rallye_data ADD expired enum('Y', 'N') not null default 'N'"; + ADD_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_rallye_data` ADD expired ENUM('Y','N') NOT NULL DEFAULT 'N'"); // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Ablaufen der Rallyes intergriert."; + EXT_SET_UPDATE_NOTES("Ablaufen der Rallyes intergriert."); break; case "0.0.2": // SQL queries for v0.0.2 - $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_rallye_users ADD curr_points double(23,3) not null default '0.000'"; + ADD_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_rallye_users` ADD curr_points FLOAT(20,5) UNSIGNED NOT NULL DEFAULT 0.00000"); // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Aktueller {!POINTS!}-Stand wird beachtet."; + EXT_SET_UPDATE_NOTES("Aktueller {!POINTS!}-Stand wird beachtet."); break; case "0.0.6": // SQL queries for v0.0.6 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Fehler Unknown column 'd.useid' in 'on clause' behoben."; + EXT_SET_UPDATE_NOTES("Fehler Unknown column 'd.useid' in 'on clause' behoben."); break; case "0.0.7": // SQL queries for v0.0.7 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Fehlende Abfrage im Mitlieder-Modul, on Erweiterung auch aktiviert ist."; + EXT_SET_UPDATE_NOTES("Fehlende Abfrage im Mitlieder-Modul, on Erweiterung auch aktiviert ist."); break; case "0.0.8": // SQL queries for v0.0.8 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Fehler Template nicht gefunden behoben und Admin-Formulare ausgelagert"; + EXT_SET_UPDATE_NOTES("Fehler Template nicht gefunden behoben und Admin-Formulare ausgelagert"); break; case "0.0.9": // SQL queries for v0.0.9 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist. Und der vorherige Fehler Template nicht gefunden ist endlich beseitigt."; + EXT_SET_UPDATE_NOTES("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist. Und der vorherige Fehler Template nicht gefunden ist endlich beseitigt."); break; case "0.1.0": // SQL queries for v0.2.1 - $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_rallye_users CHANGE curr_points curr_points double(23,5) not null default '0.00000'"; + ADD_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_rallye_users` CHANGE curr_points curr_points FLOAT(23,5) UNSIGNED NOT NULL DEFAULT 0.00000"); // Update notes (these will be set as task text!) - $UPDATE_NOTES = "5 Nachkommastellen implementiert."; + EXT_SET_UPDATE_NOTES("5 Nachkommastellen implementiert."); break; case "0.1.1": // SQL queries for v0.1.1 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist."; + EXT_SET_UPDATE_NOTES("Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist."); break; case "0.1.2": // SQL queries for v0.1.2 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Problem mit Speicherung der Einstellungen beseitigt."; + EXT_SET_UPDATE_NOTES("Problem mit Speicherung der Einstellungen beseitigt."); break; case "0.1.3": // SQL queries for v0.1.3 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Anzeigefehler im Gast-/Mitgliedsbereich behoben."; + EXT_SET_UPDATE_NOTES("Anzeigefehler im Gast-/Mitgliedsbereich behoben."); break; case "0.1.4": // SQL queries for v0.1.4 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Admin-Mails korregiert."; + EXT_SET_UPDATE_NOTES("Admin-Mails korregiert."); break; case "0.1.5": // SQL queries for v0.1.5 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Menüpunkte im Gast-/Mitgliedsbereich können nicht mehr aufgerufen werden, wenn die Erweiterung deaktiviert ist."; + EXT_SET_UPDATE_NOTES("Menüpunkte im Gast-/Mitgliedsbereich können nicht mehr aufgerufen werden, wenn die Erweiterung deaktiviert ist."); break; case "0.1.6": // SQL queries for v0.1.6 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Seit Patch 340 überflüssige HTML-Tags entfernt."; + EXT_SET_UPDATE_NOTES("Seit Patch 340 überflüssige HTML-Tags entfernt."); break; case "0.1.7": // SQL queries for v0.1.7 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Aktivierte bzw. abgelaufene Rallyes werden nur ausserhalb des CSS-Modus geladen (wenn also nicht css.php aufgerufen wurde)"; + EXT_SET_UPDATE_NOTES("Aktivierte bzw. abgelaufene Rallyes werden nur ausserhalb des CSS-Modus geladen (wenn also nicht css.php aufgerufen wurde)"); break; case "0.1.8": // SQL queries for v0.1.8 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Weitere Templates vom Admin-Bereich ausgelagert und Referral-Anazahl in der Mail zur Rallye-Ankündigung repariert."; + EXT_SET_UPDATE_NOTES("Weitere Templates vom Admin-Bereich ausgelagert und Referal-Anazahl in der Mail zur Rallye-Ankündigung repariert."); break; case "0.1.9": // SQL queries for v0.1.9 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Funktion ADMIN_USER_PROFILE_LINK() mit Verlinkung auf Referral-Liste implementiert."; + EXT_SET_UPDATE_NOTES("Funktion ADMIN_USER_PROFILE_LINK() mit Verlinkung auf Referal-Liste implementiert."); break; case "0.2.0": // SQL queries for v0.2.0 - $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_rallye_data ADD min_users bigint(20) not null default '0'"; - $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_rallye_data ADD min_prices bigint(20) not null default '3'"; + ADD_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_rallye_data` ADD min_users BIGINT(20) UNSIGNED NOT NULL DEFAULT 0"); + ADD_SQL("ALTER TABLE `{!_MYSQL_PREFIX!}_rallye_data` ADD min_prices BIGINT(20) UNSIGNED NOT NULL DEFAULT '3'"); // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Ablaufen der Rallyes intergriert. Bauen Sie in Ihr Template templates/de/emails/member/member_rallye_notifty.tpl folgende zwei Zeilen ein:
- -Zudem sollten Sie mindestens folgende Templates (in templates/".GET_LANGUAGE()."/html/guest/ !) aktualisieren:
-"; + EXT_SET_UPDATE_NOTES("Ablaufen der Rallyes intergriert. Bauen Sie in Ihr Template templates/de/emails/member/member_rallye_notify.tpl folgende zwei Zeilen ein:
+ +Zudem sollten Sie mindestens folgende Templates (in templates/".GET_LANGUAGE()."/html/guest/ !) aktualisieren:
+"); break; case "0.2.1": // SQL queries for v0.2.1 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Wörter Mailtausch, Mailtausches und Mailtauscher sind austauschbar."; + EXT_SET_UPDATE_NOTES("Wörter Mailtausch, Mailtausches und Mailtauscher sind austauschbar."); break; case "0.2.2": // SQL queries for v0.2.2 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Links wegen what=admins_contct geändert."; + EXT_SET_UPDATE_NOTES("Links wegen what=admins_contct geändert."); break; case "0.2.3": // SQL queries for v0.2.3 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "HTML-Code ausgelagert in Templates und SQL-Anweisungen abgesichert."; + EXT_SET_UPDATE_NOTES("HTML-Code ausgelagert in Templates und SQL-Anweisungen abgesichert."); break; case "0.2.4": // SQL queries for v0.2.4 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Abspeichern von Einstellungen repariert."; + EXT_SET_UPDATE_NOTES("Abspeichern von Einstellungen repariert."); break; case "0.2.5": // SQL queries for v0.2.5 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Menüpunkt "Rallyes verwalten" repariert."; + EXT_SET_UPDATE_NOTES("Menüpunkt "Rallyes verwalten" repariert."); break; case "0.2.6": // SQL queries for v0.2.6 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Automatisches Starten von Referral-Rallyes repariert."; + EXT_SET_UPDATE_NOTES("Automatisches Starten von Referal-Rallyes repariert."); break; case "0.2.7": // SQL queries for v0.2.7 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Fatalen Fehler beseitigt."; + EXT_SET_UPDATE_NOTES("Fatalen Fehler beseitigt."); break; case "0.2.8": // SQL queries for v0.2.8 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Vorbereitung auf die neue Mediendaten v0.0.4."; + EXT_SET_UPDATE_NOTES("Vorbereitung auf die neue Mediendaten v0.0.4."); break; case "0.2.9": // SQL queries for v0.2.9 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Sicherheitsupdate für die Include-Befehle."; + EXT_SET_UPDATE_NOTES("Sicherheitsupdate für die Include-Befehle."); break; case "0.3.0": // SQL queries for v0.3.0 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "if-Anweisungen auf Funktion empty() umgestellt."; + EXT_SET_UPDATE_NOTES("if-Anweisungen auf Funktion empty() umgestellt."); break; case "0.3.1": // SQL queries for v0.3.1 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Erweiterung für automatisch generierte Admin-Kontaktlinks geändert."; + EXT_SET_UPDATE_NOTES("Erweiterung für automatisch generierte Admin-Kontaktlinks geändert."); break; case "0.3.2": // SQL queries for v0.3.2 - $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET action='rals', sort='1', title='Referral-Rallye' WHERE what='rallyes' LIMIT 1"; + ADD_SQL("UPDATE `{!_MYSQL_PREFIX!}_member_menu` SET `action`='rals', `sort`='1', `title`='Referal-Rallye' WHERE `what`='rallyes' LIMIT 1"); // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Mitgliedsmenü komplett umgebaut."; + EXT_SET_UPDATE_NOTES("Mitgliedsmenü komplett umgebaut."); break; case "0.3.3": // SQL queries for v0.3.3 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Rallyes werden nun nur dann automatisch beseitigt, wenn die Erweiterung autopurge installiert und aktiviert ist."; + EXT_SET_UPDATE_NOTES("Rallyes werden nun nur dann automatisch beseitigt, wenn die Erweiterung autopurge installiert und aktiviert ist."); break; case "0.3.4": // SQL queries for v0.3.4 // Update notes (these will be set as task text!) - $UPDATE_NOTES = "Fehlerhinweis bei deaktivierter Erweiterung verbessert."; + EXT_SET_UPDATE_NOTES("Fehlerhinweis bei deaktivierter Erweiterung verbessert."); + break; + + case "0.3.5": // SQL queries for 0.3.5 + // This update depends on sql_patches + EXT_SET_UPDATE_DEPENDS("sql_patches"); + + // Register filter + REGISTER_FILTER('extra_autopurge', 'RALLYE_EXTRA_AUTOPURGE', false, true, $dry_run); + + // Update notes (these will be set as task text!) + EXT_SET_UPDATE_NOTES("Filter hinzugefügt und ist von sql_patches abhängig."); break; } break; +case "test": // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305. + break; + default: // Do stuff when extension is loaded // Do stuff only when not in CSS mode - if (($CSS != "1") && ($CSS != "-1")) - { + if (($GLOBALS['output_mode'] != "1") && ($GLOBALS['output_mode'] != "-1") && ($GLOBALS['cacheMode'] != "init")) { // Get total member count $TOTAL = GET_TOTAL_DATA("CONFIRMED", "user_data", "userid", "status", true); // Add more data on higher versions $ADD1 = ""; $ADD2 = ""; $OR = ""; - if (GET_EXT_VERSION("rallye") >= "0.2.0") - { + if (GET_EXT_VERSION("rallye") >= "0.2.0") { $ADD1 = ", min_users, min_prices"; $ADD2 = ", d.min_users, d.min_prices"; $OR = " OR (d.min_users <= ".$TOTAL." AND d.min_users > 0)"; - } + } // END - if // Check for new started but not notified rallyes $result = SQL_QUERY("SELECT SQL_SMALL_RESULT id, title, start_time, end_time, send_notify".$ADD1." -FROM "._MYSQL_PREFIX."_rallye_data -WHERE is_active='Y' AND notified='N' AND expired='N' AND start_time <= ".time()." AND end_time > ".time()." +FROM `{!_MYSQL_PREFIX!}_rallye_data` +WHERE is_active='Y' AND notified='N' AND expired='N' AND start_time <= UNIX_TIMESTAMP() AND end_time > UNIX_TIMESTAMP() LIMIT 1", __FILE__, __LINE__); - if (SQL_NUMROWS($result) == 1) - { + if (SQL_NUMROWS($result) == 1) { // Start rallye RALLYE_AUTOSTART_RALLYES($result); - } + } // END - if // Free memory SQL_FREERESULT($result); // Check for expired rallyes $result = SQL_QUERY("SELECT SQL_SMALL_RESULT d.id, d.title, d.start_time, d.end_time, d.send_notify".$ADD2." -FROM "._MYSQL_PREFIX."_rallye_data AS d -WHERE d.is_active='Y' AND d.notified='Y' AND d.expired='N' AND (d.end_time <= ".time()."".$OR.") +FROM `{!_MYSQL_PREFIX!}_rallye_data` AS d +WHERE d.is_active='Y' AND d.notified='Y' AND d.expired='N' AND (d.end_time <= UNIX_TIMESTAMP()".$OR.") LIMIT 1", __FILE__, __LINE__); - if ((SQL_NUMROWS($result) == 1) && (EXT_IS_ACTIVE("autopurge"))) - { + if ((SQL_NUMROWS($result) == 1) && (EXT_IS_ACTIVE("autopurge"))) { // End rallye here... RALLYE_EXPIRE_RALLYES($result); - } + } // END - if // Free memory SQL_FREERESULT($result); - } + } // END - if break; } -// Language file prefix -$EXT_LANG_PREFIX = "rallye"; - -// Extension is always active? -$EXT_ALWAYS_ACTIVE = 'N'; - // ?>