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 (ereg(basename(__FILE__), $_SERVER['PHP_SELF']))
37 $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
42 $EXT_VERSION = "0.1.5";
44 // Auto-set extension version
45 if (empty($EXT_VER)) $EXT_VER = $EXT_VERSION;
47 // Version history array (add more with , "0.1" and so on)
48 $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");
50 switch ($EXT_LOAD_MODE)
52 case "register": // Do stuff when installtion is running (modules.php?module=admin&action=login is called)
53 // SQL commands to run
54 $SQLs[] = "alter table "._MYSQL_PREFIX."_user_data add html enum('Y','N') not null default 'Y'";
55 $SQLs[] = "alter table "._MYSQL_PREFIX."_bonus add html_msg enum('Y','N') not null default 'N'";
56 $SQLs[] = "alter table "._MYSQL_PREFIX."_pool add html_msg enum('Y','N') not null default 'N'";
57 $SQLs[] = "INSERT INTO "._MYSQL_PREFIX."_member_menu (action, what, title, sort, visible, locked) VALUES ('main', 'html_mail', 'HTML-Empfang', '3', 'Y', 'Y')";
60 case "remove": // Do stuff when removing extension
61 // SQL commands to run
62 $SQLs[] = "alter table "._MYSQL_PREFIX."_user_data drop html";
63 $SQLs[] = "alter table "._MYSQL_PREFIX."_bonus drop html_msg";
64 $SQLs[] = "alter table "._MYSQL_PREFIX."_pool drop html_msg";
65 $SQLs[] = "DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_member_menu WHERE action='main' AND what='html_mail' LIMIT 1";
68 case "activate": // Do stuff when admin activates this extension
69 // SQL commands to run
70 $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET visible='Y', locked='N' WHERE action='main' AND what='html_mail' LIMIT 1";
73 case "deactivate": // Do stuff when admin deactivates this extension
74 // SQL commands to run
75 $SQLs[] = "UPDATE "._MYSQL_PREFIX."_member_menu SET visible='Y', locked='Y' WHERE action='main' AND what='html_mail' LIMIT 1";
78 case "update": // Update an extension
81 case "0.0.6": // SQL queries for v0.0.6
82 // Update notes (these will be set as task text!)
83 $UPDATE_NOTES = "Der erstellte HTML-Code wird noch kompiliert (eigene HTML-Codes umgewandelt).";
86 case "0.0.8": // SQL queries for v0.0.8
87 // Update notes (these will be set as task text!)
88 $UPDATE_NOTES = "Fehlende Abfrage im Mitlieder-Modul, on Erweiterung auch aktiviert ist.";
91 case "0.0.9": // SQL queries for v0.0.9
92 // Update notes (these will be set as task text!)
93 $UPDATE_NOTES = "Fehler beseitigt, wenn error_reporting=E_ALL gesetzt ist.";
96 case "0.1.0": // SQL queries for v0.2.1
97 // Update notes (these will be set as task text!)
98 $UPDATE_NOTES = "Menüpunkte im Gast-/Mitgliedsbereich können nicht mehr aufgerufen werden, wenn die Erweiterung deaktiviert ist.";
101 case "0.1.1": // SQL queries for v0.1.1
102 // Update notes (these will be set as task text!)
103 $UPDATE_NOTES = "Seit <A href=\"".SERVER_URL."/patches/340-Gast_Mitgliedsmenue_Deaktivieren.zip\">Patch 340</A> überflüssige HTML-Tags entfernt.";
106 case "0.1.2": // SQL queries for v0.1.2
107 // Update notes (these will be set as task text!)
108 $UPDATE_NOTES = "Wörter <STRONG>Mailtausch</STRONG>, <STRONG>Mailtausches</STRONG> und <STRONG>Mailtauscher</STRONG> sind austauschbar.";
111 case "0.1.3": // SQL queries for v0.1.3
112 // Update notes (these will be set as task text!)
113 $UPDATE_NOTES = "Sicherheitsupdate: SQL-Anweisungen geschützt.";
116 case "0.1.4": // SQL queries for v0.1.4
117 // Update notes (these will be set as task text!)
118 $UPDATE_NOTES = "Abspeichern von Einstellungen repariert.";
121 case "0.1.5": // SQL queries for v0.1.5
122 // Update notes (these will be set as task text!)
123 $UPDATE_NOTES = "Fehlerhinweis bei deaktivierter Erweiterung verbessert.";
128 default: // Do stuff when extension is loaded
130 // Define all arrary variables as global!
131 global $HTML_TAGS, $URL_ENDS, $VALID_EMAI_CHARS;
133 // Valid HTML tags (only simple and no attributes!)
148 // URL ends which are used to indentify the end of an URL or email link
149 // Don't use these chars in links... ;-)
158 // Valid email chars (without @, or do you want to have another @ inside your email addy?)
159 $VALID_EMAIL_CHARS = array(
160 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's',
161 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L',
162 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '-', '.', '_', '0', '1',
163 '2', '3', '4', '5', '6', '7', '8', '9'
167 // Language file prefix
168 $EXT_LANG_PREFIX = "html_mail";
170 // Extension is always active?
171 $EXT_ALWAYS_ACTIVE = 'N';