"copied"
[mailer.git] / 0.2.1-FINAL / DOCS / en / TEMPLATES.txt
1 0. Themenuebersicht
2 ===================
3
4 1. Neuartiges Template-System bei der MXChange-Engine:
5 2. Wichtige Aenderung am gesamten Template-System:
6 3. Sicherheitsgefaehrende Zeichen quoten
7
8 [--- --- --- --- --- --- ---]
9
10 1. Neuartiges Template-System bei der MXChange-Engine:
11 ======================================================
12
13 Das neue Template-System umgeht endlich den Umweg mit den normalen Variablen,
14 die vom eval()-Befehl ge-eval-t werden (also ausgefuehrt werden). Es koennen
15 nun Konstanten direkt eingebunden werden:
16
17 Vor und nach der einzubindenen Konstante muss ein {-- bzw. --} als Abschluss
18 gesetzt werden. Diese werden von LOAD_TEMPLATE() entsprechend umgewandelt in
19 ". und ." (Anfuehrungszeichen-Punkt und andersrum).
20
21 Die modules.php wierrum sichert die geposteten Daten gegen evaige Angriffe ab
22 (beispielsweise das Einbinden der MySQL-Daten), indem es das Dollarzeichen und
23 die normalen und geschwungenen Klammern quotet.
24
25 Hier ein Beispiel: (Leerstellen nach {-- bzw. vor --} sind nicht noetig!)
26
27 _WIRD_NICHT_EINGEBUNDEN {--_ABER_DIESE_KONSTANTE_SCHON--}
28
29 Wird Fehler verursachen:
30 {--_ABSCHLUSS_FEHLT
31
32 oder auch:
33 _ANFANG_FEHLT--}
34
35 Achten Sie also darauf, dass diese Template-Klammern als Paar auftreten!
36
37 [--- --- --- --- --- --- ---]
38
39 2. Wichtige Aenderung am gesamten Template-System:
40 ===================================================
41
42 Seit Version v0.2.0-pre4 habe ich etwas dateitechnisches am Template-System
43 geaendert:
44
45 Alle Dateien im Verzeichnis templates/ und templates/emails/ sind umbenannt
46 und in neue Verzeichnisse verschoben.
47
48 Ein paar Beispiele:
49
50 - templates/guest_header.tpl.de ist nach templates/de/html/guest_header.tpl
51   verschoben worden.
52
53 - templates/emails/done-admin.tpl.de ist nach templates/de/emails/done-admin.tpl
54   verschoben worden.
55
56 Die Doppelendung der Datei entfaellt also und ist stattdessen als Verzeichnis-
57 name realisiert. Damit stehen allen weiteren Sprachen Tuer und Tor offen/
58
59 Wenn Sie eine aeltere Version als v0.2.0-pre4 besitzen, so koennen Sie gerne das
60 gesamte templates-Verzeichnis (inklusive emails-Verzeichnis) an mich senden und
61 ich wandle dann die Dateinamen um.
62
63 Verwenden Sie dazu einfach diese Adresse: webmaster@mxchange.org
64
65 Da ich hier einfach alles enpacke und nur kurz ein Shell-Script starte, kostet
66 diese Umwandlung Ihnen nichts. Selbstverstaendlich gebe ich Ihre Aenderungen
67 nicht an Dritte weiter.
68
69 [--- --- --- --- --- --- ---]
70
71 3. Sicherheitsgefaehrende Zeichen quoten
72 =========================================
73
74 In modules.php von Zeile 48 bis 73 (veraltet; vielleicht lagern wir diese noch
75 aus? hmmm...) befindet sich ein Absicherungsmechanismus. Dieser verhindert, dass
76 sicherheitsgefaehrende Zeichen, wie $, (, ) usw. an das Script uebergeben
77 werden womit der Angreifer versuchen koennte, die MySQL-Daten beispielsweise
78 auszulesen.
79
80 Diese werden durch folgende "Templates" ersetzt:
81
82 Dollarzeichen = {DOLLAR_TAG}
83 Klammer-Auf   = {OPEN_TAG}
84 Klammer-Zu    = {CLOSE_TAG}
85 Template-Auf  = {OPEN_TEMPLATE} (damit ist {-- gemeint!)
86 Template-Zu   = {CLOSE_TEMPLATE} (damit ist --} gemeint!)
87
88 Neu sind (v0.0.8 mit neusten Patches):
89 Abostrof (')  = {QUOT}
90 Prozent (%)   = {PER}
91 Semikolon (;) = {SEMI}
92
93 Diese "Templates" werden nach dem eval()-Befehl in der LOAD_TEMPLATES()-
94 Funktion wieder gegen ihre urspruenglichen Zeichen ausgetauscht (damit diese
95 zwar vom Mitglied eingebbar aber vor dem eval()-Befehl abgesichert sind).
96
97 Der Slash (/) und der Punkt (.) werden ge-quot-et (\ davor gesetzt!)
98
99 [EOF]