Changeset 31394 in spip-zone


Ignore:
Timestamp:
Sep 7, 2009, 4:41:54 PM (10 years ago)
Author:
marcimat@…
Message:
  • petite révision de nospam : si un formulaire a déclaré un jeton, et qu'il n'a pas le champ «nobot», on lui ajoute.
Location:
_plugins_/nospam
Files:
2 added
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/nospam/nospam_pipelines.php

    r31221 r31394  
    1010$GLOBALS['formulaires_no_spam'][] = 'forum';
    1111
     12
     13/**
     14 * Ajouter le champ de formulaire 'nobot' au besoin
     15 *
     16 * @param array $flux
     17 * @return array
     18 */
     19function nospam_recuperer_fond($flux){
     20        // determiner le nom du formulaire
     21        $fond = $flux['args']['fond'];
     22        if (false !== $pos = strpos($fond, 'formulaires/')) {
     23                $form = substr($fond, $pos + 12);
     24                if (in_array($form, $GLOBALS['formulaires_no_spam'])){
     25                        // on ajoute le champ 'nobot' si pas present dans le formulaire
     26                        $texte = &$flux['data']['texte'];
     27                        if ((false === strpos($texte, 'name="nobot"'))
     28                        and (false !== $pos = strpos($texte, '</form>'))) {
     29                                $nobot = recuperer_fond("inclure/nobot", array('nobot'=>''));
     30                                $texte = substr_replace($texte, $nobot, $pos, 0);
     31                        }
     32                }
     33        }
     34        return $flux;
     35}
     36
    1237/**
    1338 * Ajouter un jeton temporaire lie a l'heure et a l'IP pour limiter la reutilisation possible du formulaire
     
    1843function nospam_formulaire_charger($flux){
    1944        $form = $flux['args']['form'];
    20         if (in_array($form,$GLOBALS['formulaires_no_spam'])){
     45        if (in_array($form, $GLOBALS['formulaires_no_spam'])){
    2146                include_spip("inc/nospam");
    2247                $jeton = creer_jeton($form);
     
    3459function nospam_formulaire_verifier($flux){
    3560        $form = $flux['args']['form'];
    36         if (in_array($form,$GLOBALS['formulaires_no_spam'])){
     61        if (in_array($form, $GLOBALS['formulaires_no_spam'])){
    3762                include_spip("inc/nospam");
    3863                $jeton = _request('_jeton');
    39                
    4064                // le jeton prend en compte l'heure et l'ip de l'internaute
    4165                if (_request('nobot') // trop facile !
  • _plugins_/nospam/plugin.xml

    r30657 r31394  
    44<icon>img_pack/nospam.png</icon>
    55<licence>(c) 2008 GPL</licence>
    6 <version>0.4</version>
     6<version>0.5</version>
    77<etat>stable</etat>
    88<description>Halte au spam ! Filtrez les spams dans les messages, sans nuisance pour les utilisateurs honn&ecirc;tes.</description>
     
    1111<pipeline>
    1212        <nom>pre_edition</nom>
     13        <inclure>nospam_pipelines.php</inclure>
     14</pipeline>
     15<pipeline>
     16        <nom>recuperer_fond</nom>
    1317        <inclure>nospam_pipelines.php</inclure>
    1418</pipeline>
Note: See TracChangeset for help on using the changeset viewer.