Email2img (SPT-Tag)
Name
<spt:email2img> (ab Version 2.0) - Ersetzt E-Mail-Adressen durch Bilder
Syntax
<spt:email2img name="imgtext" object="sp_contact"/>
Beschreibung
Ersetzt E-Mail-Adressen durch Bilder. Diesem Tag kann mit dem Attribut object
ein Text übergeben werden, der nach E-Mail-Adressen durchsucht wird. Aus dem, in diesem Text enthaltenen E-Mail-Adressen werden Bilder generiert. Die E-Mail-Adressen werden durch die Bilder mit HTML-<img>
-Tags ausgetauscht. Zusätzlich werden E-Mail-Adressen, die mit einem mailto://-Link eingegeben wurden mit einem angegebenen Formular verlinkt.
Hinweis
Dieser Tag ist Bestandteil des Moduls "Proaktiver Spamschutz" und muss über dieses freigeschaltet werden.
Attribute
Name | Type | Required | Default | ab IES Version |
---|---|---|---|---|
name
|
Variable | Ja | None | 2 |
object
|
Attribute | Ja | None | 2 |
alt
|
Text | Nein | geschützte E-Mail-Adresse als Grafik | 2 |
title
|
Text | Nein | E-Mail-Adresse - zum Kontaktformular bitte klicken ... | 2 |
color
|
Text | Nein | 000000 | 2 |
bgcolor
|
Text | Nein | FFFFFF | 2 |
font
|
Text | Nein | Arial | 2 |
fontsize
|
Number | Nein | 12 | 2 |
fontweight
|
Text | Nein | plain | 2 |
form
|
Text | Nein | None | 2 |
onclick
|
Text | Nein | Ja, wenn popupwidth und popupheight angegeben sind:window.name='sp';window.open( this.href, '${popupwidth}x${popupheight}', 'width=${popupwidth},height=${popupheight},scrollbars=yes'); return false; |
2 |
popupwidth
|
Number | Nein | None | 2 |
popupheight
|
Number | Nein | None | 2 |
urlparam
|
Text | Nein | None | 2.0.1 |
name
- Variable, in der der ersetzte Text abgelegt wird.
object
- Objekt das den zu ersetzenden Text enhält.
alt
- Alternativtext der in die
alt
-Attribute der<img>
-Tags eingetragen wird.
title
- Alternativtext der in die
title
-Attribute der<img>
-Tags eingetragen wird.
color
- Schriftfarbe, die für den E-Mail-Text in dem generierten Bild verwendet werden soll.
bgcolor
- Hintergrundfarbe, die für den E-Mail-Text in dem generierten Bild verwendet werden soll.
font
- Schriftart, die für den E-Mail-Text in dem generierten Bild verwendet werden soll. In der Standardinstallalation enthaltene Fonts sind:
- Arial
- Lucida
- Verdana
- Futura
fontsize
- Schriftgrösse, die für den E-Mail-Text in dem generierten Bild verwendet werden soll.
fontweight
- Schriftstyle, die für den E-Mail-Text in dem generierten Bild verwendet werden soll. Mögliche Werte sind:
- plain
- bold
- italic
form
- Artikel, der das Kontaktformular bereitstellt.
onclick
- JavaScript-Funktion nach dem Klick auf eine E-Mail-Adresse ausgeführt werden soll.
popupwidth
- Breite des Popup-Fensters für das Kontaktformular.
popupheight
- Breite des Popup-Fensters für das Kontaktformular.
urlparam
- Übergabe weiterer Parameter an das Kontaktformular. Mehrere Parameter werden über
&
getrennt (Beispiel: "peter=pan&donald=duck").
Beispiele
spt:email2img mit Verknüpfung zum Kontaktformular
Template Quelltext
<spt:email2img name="tmp_text" object="sp_text" form="${!{information.contact}}"/>
<sp:print name="tmp_text"/>
Inhalt der Variable sp_text
<ul>
<li>
E-Mail-Adresse mit Link:<br/>
<a href="mailto:test@test.de">test@test.de</a>
</li>
<li>
E-Mail-Adresse ohne Link:<br/>
test@test.de
</li>
</ul>
Inhalt der Variable tmp_text
<ul>
<li>
E-Mail-Adresse mit Link:<br/>
<a
href="/kontakt.php?email=9a399467ec17059b6896ff5ec902d75c&emailImageUrl=%2Ftest.php.media%2Ftextimage%2F1443868664.png"
class="sp-mailto"
title="E-Mail-Adresse - zum Kontaktformular bitte klicken ..."
><img src="/test.php.media/textimage/1443868664.png" /></a>
</li>
<li>
E-Mail-Adresse ohne Link:<br/>
<img src="/test.php.media/textimage/1443868664.png"
alt="geschützte E-Mail-Adresse als Grafik"
style="vertical-align:bottom" />
</li>
</ul>
Beispielcode eines Kontaktformulars, welches über den Anker (hier: "information.contact") angegeben wurde
<!--
GET-Parameter des Aufrufs:
email = verschlüsselte E-Mail-Adresse
emailImageUrl = URL zum Bild
-->
<?php
$key = "238745991275901023489641"; // steht in der IES-Serverkonfiguration
$mode = MCRYPT_3DES;
function str_decrypt($encrypted_string) {
GLOBAL $key, $mode;
$td = mcrypt_module_open($mode, '', 'ecb', '');
$iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
mcrypt_generic_init($td, $key, $iv);
$encrypted_data = hex2bin($encrypted_string);
// decrypt
$decrypted_string = mcrypt_ecb ($mode, $key, $encrypted_data, MCRYPT_DECRYPT, $iv);
mcrypt_generic_deinit($td);
mcrypt_module_close($td);
return trim($decrypted_string);
}
function hex2bin($hexdata) {
$bindata = "";
for ($i = 0; $i < strlen( $hexdata ); $i += 2)
eval ('$bindata .= "\x' . substr( $hexdata, $i, 2 ) . '";');
return $bindata;
}
function is_email($lom_emailstrg) {
return ereg("^[_a-zA-Z0-9-]+(.[_a-zA-Z0-9-]+)*@([a-zA-Z0-9-]{2,})+(.[_a-zA-Z0-9-]+)*.([a-zA-Z0-9-]{2,4})$", $lom_emailstrg);
}
?>
<?php
$CRLF = "\n";
$mail_address = isset($_REQUEST['email']) ? str_decrypt($_REQUEST['email']) : "default-email@some-domain.com";
if (!is_email($mail_address)) die("<p><strong>Ungültiger Aufruf !</strong></p><br>Die Empfänger-Adresse ist ungültig.");
// Darstellung des Formulars bzw. Auswertung des Requests und Versand einer E-Mail
...
?>