2 /************************************************************************
3 * MXChange v0.2.1 Start: 03/22/2004 *
4 * ================ Last change: 05/02/2004 *
6 * -------------------------------------------------------------------- *
7 * File : ext-html_mail.php *
8 * -------------------------------------------------------------------- *
9 * Short description : HTML mails with default mail() routine *
10 * -------------------------------------------------------------------- *
11 * Kurzbeschreibung : HTML-Mails mit Standart mail()-Routine *
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";
41 $EXT_VERSION = "0.1.5";
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.0.1", "0.0.2", "0.0.3", "0.0.4", "0.0.5", "0.0.51", "0.0.52", "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");
49 switch ($EXT_LOAD_MODE)
51 case "register": // Do stuff when installtion is running (modules.php?module=admin&action=login is called)
52 // SQL commands to run
53 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data ADD html ENUM('Y','N') NOT NULL DEFAULT 'Y'";
54 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_bonus ADD html_msg ENUM('Y','N') NOT NULL DEFAULT 'N'";
55 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_pool ADD html_msg ENUM('Y','N') NOT NULL DEFAULT 'N'";
56 $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_member_menu (action, what, title, sort, visible, locked) VALUES ('main', 'html_mail', 'HTML-Empfang', '3', 'Y', 'Y')";
59 case "remove": // Do stuff when removing extension
60 // SQL commands to run
61 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_user_data DROP html";
62 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_bonus DROP html_msg";
63 $SQLs[] = "ALTER TABLE "._MYSQL_PREFIX."_pool DROP html_msg";
64 $SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_member_menu WHERE action='main' AND what='html_mail' LIMIT 1";
67 case "activate": // Do stuff when admin activates this extension
68 // SQL commands to run
69 $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET visible='Y', locked='N' WHERE action='main' AND what='html_mail' LIMIT 1";
72 case "deactivate": // Do stuff when admin deactivates this extension
73 // SQL commands to run
74 $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET visible='Y', locked='Y' WHERE action='main' AND what='html_mail' LIMIT 1";
77 case "update": // Update an extension
80 case "0.0.6": // SQL queries for v0.0.6
81 // Update notes (these will be set as task text!)
82 $UPDATE_NOTES = "Der erstellte HTML-Code wird noch kompiliert (eigene HTML-Codes umgewandelt).";
85 case "0.0.8": // SQL queries for v0.0.8
86 // Update notes (these will be set as task text!)
87 $UPDATE_NOTES = "Fehlende Abfrage im Mitlieder-Modul, on Erweiterung auch aktiviert ist.";
90 case "0.0.9": // SQL queries for v0.0.9
91 // Update notes (these will be set as task text!)
92 $UPDATE_NOTES = "Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.";
95 case "0.1.0": // SQL queries for v0.2.1
96 // Update notes (these will be set as task text!)
97 $UPDATE_NOTES = "Menüpunkte im Gast-/Mitgliedsbereich können nicht mehr aufgerufen werden, wenn die Erweiterung deaktiviert ist.";
100 case "0.1.1": // SQL queries for v0.1.1
101 // Update notes (these will be set as task text!)
102 $UPDATE_NOTES = "Seit <A href=\"#\">Patch 340</A> überflüssige HTML-Tags entfernt.";
105 case "0.1.2": // SQL queries for v0.1.2
106 // Update notes (these will be set as task text!)
107 $UPDATE_NOTES = "Wörter <STRONG>Mailtausch</STRONG>, <STRONG>Mailtausches</STRONG> und <STRONG>Mailtauscher</STRONG> sind austauschbar.";
110 case "0.1.3": // SQL queries for v0.1.3
111 // Update notes (these will be set as task text!)
112 $UPDATE_NOTES = "Sicherheitsupdate: SQL-Anweisungen geschützt.";
115 case "0.1.4": // SQL queries for v0.1.4
116 // Update notes (these will be set as task text!)
117 $UPDATE_NOTES = "Abspeichern von Einstellungen repariert.";
120 case "0.1.5": // SQL queries for v0.1.5
121 // Update notes (these will be set as task text!)
122 $UPDATE_NOTES = "Fehlerhinweis bei deaktivierter Erweiterung verbessert.";
127 default: // Do stuff when extension is loaded
129 // Define all arrary variables as global!
130 global $HTML_TAGS, $URL_ENDS, $VALID_EMAI_CHARS;
132 // Valid HTML tags (only simple and no attributes!)
147 // URL ends which are used to indentify the end of an URL or email link
148 // Don't use these chars in links... ;-)
157 // Valid email chars (without @, or do you want to have another @ inside your email addy?)
158 $VALID_EMAIL_CHARS = array(
159 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's',
160 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L',
161 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '-', '.', '_', '0', '1',
162 '2', '3', '4', '5', '6', '7', '8', '9'
166 // Language file prefix
167 $EXT_LANG_PREFIX = "html_mail";
169 // Extension is always active?
170 $EXT_ALWAYS_ACTIVE = "N";