821b0592ebb8237695fe29a7eeb7d30b86782727
[mailer.git] / inc / extensions / ext-html_mail.php
1 <?php
2 /************************************************************************
3  * MXChange v0.2.1                                    Start: 03/22/2004 *
4  * ================                             Last change: 05/02/2004 *
5  *                                                                      *
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  * -------------------------------------------------------------------- *
13  *                                                                      *
14  * -------------------------------------------------------------------- *
15  * Copyright (c) 2003 - 2008 by Roland Haeder                           *
16  * For more information visit: http://www.mxchange.org                  *
17  *                                                                      *
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.                                  *
22  *                                                                      *
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.                         *
27  *                                                                      *
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,               *
31  * MA  02110-1301  USA                                                  *
32  ************************************************************************/
33
34 // Some security stuff...
35 if (ereg(basename(__FILE__), $_SERVER['PHP_SELF']))
36 {
37         $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
38         require($INC);
39 }
40
41 // Version number
42 $EXT_VERSION = "0.1.5";
43
44 // Auto-set extension version
45 if (empty($EXT_VER)) $EXT_VER = $EXT_VERSION;
46
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");
49
50 switch ($EXT_LOAD_MODE)
51 {
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')";
58         break;
59
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";
66         break;
67
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";
71         break;
72
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";
76         break;
77
78 case "update": // Update an extension
79         switch ($EXT_VER)
80         {
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).";
84                 break;
85
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.";
89                 break;
90
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.";
94                 break;
95
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&uuml;punkte im Gast-/Mitgliedsbereich k&ouml;nnen nicht mehr aufgerufen werden, wenn die Erweiterung deaktiviert ist.";
99                 break;
100
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=\"#\">Patch 340</A> &uuml;berfl&uuml;ssige HTML-Tags entfernt.";
104                 break;
105
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&ouml;rter <STRONG>Mailtausch</STRONG>, <STRONG>Mailtausches</STRONG> und <STRONG>Mailtauscher</STRONG> sind austauschbar.";
109                 break;
110
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&uuml;tzt.";
114                 break;
115
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.";
119                 break;
120
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.";
124                 break;
125         }
126         break;
127
128 default: // Do stuff when extension is loaded
129
130         // Define all arrary variables as global!
131         global $HTML_TAGS, $URL_ENDS, $VALID_EMAI_CHARS;
132
133         // Valid HTML tags (only simple and no attributes!)
134         $HTML_TAGS = array(
135                 "b",
136                 "i",
137                 "u",
138                 "ol",
139                 "ul",
140                 "li",
141                 "strong",
142                 "center",
143                 "left",
144                 "right",
145                 "br",
146         );
147
148         // URL ends which are used to indentify the end of an URL or email link
149         // Don't use these chars in links... ;-)
150         //
151         $URL_ENDS = array(
152                 " ",
153                 "\n",
154                 "\r",
155                 ")",
156         );
157
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'
164         );
165         break;
166 }
167 // Language file prefix
168 $EXT_LANG_PREFIX = "html_mail";
169
170 // Extension is always active?
171 $EXT_ALWAYS_ACTIVE = "N";
172
173 //
174 ?>