Changeset 32007 in spip-zone


Ignore:
Timestamp:
Oct 10, 2009, 6:04:23 PM (10 years ago)
Author:
marcimat@…
Message:
  • Enregistrer l'ip lorsque les tickets ou commentaires sont anonymes…
  • rediriger le formulaire editer_ticket où on le demande
Location:
_plugins_/tickets
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/tickets/action/editer_ticket.php

    r31301 r32007  
    8080         * un statut different de 'ouvert' ne sera pas pris en compte tout simplement.
    8181         * Mais a la creation, on met rarement "resolu" !
     82         *
     83         * Cependant, lorsqu'on cree un ticket anonyme,
     84         * on stocke l'adresse ip ; cela peut servir pour filtrer des spam
    8285         */
     86        $ip = $id_auteur ? '' : $GLOBALS['ip'];
    8387        $statut = intval($id_auteur) ? 'redac' : 'ouvert';
    8488        $id_ticket = sql_insertq("spip_tickets", array(
     
    8690                'date' => date('Y-m-d H:i:s'),
    8791                'date_modif' => date('Y-m-d H:i:s'),
     92                'ip' => $ip,
    8893                'id_auteur' => $id_auteur));
    8994
  • _plugins_/tickets/base/tickets_install.php

    r28102 r32007  
    1616                        "statut"        => "varchar(10) DEFAULT '0' NOT NULL",
    1717                        "id_auteur"     => "bigint(21) NOT NULL",
     18                        "ip"    => "varchar(16) DEFAULT '' NOT NULL",
    1819                        "id_assigne"    => "bigint(21) NOT NULL",
    1920                        "exemple"       => "varchar(255) DEFAULT '' NOT NULL",
     
    4445                        "date"  => "datetime DEFAULT '0000-00-00 00:00:00' NOT NULL",
    4546                        "id_auteur"     => "bigint(21) NOT NULL",
     47                        "ip"    => "varchar(16) DEFAULT '' NOT NULL",
    4648                        "maj"   => "TIMESTAMP"
    4749        );
  • _plugins_/tickets/base/tickets_upgrade.php

    r28102 r32007  
    1818        }
    1919        if (version_compare($current_version,"0.2","<")){
    20                 //modifications de la table spip_tickets
    21                 sql_alter("TABLE spip_tickets ADD COLUMN jalon varchar(10) DEFAULT '' NOT NULL AFTER exemple");
    22                 sql_alter("TABLE spip_tickets ADD COLUMN version varchar(10) DEFAULT '' NOT NULL AFTER exemple");
    23                 sql_alter("TABLE spip_tickets ADD COLUMN composant varchar(40) DEFAULT '' NOT NULL AFTER exemple");
    24                 sql_alter("TABLE spip_tickets ADD COLUMN projet varchar(60) DEFAULT '' NOT NULL AFTER exemple");
    25                
     20                //modifications de la table spip_tickets,
     21                // ajout des champs jalon, version, composant, projet
     22                maj_tables('spip_tickets');
    2623                ecrire_meta($nom_meta_base_version,$current_version="0.2");
    2724        }
     
    3330                ecrire_meta($nom_meta_base_version,$current_version="0.6");
    3431        }
     32        if (version_compare($current_version,"0.7","<")){
     33                // ajout des champs ip
     34                maj_tables(array('spip_tickets', 'spip_tickets_forum'));
     35                ecrire_meta($nom_meta_base_version,$current_version="0.7");
     36        }       
    3537               
    36                 ecrire_metas();
    3738}
    3839
     
    4142        sql_drop_table("spip_tickets_forum");
    4243        effacer_meta($nom_meta_base_version);
    43         ecrire_metas();
    4444}
    4545
  • _plugins_/tickets/formulaires/editer_ticket.php

    r31996 r32007  
    3333                $valeurs['exemple'] = $exemple;
    3434        }
    35 
    3635        $valeurs['editable'] = $editable;
    3736        return $valeurs;
     
    5150
    5251        $erreurs = formulaires_editer_objet_verifier('ticket',$id_ticket,array('titre','texte'));
    53 
    5452        return $erreurs;
    5553}
     
    7977        if (!$retour) {
    8078                $message['redirect'] = parametre_url(parametre_url(self(),'id_ticket', $res['id_ticket']),'ticket','');
     79        } else {
     80                // sinon on utilise la redirection donnee.
     81                $message['redirect'] = parametre_url($retour, 'id_ticket', $res['id_ticket']);
    8182        }
     83       
    8284        return $message;
    8385}
  • _plugins_/tickets/formulaires/forum_ticket.php

    r31908 r32007  
    6666 */
    6767function formulaires_forum_ticket_traiter($id_ticket=''){
    68         global $visiteur_session;
     68
     69        $texte = _request("texte");
     70
     71        // on stocke l'ip lorsqu'on ne connait pas l'auteur du commentaire
     72        // ca peut servir pour de l'antispam
     73        $id_auteur = $GLOBALS['visiteur_session']['id_auteur'];
     74        $ip = $id_auteur ? '' : $GLOBALS['ip'];
    6975       
    70         $texte = _request("texte");
    71                
    72         $id_forum_ticket = sql_insertq("spip_tickets_forum",
    73                 array("id_ticket" => $id_ticket, "texte" => $texte, "id_auteur" => $visiteur_session['id_auteur'],  "date" => "NOW()"));
     76        $id_forum_ticket = sql_insertq("spip_tickets_forum", array(
     77                        "id_ticket" => $id_ticket,
     78                        "texte" => $texte,
     79                        "id_auteur" => $id_auteur,
     80                        "ip" => $ip,
     81                        "date" => "NOW()"));
    7482
    7583        // Invalider les caches
  • _plugins_/tickets/plugin.xml

    r31996 r32007  
    1010        <icon>imgs/logo-bugs.png</icon>
    1111
    12         <version>1.61</version>
    13         <version_base>0.6</version_base>
     12        <version>1.62</version>
     13        <version_base>0.7</version_base>
    1414        <etat>stable</etat>
    1515
Note: See TracChangeset for help on using the changeset viewer.