Email2img (SPT-Tag): Unterschied zwischen den Versionen

Aus SiteparkWiki
Zur Navigation springen Zur Suche springen
 
(7 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt)
Zeile 9: Zeile 9:
  
 
==Beschreibung==
 
==Beschreibung==
Ersetzt E-Mail-Adressen durch Bilder. Diesem Tag kann mit dem Attribut <code>object</code> 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-<code><img></code>-Tags ausgetauscht. Zusätzlich werden E-Mail-Adressen, die mit einem mailto://-Link eingegeben wurden mit einem angegebenen Formular verlinkt.  
+
Ersetzt E-Mail-Adressen durch Bilder. Diesem Tag kann mit dem Attribut <code>object</code> ein Text übergeben werden, der nach E-Mail-Adressen durchsucht wird. Aus den, in diesem Text enthaltenen E-Mail-Adressen werden Bilder generiert. Die E-Mail-Adressen werden durch die Bilder mit HTML-<code><img></code>-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 <code>[[sp:textimage]]</code>.
 
Der Tag basiert auf Funktionen des Tags <code>[[sp:textimage]]</code>.
  
==Hinweis==
+
<div class="note">
Dieser Tag ist Bestandteil des Moduls "Proaktiver Spamschutz" und muss über dieses freigeschaltet werden.
+
'''Hinweis:''' Dieser Tag ist Bestandteil des Moduls "Proaktiver Spamschutz" und muss über dieses freigeschaltet werden.
 +
</div>
 +
 
 +
<div class="note">
 +
'''Hinweis:''' Die Technik dieses Tags kann die Anforderung an Responsives-Design nicht erfüllen. Hierfür sollte der Tag [[Encryptemail (SPT-Tag)]] verwendet werden.
 +
</div>
  
 
==Attribute==
 
==Attribute==
{| class="prettytable"
+
{| class="prettytable sortable"
 
|- class="hintergrundfarbe1"
 
|- class="hintergrundfarbe1"
 
! Name || Type || Required || Default || ab IES Version
 
! Name || Type || Required || Default || ab IES Version
Zeile 54: Zeile 59:
 
| [[Text]]
 
| [[Text]]
 
| Nein
 
| Nein
| 000000
+
| Wert von <code>color</code>
 
| 2
 
| 2
 
|-
 
|-
Zeile 177: Zeile 182:
  
 
;<code>fontsize</code>
 
;<code>fontsize</code>
:Schriftgrösse, die für den E-Mail-Text in dem generierten Bild verwendet werden soll.
+
:Schriftgröße, die für den E-Mail-Text in dem generierten Bild verwendet werden soll.
  
 
;<code>fontweight</code>
 
;<code>fontweight</code>
Zeile 190: Zeile 195:
  
 
;<code>onclick</code>
 
;<code>onclick</code>
:JavaScript-Funktion nach dem Klick auf eine E-Mail-Adresse ausgeführt werden soll.
+
:JavaScript-Funktion die nach dem Klick auf eine E-Mail-Adresse ausgeführt werden soll.
  
 
;<code>popupwidth</code>
 
;<code>popupwidth</code>
Zeile 196: Zeile 201:
  
 
;<code>popupheight</code>
 
;<code>popupheight</code>
:Breite des Popup-Fensters für das Kontaktformular.
+
:Höhe des Popup-Fensters für das Kontaktformular.
  
 
;<code>urlparam</code>
 
;<code>urlparam</code>
 
:Übergabe weiterer Parameter an das Kontaktformular. Mehrere Parameter werden über <code>&amp;amp;</code> getrennt (Beispiel: "peter=pan&amp;amp;donald=duck").
 
:Übergabe weiterer Parameter an das Kontaktformular. Mehrere Parameter werden über <code>&amp;amp;</code> getrennt (Beispiel: "peter=pan&amp;amp;donald=duck").
  
===weitere Parameter für das generierte Bild der E-Mailadresse im Mailformular:===
+
===Weitere Parameter für das generierte Bild der E-Mailadresse im Mailformular:===
  
 
;<code>color2</code>
 
;<code>color2</code>
Zeile 218: Zeile 223:
  
 
;<code>fontsize2</code>
 
;<code>fontsize2</code>
:Schriftgrösse, die für den E-Mail-Text in dem generierten Bild für das Mailformular verwendet werden soll.
+
:Schriftgröße, die für den E-Mail-Text in dem generierten Bild für das Mailformular verwendet werden soll.
  
 
;<code>fontweight2</code>
 
;<code>fontweight2</code>
Zeile 299: Zeile 304:
 
   }
 
   }
 
    
 
    
 +
  // VORSICHT: ab PHP5.4 ist die Funktion hex2bin nativ vorhanden
 +
  // der Funktionscode hier darf dann NICHT implementiert werden
 
   function hex2bin($hexdata) {
 
   function hex2bin($hexdata) {
 
     $bindata = "";
 
     $bindata = "";
Zeile 325: Zeile 332:
 
[[Category:SPT-Tags]]
 
[[Category:SPT-Tags]]
 
[[Category:Qualität_des_Inhalts_prüfen]]
 
[[Category:Qualität_des_Inhalts_prüfen]]
[[Category:Qualität_der_Sprache_prüfen]]
 
 
[[Category:Qualität_des_Codes_prüfen]]
 
[[Category:Qualität_des_Codes_prüfen]]
 
[[Category:Beispiel_überarbeiten_testen]]
 
[[Category:Beispiel_überarbeiten_testen]]
 
</noinclude>
 
</noinclude>

Aktuelle Version vom 7. Mai 2015, 13:50 Uhr

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 den, 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.

Hinweis: Die Technik dieses Tags kann die Anforderung an Responsives-Design nicht erfüllen. Hierfür sollte der Tag Encryptemail (SPT-Tag) verwendet 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
linkcolor Text Nein Wert von color 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.
linkcolor
Schriftfarbe, die für den E-Mail-Text in dem generierten und verlinkten 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öße, 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 die nach dem Klick auf eine E-Mail-Adresse ausgeführt werden soll.
popupwidth
Breite des Popup-Fensters für das Kontaktformular.
popupheight
Höhe 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").

Weitere 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.
In der Standardinstallalation enthaltene Fonts sind:
  • Arial
  • Lucida
  • Verdana
  • Futura
fontsize2
Schriftgröße, 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.
Mögliche Werte sind:
  • plain
  • bold
  • italic

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);
  }
  
  // VORSICHT: ab PHP5.4 ist die Funktion hex2bin nativ vorhanden
  // der Funktionscode hier darf dann NICHT implementiert werden
  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
  ...
?>