Email2img (SPT-Tag)

Aus SiteparkWiki
Zur Navigation springen Zur Suche springen

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.

Der Tag basiert auf Funktionen des Tags sp:textimage.

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
color2 Text Nein Wert von color 2
bgcolor2 Text Nein Wert von bgcolor 2
font2 Text Nein Wert von font 2
fontsize2 Number Nein Wert von fontsize 2
fontweight2 Text Nein Wert von fontweight 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 &amp; getrennt (Beispiel: "peter=pan&amp;donald=duck").

Parameter für das generierte Bild der E-Mailadresse im Mailformular:

color2
Schriftfarbe, die für den E-Mail-Text in dem generierten Bild für das Mailformular verwendet werden soll.
bgcolor2
Hintergrundfarbe, die für den E-Mail-Text in dem generierten Bild für das Mailformular verwendet werden soll.
font2
Schriftart, die für den E-Mail-Text in dem generierten Bild für das Mailformular verwendet werden soll.
fontsize2
Schriftgrösse, die für den E-Mail-Text in dem generierten Bild für das Mailformular verwendet werden soll.
fontweight2
Schriftstyle, die für den E-Mail-Text in dem generierten Bild für das Mailformular verwendet werden soll.

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&amp;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
  ...
?>