]> git.p6c8.net - form-email.git/blob - changes.htm
0b155251c96d935ae59a0136b4a682e3da2e2f98
[form-email.git] / changes.htm
1 <?xml version="1.0" encoding="iso-8859-1" ?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
5 <html xmlns="http://www.w3.org/1999/xhtml">
6 <head>
7 <title>Versionshistorie</title>
8 <meta name="author" content="Patrick Canterino" />
9 <style type="text/css">
10 <!--
11 a:link, a:visited, a:active, a:focus
12 {
13 font-weight: normal;
14 text-decoration: none;
15 color: #0000FF;
16 cursor: hand;
17 }
18 a:link:hover, a:visited:hover, a:active:hover, a:focus:hover
19 {
20 font-weight: normal;
21 text-decoration: underline;
22 color: #0000FF;
23 cursor: hand;
24 }
25 body
26 {
27 font-family: Verdana, Tahoma, Arial, Helvetica, sans-serif;
28 font-size: 10pt;
29 color: #000000;
30 background-color: #FFFFFF;
31 }
32 code
33 {
34 font-family: 'Courier New', Courier, monospace;
35 font-size: 10pt;
36 color: #0000B0;
37 }
38 h1
39 {
40 font-size: 18pt;
41 font-weight: bold;
42 }
43 li
44 {
45 margin-top: 3px;
46 }
47 p
48 {
49 padding-left: 0.5cm;
50 padding-right: 0.5cm;
51 }
52 table
53 {
54 font-size: 10pt;
55 margin-left: 0.5cm;
56 margin-right: 0.5cm;
57 }
58 td
59 {
60 vertical-align: top;
61 }
62 ul
63 {
64 padding-left: 0.5cm;
65 padding-right: 0.5cm;
66 margin-left: 1cm;
67 }
68 -->
69 </style>
70 </head>
71 <body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#0000FF" alink="#0000FF">
72
73 <h1>Versionshistorie</h1>
74
75 <p><b>Neu in Version&nbsp;3.5</b> (vom xx.xx.201x)</p>
76
77 <ul>
78 <li><b>Individuelle Formularfelder:</b><br />
79 Es ist nun m&ouml;glich, individuelle Formularfelder zu definieren.</li>
80 <li><b>E-Mails als Datei abspeichern:</b><br />
81 <i>Form E-Mail</i> kann nun die E-Mails nach dem Versenden auch noch auf dem Server als Datei abspeichern.</li>
82 <li><b><code>$only_post</code> entfernt:</b><br />
83 Die Konfigurations-Variable <code>$only_post</code> wurde entfernt, da ich dahinter keinen Sinn mehr sehe. <i>Form E-Mail</i> kann damit nur noch &uuml;ber die HTTP-Zugriffsmethode <tt>POST</tt> aufgerufen werden.</li>
84 <li><b>Andere E-Mail-Adressen-&Uuml;berpr&uuml;fung:</b><br />
85 Die E-Mail-Adressen werden jetzt mit den Filter-Funktionen von PHP gepr&uuml;ft. Damit f&auml;llt auch die Konfigurations-Variable <code>$no_tld</code> weg.<br />
86 <i>Form E-Mail</i> ben&ouml;tigt damit mindestens <b>PHP&nbsp;5.2.0</b>, um zu funktionieren! <b>&Auml;ltere Versionen werden nicht mehr unterst&uuml;tzt!</b></li>
87 <li><b>URL-Vervollst&auml;ndigungscode funktioniert richtig:</b><br />
88 Der URL-Vervollst&auml;ndigungscode funktioniert nun bei relativen URLs ohne Verzeichnisangabe so, wie es urspr&uuml;nglich gedacht war.</li>
89 <li><b>Template-Klasse aktualisiert:</b><br />
90 Die <a href="http://www.patshaping.de/redirector/redirect.php?page=template-class" target="_blank">Template-Klasse</a> wurde auf Version&nbsp;2.5 aktualisiert.</li>
91 <li><b>Verschiedene &Auml;nderungen am Quellcode:</b><br />
92 Es wurden am Quellcode verschiedene &Auml;nderungen durchgef&uuml;hrt. Diese sind zwar f&uuml;r den normalen Anwender nicht sichtbar, sollen aber trotzdem erw&auml;hnt werden:
93 <ul>
94 <li>Der Programmierstil wurde ge&auml;ndert.</li>
95 <li>Es wurden verschiedene Variablenreferenzen aufgel&ouml;st.</li>
96 <li><code>htmlentities()</code> wurde durchgehend durch <code>htmlspecialchars()</code> ersetzt.</li>
97 </ul>
98 </li>
99 <li><b>Neue Lizenz:</b><br />
100 <i>Form E-Mail</i> ist nun unter den Bedingungen der <a href="http://www.opensource.org/licenses/artistic-license-2.0.php">Artistic License 2.0</a> lizenziert.</li>
101 </ul>
102
103 <p><b>Neu in Version&nbsp;3.4.1</b> (vom 27.2.2011)</p>
104
105 <ul>
106 <li><b>Captcha-Probleme bei aktiviertem <code>register_globals</code>:</b><br />
107 Bei aktiviertem <code>register_globals</code> war der Captcha-Schutz nutzlos. Es wurde jeder Wert akzeptiert. Danke an Stefan K&ouml;rner f&uuml;r den Hinweis!</li>
108 <li><b>Beispiel-Formular:</b><br />
109 Es wurde eine Datei beigelegt, die ein Beispiel-Formular zur Nutzung mit <i>Form E-Mail</i> darstellt.</li>
110 </ul>
111
112 <p><b>Neu in Version&nbsp;3.4</b> (vom 25.1.2009)</p>
113
114 <ul>
115 <li><b>Captchas:</b><br />
116 Es ist nun m&ouml;glich, im Mail-Formular sog. <a href="http://de.wikipedia.org/wiki/CAPTCHA">Captchas</a> anzuzeigen. Es handelt sich hierbei um einen zuf&auml;lligen Text in einem Bild, der in ein Formularfeld eingegeben werden muss, um das Formular zu versenden.</li>
117 <li><b>Copyright und Lizenz:</b><br />
118 Im Kopf der PHP-Dateien befindet sich nun eine Copyright-Angabe sowie ein Hinweis, dass f&uuml;r <i>Form E-Mail</i> die Artistic License 1.0 gilt.</li>
119 </ul>
120
121 <p><b>Neu in Version&nbsp;3.3a</b> (vom 14.4.2007)</p>
122
123 <ul>
124 <li><b><code>date_default_timezone_set()</code> unter PHP&nbsp;4:</b><br />
125 Unter PHP&nbsp;4 existiert <code>date_default_timezone_set()</code> nicht, weshalb <i>Form E-Mail</i> dort nicht lauff&auml;hig war. Jetzt wird vor der Anwendung dieser Funktion gepr&uuml;ft, ob sie auch existiert.</li>
126 </ul>
127
128 <p><b>Neu in Version&nbsp;3.3</b> (vom 11.4.2007)</p>
129
130 <ul>
131 <li><b>Umgebungsvariablen im Mailtext:</b><br />
132 Man kann jetzt Server-Umgebungsvariablen im Mailtext unterbringen. Welche Variablen das sein d&uuml;rfen, l&auml;sst sich über das neue Konfigurations-Array <code>$allowed_envs</code> festlegen. In der Mail-Template kann man dann Variablen unterbringen, die mit <code>ENV_</code> beginnen und dann durch die entsprechende Umgebungsvariable ersetzt werden.</li>
133 <li><b>Zeichensatz konfigurierbar:</b><br />
134 Der Zeichensatz, mit dem die Mails codiert werden, kan nnun durch die neue Konfigurationsvaraible <code>$charset</code> eingestellt werden.</li>
135 <li><b>Zeitzonen konfigurierbar:</b><br />
136 Neuere Versionen von PHP geben immer (bei entsprechender Einstellung zumindest) eine Fehlermeldung aus, wenn keine Standard-Zeitzone definiert wurde. <i>Form E-Mail</i> definiert jetzt als Standard-Zeitzone <tt>Europe/Berlin</tt>, das l&auml;sst sich aber durch die neue Konfigurationsvariable <code>$timezone</code> beliebig anpassen.</li>
137 <li><b>Template-Klasse aktualisiert:</b><br />
138 Die <a href="http://www.patshaping.de/redirector/redirect.php?page=template-class" target="_blank">Template-Klasse</a> wurde auf die aktuelle Version&nbsp;2.0 aktualisiert. Von den neuen Methoden wird Gebrauch gemacht.</li>
139 <li><b><i>patShaping</i> gestrichen:</b><br />
140 Im Mailheader und in den Kopfkommentaren der Scripts steht jetzt nur noch <i>Form E-Mail</i>, das Wort <i>patShaping</i> wurde entfernt.</li>
141 </ul>
142
143 <p><b>Neu in Version&nbsp;3.2.2</b> (vom 9.6.2006)</p>
144
145 <ul>
146 <li><b>Zeilenumbr&uuml;che ersetzen:</b><br />
147 S&auml;mtliche Zeilenumbr&uuml;che im Header und im Text der E-Mail werden nun durch die Zeilenumbruchsfolge des Betriebssystems ersetzt, um Anzeigeprobleme in manchen E-Mail-Programmen (z.B. bei <i>The Bat!</i>) zu beheben (eigentlich sind es keine Probleme, die Zeilenumbr&uuml;che werden so dargestellt, wie das Programm sie zu Gesicht bekommt).</li>
148 <li><b>Anderer Statuscode bei Redirect nach Versand:</b><br />
149 Wenn nach dem Versand einer E-Mail ein Redirect ausgel&ouml;st werden soll, wird nun der Status-Code <tt>303</tt> an den Client zur&uuml;ckgegeben, damit dieser mit <tt>GET</tt> auf die URL zugreift.</li>
150 <li><b><code>{}</code> vs. <code>[]</code>:</b><br />
151 Eigentlich planten ja die PHP-Entwickler, dass man mit <code>{}</code> auf einzelne Zeichen einer Zeichenkette zugreifen kann und <code>[]</code> nicht mehr verwendet werden soll. Da das aber keiner gemacht hat, soll <code>{}</code> in PHP&nbsp;6 wieder rausfliegen (siehe <a href="http://www.php.net/~derick/meeting-notes.html#cleanup-for-vs" target="_blank">http://www.php.net/~derick/meeting-notes.html#cleanup-for-vs</a>) und man soll wieder <code>[]</code>. <i>Form E-Mail</i> wurde entsprechend angepasst, die &Auml;nderung nach <code>{}</code> war ohnehin unvollst&auml;ndig.</li>
152 </ul>
153
154 <p><b>Neu in Version&nbsp;3.2.1</b> (vom 18.6.2005)</p>
155
156 <ul>
157 <li><b>Keine &quot;Notices&quot; mehr:</b><br />
158 <i>Form E-Mail</i> sollte nun auch ordnungsgem&auml;&szlig; funktionieren, wenn f&uuml;r <code>error_reporting</code> der Wert <code>E_ALL</code> eingestellt wurde.</li>
159 <li><b>Template-Klasse aktualisiert:</b><br />
160 Die <a href="http://www.patshaping.de/redirector/redirect.php?page=template-class" target="_blank">Template-Klasse</a> wurde auf Version&nbsp;1.5a aktualisiert.</li>
161 <li><b>Verschiedene &Auml;nderungen:</b><br />
162 Es wurden verschiedene kleine &Auml;nderungen durchgef&uuml;hrt:
163 <ul>
164 <li>Die Funktion <code>sizeof()</code> wurde durch <code>count()</code> ersetzt. <code>sizeof()</code> ist n&auml;mlich ein Alias -&nbsp;und von der Verwendung von Aliasen wird abgeraten.</li>
165 <li>PHP bietet aus Gr&uuml;nden der Abw&auml;rtskompatibilit&auml;t an, auf einzelne Zeichen einer Zeichenkette wie auf die Elemente eines Arrays zuzugreifen. Das wird jetzt nicht mehr gemacht, stattdessen wird die moderne Variante mit geschweiften Klammern verwendet.</li>
166 <li>Wo es angebracht war, wurden doppelte Anf&uuml;hrungszeichen durch einfache ersetzt.</li>
167 </ul>
168 </li>
169 </ul>
170
171 <p><b>Neu in Version&nbsp;3.2</b> (vom 29.8.2004)</p>
172
173 <ul>
174 <li><b>Redirect nach Versand:</b><br />
175 <i>Form E-Mail</i> l&auml;sst sich jetzt wahlweise so einstellen, dass es nach dem Versand der Mail per HTTP-Redirect auf eine andere Seite umleitet.<br />
176 <b style="color:#FF0000">Achtung:</b> Ich habe zwar etwas eingebaut, was hier relative URLs in absolute umwandelt, um dem HTTP-Standard gerecht zu werden, aber ich garantiere nicht, dass diese Umwandlung immer einwandfrei funktioniert. Seien Sie bei relativen URLs also sehr vorsichtig und verwenden Sie im Fehlerfall absolute.</li>
177 <li><b>Maximall&auml;ngen:</b><br />
178 Zus&auml;tzlich zu den Mindestl&auml;ngen aus Version&nbsp;3.1 lassen sich f&uuml;r Name, Betreff und Text auch Maximall&auml;ngen angeben.</li>
179 <li><b>Absender-Adressen ohne Top-Level-Domain:</b><br />
180 Wenn man die neue Option <code>$no_tld</code> auf &quot;1&quot; setzt, kann man nun als Absender auch eine E-Mail-Adresse angeben, die keine Top-Level-Domain hat.</li>
181 <li><b>Konfiguration abgespalten:</b><br />
182 Die Konfigurationsvariablen wurden in die Datei <i>config.php</i> ausgelagert, was f&uuml;r etwas mehr &Uuml;bersicht sorgt.</li>
183 <li><b>Template-Klasse aktualisiert:</b><br />
184 Die <a href="http://www.patshaping.de/redirector/redirect.php?page=template-class" target="_blank">Template-Klasse</a> wurde auf die aktuelle Version&nbsp;1.3 aktualisiert.</li>
185 <li><b>Kleine Korrekturen:</b><br />
186 Am Quelltext wurden kleinere Korrekturen vorgenommen.</li>
187 </ul>
188
189 <p><b>Neu in Version&nbsp;3.1</b> (vom 20.1.2004)</p>
190
191 <ul>
192 <li><b>Immer noch Bug in E-Mail-Adressen-&Uuml;berpr&uuml;fung:</b><br />
193 Der regul&auml;re Ausdruck, der die E-Mail-Adressen auf syntaktische G&uuml;ltigkeit &uuml;berpr&uuml;ft, war immer noch fehlerhaft. Es gab immer noch E-Mail-Adressen, die das Script &uuml;berlasten konnten.</li>
194 <li><b>Mindestl&auml;ngen:</b><br />
195 Es ist jetzt m&ouml;glich, f&uuml;r Name, Betreff und Text Mindestl&auml;ngen anzugeben.</li>
196 <li><b>Alias-Empf&auml;nger:</b><br />
197 Es ist nun m&ouml;glich, &uuml;ber die Formulardaten einen einer oder mehreren Adressen zugeordneten Wert an <i>Form E-Mail</i> zu &uuml;bergeben. An die dem Wert zugeordneten Adressen wird die Mail dann gesendet.</li>
198 <li><b>Template-Klasse:</b><br />
199 <i>Form E-Mail</i> verwendet nun auch die <a href="http://www.patshaping.de/redirector/redirect.php?page=template-class" target="_blank">Template-Klasse</a>. Das sorgt f&uuml;r &Uuml;bersicht und f&uuml;r eine bessere Erweiterbarkeit.</li>
200 </ul>
201
202 <p><b>Neu in Version&nbsp;3.0</b> (vom 1.9.2003)</p>
203
204 <ul>
205 <li><b>Komplett neu programmiert:</b><br />
206 <i>Form E-Mail&nbsp;3.0</i> wurde von Grund auf neu programmiert, damit m&ouml;glichst viele Fehler, die ich anfangs machte (<i>Form E-Mail</i> war eines meiner ersten Scripts) ausgemerzt werden konnten.</li>
207 <li><b><code>$friendly_sender</code> erweitert:</b><br />
208 Die Option <code>$friendly_sender</code> kann jetzt den Wert &quot;2&quot; annehmen. Dadurch erscheint zus&auml;tzlich der Name des Absenders im E-Mail-Programm. Sollte der Name Zeichen enthalten, die nicht aus dem ASCII-Zeichensatz stammen, wird er mit Base64 codiert (s.u.).</li>
209 <li><b>Betreffcodierung erneuert:</b><br />
210 Die Betreffcodierung arbeitet nun hoffentlich endlich zuverl&auml;ssig, da sie nun Base64 verwendet. Mit der urspr&uuml;nglichen Quoted-Printable-Codierung gab es Probleme.</li>
211 <li><b>Mehrere Empf&auml;nger:</b><br />
212 Es ist nun m&ouml;glich, mehrere Empf&auml;nger f&uuml;r die Mail anzugeben.</li>
213 <li><b>Referer-&Uuml;berpr&uuml;fung:</b><br />
214 Der HTTP-Referer (also sozusagen die Seite, von der das Script aufgerufen wurde) kann nun auf Wunsch einem einfachen Test unterzogen werden: Wenn sich die Host-Angabe nicht in einer im Script definierten Positiv-Liste befindet, wird <i>Form E-Mail</i> mit einer Fehlermeldung beendet. Das ist n&uuml;tzlich, um daf&uuml;r zu sorgen, dass <i>Form E-Mail</i> nicht von fremden Homepages ausgenutzt wird.</li>
215 <li><b>Auf Wunsch nur <tt>POST</tt>:</b><br />
216 <i>Form E-Mail</i> l&auml;sst sich mit der neuen Option <code>$only_post</code> so einstellen, dass es nur mit der HTTP-Zugriffsmethode <tt>POST</tt> aufgerufen werden kann.</li>
217 <li><b>Vorlagen:</b><br />
218 Es wird nun mit Vorlagen gearbeitet. So kann man jetzt den Text der Mail mit einer Vorlage steuern und die Formularfelder bei einem Fehler mit den bereits eingegebenen Daten vorbelegen lassen.</li>
219 <li><b>Neue Zeitformatierung:</b><br />
220 Die Uhrzeit wird nun mit <code>strftime()</code> formatiert, was mehr Freiheiten zul&auml;sst. Leider gibt es hier bei neueren PHP-Versionen Probleme, da die Wochentage und Monatsnamen trotz deutscher Spracheinstellungen englisch werden.</li>
221 </ul>
222
223 <hr width="80%" noshade="noshade" />
224
225 <p align="center">Die Liste der &Auml;nderungen bis zur Version&nbsp;3.0 finden Sie auf der <a href="http://www.patshaping.de/redirector/redirect.php?page=form-email"><i>Form E-Mail</i>-Infoseite</a>!</p>
226
227 <hr width="80%" noshade="noshade" />
228
229 <p><a href="readme.htm">ReadMe-Datei</a></p>
230
231 <hr width="80%" noshade="noshade" />
232
233 <p style="font-size:8pt">&copy;&nbsp;2002-2012 Patrick Canterino</p>
234
235 <table border="0" cellspacing="0" style="font-size:8pt">
236 <tr>
237 <td>Homepage:</td>
238 <td><a href="http://www.patshaping.de/" target="_blank">http://www.patshaping.de/</a></td>
239 </tr>
240 <tr>
241 <td>E-Mail:</td>
242 <td><a href="mailto:patrick@patshaping.de">patrick@patshaping.de</a></td>
243 </tr>
244 </table>
245 </body>
246 </html>

patrick-canterino.de