Hallo liebe Kollegen,
möchte gerne, dass die Standard (oder auch etwas anderes) Protection, welche ich generell im Setup habe,
config.spamProtectEmailAddresses = 3
config.spamProtectEmailAddresses_atSubst = (at)
auch mit der EXT JP_Staff funktioniert. Hat jemand schonmal daran gearbeitet. Im Moment werden die @ Zeichen von der EXT. so ausgegeben, wie sie im BE eingegeben werden. Ein Teil des EXT Codes als Beispiel:
if(!mail($rows["email"],$_POST["subject"],$_POST["message"], 'From: '.$_POST["name"].' <'.$_POST["emailfrom"].'>')) $send_error = TRUE;
wobei "email" dann der Eintrag in der SQL DB ist.
Leider entzieht sich mir der Mechanismus der Protection und deswegen würde ich mich über eine Anregung freuen, wie ich dort eine Protection realisieren kann.
Danke schonmal
Hier eine Methode mit der man in PHP sich die Spam Protected Emails bauen kann.
Ich selber kenne die Extension nicht, zumindest sagt sie mir imo nichts.
Aber evtl hilft Dir die Methode weiter und Du kannst Sie Dir ggf. anpaassen und in de Extension verbauen.
<?
function getMailTo($mailAddress,$linktxt,$initP='?') {
if(!strcmp($linktxt,'')) { $linktxt = $mailAddress; }
$mailToUrl = 'mailto:'.$mailAddress;
if ($GLOBALS['TSFE']->spamProtectEmailAddresses) {
$email_substr = $this->config['email_subst'] = $GLOBALS['TSFE']->tmpl->setup['config.']['spamProtectEmailAddresses_atSubst'];
$mailToUrl = "javascript:linkTo_UnCryptMailto('".$GLOBALS['TSFE']->encryptEmail($mailToUrl)."');";
$mailToUrl = str_replace('<','& lt;',$mailToUrl);
$linktxt = str_replace('@',$email_substr,$linktxt);
$lastDotLabel = $lastDotLabel ? $lastDotLabel : '[dot]';
$linktxt = preg_replace('/\.([^\.]+)$/', $lastDotLabel.'$1', $linktxt);
}
return array($mailToUrl,$linktxt);
}
?>
Die Methode wirst Du Dir sicher noch schlanker gestalten können , bzw. das brauchbare rausfiltern können.
EDIT: Zeile 8: Leerzeichen zwischen "&" und "l" musst Du entfernen !
JP_Staff ist eine wirklich nette EXT für eine Mitarbeiterverwaltung.
Name, Telefon, Bild, Position u.s.w.Aber das schönste ist eben ein Mailformular, welches sich öffnet (und nicht ein Mailprogramm !!!!).
Leider kann ich den Link, welcher zum Formular führt nicht ohne die vollständige Adresse inkl. @ Zeichen ausführen lassen.
Somit wird, obwohl zu einem Formular gelinkt wird, die Adresse erstmal sichtbar!
Beispiel:http://www.kastl-kollegen.com/index.php?id=16
Leider habe ich hier die meisten Funktionen (Bild,Position u.a. Angaben) aus dem EXT HTML Template schon rausgeschmissen, weil der Kunde das nur so haben möchte.
Ach ja ich vergaß!!hier läuft schon die T3 Version 4.0 :-)
Danke für den Code, werde mal schauen, ob ich das irgendwie verwenden kann ;-)
frohes Schaffen
$linktxt = preg_replace('/\.([^\.]+)$/', $lastDotLabel.'', $linktxt);
müsste:
$linktxt = preg_replace('/\.([^\.]+)$/', $lastDotLabel.'$ 1', $linktxt);
heißen.
leerzeichen zwischen $ und 1 entfernen. Das Forum hat hier wohl noch ein Bug 😉
zudem fehlt noch die Zeile:
$lastDotLabel = $this->config['lastDotLabel'] = $GLOBALS['TSFE']->tmpl->setup['config.']['spamProtectEmailAddresses_lastDotSubst'];
gleich nach
$email_substr = $this->config['email_subst'] = $GLOBALS['TSFE']->tmpl->setup['config.']['spamProtectEmailAddresses_atSubst'];