Wrapper functions introduced for configuration, loaders refactured:
[mailer.git] / inc / extensions / ext-other.php
index ae758f1be0b21fd0e946639c4fda8f734d55168e..f3ae6254d9d47c04c17cb7a76a9ca741b4c857d3 100644 (file)
  * $Date::                                                            $ *
  * $Tag:: 0.2.1-FINAL                                                 $ *
  * $Author::                                                          $ *
- * Needs to be in all Files and every File needs "svn propset           *
- * svn:keywords Date Revision" (autoprobset!) at least!!!!!!            *
  * -------------------------------------------------------------------- *
  * Copyright (c) 2003 - 2009 by Roland Haeder                           *
+ * Copyright (c) 2009 - 2011 by Mailer Developer Team                   *
  * For more information visit: http://www.mxchange.org                  *
  *                                                                      *
  * This program is free software; you can redistribute it and/or modify *
@@ -42,10 +41,10 @@ if (!defined('__SECURITY')) {
 } // END - if
 
 // Version number
-setThisExtensionVersion('0.2.5');
+setThisExtensionVersion('0.2.6');
 
 // Version history array (add more with , '0.1.0' and so on)
-setExtensionVersionHistory(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'));
+setExtensionVersionHistory(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'));
 
 // Keep this extension always active!
 setExtensionAlwaysActive('Y');
@@ -61,7 +60,7 @@ switch (getExtensionMode()) {
                addExtensionSql("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_admin_menu` WHERE `what`='config_other'");
 
                // Unregister filter
-               unregisterFilter('page_footer', 'DISPLAY_DEBUG_SQL', false, true, getExtensionDryRun());
+               unregisterFilter(__FUNCTION__, __LINE__, 'page_footer', 'DISPLAY_DEBUG_SQL', true, isExtensionDryRun());
                break;
 
        case 'activate': // Do stuff when admin activates this extension
@@ -78,7 +77,7 @@ switch (getExtensionMode()) {
                switch (getCurrentExtensionVersion()) {
                        case '0.0.1': // SQL queries for v0.0.1
                                // Update notes (these will be set as task text!)
-                               setExtensionUpdateNotes("Fehler <div class=\"admin_failed\">Warning: Missing argument 2 for create_timestamp_from_selections() in {?PATH?}inc/libs/pro_functions.php on line 227</div> behoben.");
+                               setExtensionUpdateNotes("Fehler <div class=\"notice\">Warning: Missing argument 2 for create_timestamp_from_selections() in {?PATH?}inc/libs/pro_functions.php on line 227</div> behoben.");
                                break;
 
                        case '0.0.2': // SQL queries for v0.0.2
@@ -92,7 +91,7 @@ switch (getExtensionMode()) {
                                break;
 
                        case '0.0.4': // SQL queries for v0.0.4
-                               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD max_comma TINYINT(3) UNSIGNED NOT NULL DEFAULT 3");
+                               addConfigAddSql('max_comma', "TINYINT(3) UNSIGNED NOT NULL DEFAULT 3");
 
                                // Update notes (these will be set as task text!)
                                setExtensionUpdateNotes("Angezeigte Kommastellen k&ouml;nnen zwischen 0 und 5 eingestellt werden.");
@@ -161,17 +160,17 @@ switch (getExtensionMode()) {
                                break;
 
                        case '0.1.6': // SQL queries for v0.1.6
-                               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD reject_url VARCHAR(255) NOT NULL DEFAULT '{?URL?}'");
+                               addConfigAddSql('reject_url', "VARCHAR(255) NOT NULL DEFAULT '{?URL?}'");
 
                                // Update notes (these will be set as task text!)
-                               setExtensionUpdateNotes("Bei Ablehnung der URL wird jetzt endlich eine Standart-URL eingesetzt, die konfigurierbar ist. Fehler beim Laden der Konfiguration gefunden.");
+                               setExtensionUpdateNotes("Bei Ablehnung der URL wird jetzt endlich eine Standard-URL eingesetzt, die konfigurierbar ist. Fehler beim Laden der Konfiguration gefunden.");
                                break;
 
                        case '0.1.7': // SQL queries for v0.1.7
-                               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD currency VARCHAR(255) NOT NULL DEFAULT '&euro;'");
+                               addConfigAddSql('currency', "VARCHAR(255) NOT NULL DEFAULT '&euro;'");
 
                                // Update notes (these will be set as task text!)
-                               setExtensionUpdateNotes("Standart-W&auml;hrung der Geb&uuml;hren f&uuml;r alle Erweiterungen geltend hinzugef&uuml;gt.");
+                               setExtensionUpdateNotes("Standard-W&auml;hrung der Geb&uuml;hren f&uuml;r alle Erweiterungen geltend hinzugef&uuml;gt.");
                                break;
 
                        case '0.1.8': // SQL queries for v0.1.8
@@ -180,35 +179,35 @@ switch (getExtensionMode()) {
                                break;
 
                        case '0.1.9': // SQL queries for v0.1.9
-                               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD mailid_error_redirect ENUM('index','reject') NOT NULL DEFAULT 'index'");
+                               addConfigAddSql('mailid_error_redirect', "ENUM('index','reject') NOT NULL DEFAULT 'index'");
 
                                // Update notes (these will be set as task text!)
                                setExtensionUpdateNotes("Bei fehlerhafter Mail w&auml;hrend der Best&auml;tigung kann wahlweise zur Hauptseite weitergeleitet oder auf die eingestellte Ablehnungsseite umgeleitet werden.");
                                break;
 
                        case '0.2.0': // SQL queries for v0.2.0
-                               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` CHANGE `mailid_error_redirect` `mailid_error_redirect` ENUM('INDEX','REJECT') NOT NULL DEFAULT 'INDEX'");
+                               addConfigChangeSql('mailid_error_redirect', 'mailid_error_redirect', "ENUM('INDEX','REJECT') NOT NULL DEFAULT 'INDEX'");
 
                                // Update notes (these will be set as task text!)
                                setExtensionUpdateNotes("Bei fehlerhafter Mail w&auml;hrend der Best&auml;tigung kann wahlweise zur Hauptseite weitergeleitet oder auf die eingestellte Ablehnungsseite umgeleitet werden.");
                                break;
 
                        case '0.2.1': // SQL queries for v0.2.1
-                               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `min_age` TINYINT(3) UNSIGNED NOT NULL DEFAULT 16");
+                               addConfigAddSql('min_age', "TINYINT(3) UNSIGNED NOT NULL DEFAULT 16");
 
                                // Update notes (these will be set as task text!)
                                setExtensionUpdateNotes("Minimumalter ist nun konfigurierbar.");
                                break;
 
                        case '0.2.2': // SQL queries for v0.2.2
-                               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `display_debug_sqls` ENUM('N','Y') NOT NULL DEFAULT 'N'");
+                               addConfigAddSql('display_debug_sqls', "ENUM('N','Y') NOT NULL DEFAULT 'N'");
 
                                // Update notes (these will be set as task text!)
                                setExtensionUpdateNotes("(Fast) alle SQL-Abfragen lassen sich nun zu Debugging-Zwecken (!) einschalten. Nur der Administrator sieht diese unten am Ende der Seite.");
                                break;
 
                        case '0.2.3': // SQL queries for v0.2.3
-                               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `max_send` BIGINT(20) UNSIGNED NOT NULL DEFAULT 10");
+                               addConfigAddSql('max_send', "BIGINT(20) UNSIGNED NOT NULL DEFAULT 10");
 
                                // Update notes (these will be set as task text!)
                                setExtensionUpdateNotes("Fehlende Konfiguration hinzugef&uuml;gt.");
@@ -216,32 +215,39 @@ switch (getExtensionMode()) {
 
                        case '0.2.4': // SQL queries for v0.2.4
                                // Register filter
-                               registerFilter('page_footer', 'DISPLAY_DEBUG_SQL', false, true, getExtensionDryRun());
+                               registerFilter('page_footer', 'DISPLAY_DEBUG_SQL', false, true, isExtensionDryRun());
 
                                // Update notes (these will be set as task text!)
                                setExtensionUpdateNotes("Filter zum Anzeigen (Debug) von ausgef&uuml;hrten SQL-Anweisungen hinzugef&uuml;gt.");
                                break;
 
                        case '0.2.5': // SQL queries for v0.2.5
-                               addExtensionSql("ALTER TABLE `{?_MYSQL_PREFIX?}_config` ADD `code_length` TINYINT(3) UNSIGNED NOT NULL DEFAULT 5");
+                               addConfigAddSql('code_length', "TINYINT(3) UNSIGNED NOT NULL DEFAULT 5");
 
                                // Update notes (these will be set as task text!)
                                setExtensionUpdateNotes("Codel&auml;nge aus tables.sql rausgeholt.");
                                break;
-               }
+
+                       case '0.2.6': // SQL queries for v0.2.5
+                               addConfigAddSql('stats_enabled', "ENUM('Y','N') NOT NULL DEFAULT 'Y'");
+
+                               // Update notes (these will be set as task text!)
+                               setExtensionUpdateNotes("Interne Statistiken sind nun abschaltbar (kann Performance bringen).");
+                               break;
+               } // END - switch
                break;
 
        case 'modify': // When the extension got modified
                break;
 
-       case 'test': // For testing purposes. For details see file inc/modules/admin/what-extensions.php, arround line 305.
+       case 'test': // For testing purposes
                break;
 
        case 'init': // Do stuff when extension is initialized
                break;
 
        default: // Unknown extension mode
-               logDebugMessage(__FILE__, __LINE__, sprintf("Unknown extension mode %s detected.", getExtensionMode()));
+               logDebugMessage(__FILE__, __LINE__, sprintf("Unknown extension mode %s in extension %s detected.", getExtensionMode(), getCurrentExtensionName()));
                break;
 }