Categories > TinyButStrong general (FR) >

Un plugin antispam ?

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs
By: patfrat
Date: 2006-09-19
Time: 11:53

Un plugin antispam ?

Comment mettre en place un plugin ou une syntaxe permettant d'encoder les emails sur une page html ? un peu comme avec le moteur de template smarty ...

J'aimerai en fait pouvoir écrire dans mon template :
[mailto;truc@much.com;truc] et que le texte 'truc' soit un lien mailto:truc@much.com encodé en javascript, ou en hexadécimal ou autre ...

Est-ce possible ? et comment ?
By: Skrol29
Date: 2006-09-19
Time: 12:09

Re: Un plugin antispam ?

Salut,

Il te suffit d'écrire ta propre fonction de codage, mais en la codant avec la sybtaxe TBS adéquate pour aller avec le paramètre onformat (voir doc).
Ainsi tu choisis les champs pour lesquels tu appliques cet encodage.
By: patfrat
Date: 2006-09-19
Time: 13:53

Re: Un plugin antispam ?

Ok merci, j'ai compris ... pas tout de suite mais j'ai compris.
il manque ce genre d'exemple sur le site pour éviter de bidouiller avant que çà marche.

Voilà comment j'ai fait :

function encode_email($FieldName,&$CurrVal)
{

   $string = 'document.write(\'<a href="mailto:'.$CurrVal.'">'.$CurrVal.'</a>\');';
    $js_encode = '';
    for ($x=0; $x < strlen($string); $x++) {
          $js_encode .= '%' . bin2hex($string[$x]);
    }
    $CurrVal = '<script type="text/javascript">eval(unescape(\''.$js_encode.'\'))</script>';
   
}

puis dans mon template, j'appelle la fonction comme ceci :

[var.email;onformat=encode_email;htmlconv=no]

htmlconv=no sinon je me retrouve avec les &lt et autres joyeusetés à la place des guillemets.

Bon, maintenant, y'a surement moyen d'améliorer çà pour prendre en compte du texte en plus de l'email.