Changeset 24123 in spip-zone


Ignore:
Timestamp:
Nov 9, 2008, 1:18:21 AM (11 years ago)
Author:
prigent.yohann@…
Message:

Refonte quasi totale du plugin, bon il reste encore des petites corrections !

Location:
_plugins_/_dev_/guestbook
Files:
1 added
4 deleted
3 edited
3 moved

Legend:

Unmodified
Added
Removed
  • _plugins_/_dev_/guestbook/base/guestbook.php

    r24121 r24123  
    1010         * 
    1111         **/
    12          
    13         global $tables_principales;
    14         global $tables_auxiliaires;
     12        if (!defined("_ECRIRE_INC_VERSION")) return;
     13        function guestbook_declarer_tables_principales($tables_principales){
     14                // La table pricipale où sont stockés les messages
     15                $spip_guestbook = array(
     16                        "id_message" => "BIGINT(21) NOT NULL auto_increment",
     17                        "message" =>  "TEXT",
     18                        "email" => "VARCHAR(255) DEFAULT '' NOT NULL",
     19                        "nom" => "VARCHAR(255) NOT NULL DEFAULT '0'",
     20                        "ville" => "BIGINT(21) NOT NULL",
     21                        "statut" => "VARCHAR(8) NOT NULL",
     22                        "ip" => "VARCHAR(255) NOT NULL",
     23                        "note" => "VARCHAR(255) NOT NULL",
     24                        "date"  => "DATETIME"
     25                );
     26                $spip_guestbook_key = array(
     27                        "PRIMARY KEY" => "id_message",
     28                        "KEY message" => "message",
     29                        "KEY email" => "email",
     30                        "KEY nom"       => "nom",
     31                        "KEY ville" => "ville",
     32                        "KEY statut" => "statut",
     33                        "KEY ip" => "ip",
     34                        "KEY note" => "note"
     35                );
    1536
    16         $spip_livre = array(
    17                                                 "id_messages" => "BIGINT(21) NOT NULL auto_increment",
    18                                                 "email" => "VARCHAR(255) NOT NULL",
    19                                                 "nom"   => "VARCHAR(255) NOT NULL",
    20                                                 "ville" => "VARCHAR(255) NOT NULL",
    21                                                 "maj"   => "DATETIME NOT NULL default '0000-00-00 00:00:00'",
    22                                                 "note"  => "VARCHAR(255) NOT NULL",
    23                                                 "texte" => "TEXT NOT NULL",
    24                                         );
    25         $spip_livre_key = array(
    26                                                 "PRIMARY KEY" => "id_messages"
    27                                         );
     37                $tables_principales['spip_guestbook'] = array(
     38                        'field' => &$spip_guestbook,
     39                        'key' => &$spip_guestbook_key
     40                );
     41                return $tables_principales;
     42        }
     43       
     44        function guestbook_declarer_tables_auxiliaires($tables_auxiliaires){   
     45                $spip_guestbook_reponses = array(
     46                        "id_reponse" => "BIGINT(21) NOT NULL auto_increment",
     47                        "id_message" => "BIGINT(21) NOT NULL",
     48                        "id_auteur" => "BIGINT(21) NOT NULL",
     49                        "message" =>  "TEXT",
     50                        "statut" => "VARCHAR(8) NOT NULL",
     51                        "date"  => "DATETIME",
     52                );
     53                $spip_guestbook_reponses_key = array(
     54                        "PRIMARY KEY" => "id_reponse",
     55                        "KEY id_message" => "id_message",
     56                        "KEY id_auteur" => "id_auteur",
     57                        "KEY message"   => "message",
     58                        "KEY statut" => "statut"
     59                );
    2860
    29         $spip_reponses_livre = array(
    30                                                 "id_reponses" => "BIGINT(21) NOT NULL auto_increment",
    31                                                 "id_messages" => "BIGINT(21) NOT NULL",
    32                                                 "date" => "DATETIME NOT NULL default '0000-00-00 00:00:00'",
    33                                                 "reponses" => "TEXT NOT NULL",
    34                                                 "nom" => "VARCHAR(255)  NOT NULL",
    35                                                
    36                                         );
    37         $spip_reponses_livre_key = array(
    38                                                 "PRIMARY KEY" => "id_reponses"
    39                                         );
    40 
    41 
    42         $tables_principales['spip_livre'] = array('field' => &$spip_livre, 'key' => &$spip_livre_key);
    43                
    44         $tables_principales['spip_reponses_livre'] = array('field' => &$spip_reponses_livre, 'key' => &$spip_reponses_livre_key);
    45                
    46                
    47 global $table_des_tables;
    48 $table_des_tables['livre'] = 'livre';
    49 $table_des_tables['reponses_livre'] = 'reponses_livre';
    50 
    51 
    52 $tables_jointures['spip_livre'][]= 'reponses_livres';
    53 $tables_jointures['spip_reponses_livres'][]= 'livre';
     61                $tables_auxiliaires['spip_guestbook_reponses'] = array(
     62                        'field' => &$spip_guestbook_reponses,
     63                        'key' => &$spip_guestbook_reponses_key
     64                );
     65                return $tables_auxiliaires;
     66        }
     67       
     68        function notation_declarer_tables_interfaces($interface){
     69                // definir les jointures possibles
     70                $interface['table_des_tables']['guestbook'] = 'guestbook';
     71                $interface['table_des_tables']['guestbook_reponses']  = 'reponses';
     72                $interface['tables_jointures']['spip_guestbook'][] = 'guestbook';
     73                $interface['tables_jointures']['spip_guestbook_reponses'][] = 'reponses';
     74                return $interface;
     75        }
     76       
    5477//
    5578// <BOUCLE(LIVRE)>
     
    5881                $boucle = &$boucles[$id_boucle];
    5982                $id_table = $boucle->id_table;
    60                 $boucle->from[$id_table] =  "spip_livre"; 
     83                $boucle->from[$id_table] =  "spip_guestbook";
    6184
    6285                        if (!$boucle->statut) {
  • _plugins_/_dev_/guestbook/exec/livre.php

    r22812 r24123  
    1717                exit;
    1818        }
    19         debut_page(_T('livre:livre'), "naviguer", "livre");
    20         debut_gauche();
    21         debut_raccourcis();
    22         icone_horizontale(_T('livre:creer_tables_mysql'), generer_url_ecrire("table"), '../'._DIR_PLUGIN_LIVRE.'/img_pack/sql.png', 'creer.gif');
    23         icone_horizontale(_T('livre:effacer_les_tables'), generer_url_ecrire("efface"), '../'._DIR_PLUGIN_LIVRE.'/img_pack/nosql.png', 'creer.gif');
    24         icone_horizontale(_T('livre:repondre_aux_messages'), generer_url_ecrire("livre_edition"), '../'._DIR_PLUGIN_LIVRE.'/img_pack/livredor.png', 'creer.gif');
    25         fin_raccourcis();
    26     debut_droite();
     19        debut_page(_T('livre:lelivre'), "", "");
     20        debut_javascript();
     21       
    2722        echo '<br />';
     23        echo '<div style="margin:auto; width :70%;">';
     24        debut_boite_info();
     25        echo gros_titre(_T('livre:lelivre'),"","");
     26        //ici les messages sans réponse avec appel du formulaire de réponse
     27        echo '<table width="70%"  style="margin:auto;" border="" cellspacing="0" cellpadding="2">';
     28        echo '<tr>';
     29        echo _T('guestbook:numero');
     30        echo _T('guestbook:texte');
     31        echo _T('guestbook:nom');
     32        echo _T('guestbook:date');
     33        echo _T('guestbook:repondre');
     34        echo '</tr>';
     35       
     36        $query = "SELECT * FROM spip_guestbook ORDER BY date DESC";
     37        $res = spip_query($query);
     38        while ($row =spip_fetch_array($res)){
     39        $id_messages= $row['id_messages'];
     40        $texte= $row['texte'];
     41        $nom= $row['nom'];
     42        $email= $row['email'];
     43        sscanf($row['maj'], "%4s-%2s-%2s", $annee, $mois, $jour);
     44       
     45        echo '<tr>';
     46        echo '<td>'.$id_messages.'</td>';
     47        echo '<td>'.$texte.'</td>';
     48        echo "<td><a href='mailto:".$email."'>".$nom."</a></td>";
     49        echo '<td>'.$jour.'/'.$mois.'/'.$annee.'</td>';
     50        echo "<td>";
     51        $sql2= spip_query("SELECT * FROM  spip_guestbook_reponses WHERE id_message='".$id_messages."'");
     52        while ($ask2= mysql_fetch_array($sql2))
     53        {
     54                $name= $ask2['nom'];
     55                $repons=$ask2['reponses'];
     56        echo $name.' a répondu  : <i>"'.$repons.'"</i><br />';
     57        }
     58        echo " <a href='?exec=repondre&id_message=".$id_messages."'>R&eacute;pondre</a></td>";
     59        echo '</tr>';           
     60        }
     61        //fin
     62        echo '</table>';
     63fin_boite_info();
     64echo '</div>';
    2865        fin_page();
    2966        }
  • _plugins_/_dev_/guestbook/formulaire_livre.html

    r22811 r24123  
    33 <BOUCLE_reponse(spip_reponses_livre){tout}{id_messages}>
    44  </BOUCLE_reponse> </BOUCLE_livre>
    5 <form action="#SELF" method="post"><fieldset class="spip_encadrer">
    6 <legend><:livre:livre_dor:></legend>
    7   <table width="76%" border="0" cellspacing="0" cellpadding="2">
    8     <tr>
    9       <td colspan="2">Ajouter un message dans le livre d'or</td>
    10     </tr>
    11     <tr>
    12       <td width="20%">Votre nom :</td>
    13       <td width="80%"><input type="text" name="nom"></td>
    14     </tr>
    15     <tr>
    16       <td>Votre email :</td>
    17       <td><input type="text" name="email"></td>
    18     </tr>
    19     <tr>
    20       <td>Votre ville :</td>
    21       <td><input type="text" name="ville"> </td>
    22     </tr>
    23     <tr>
    24       <td>Notez le site de 1 &agrave; 10</td>
    25       <td><input type="text" name="note" size="2"></td>
    26     </tr>
    27     <tr>
    28       <td>Votre texte</td>
    29       <td><textarea name="texte" cols="60" rows="5" ></textarea></td>
    30     </tr>
    31     <tr>
    32       <td>&nbsp;</td>
    33       <td><input type="submit" name="Submit" value="Envoyer"></td>
    34     </tr>
    35   </table></fieldset>
    36 </form>
    37 <?php
    38         /**
    39          * GuestBook
    40          *
    41          * Copyright (c) 2008
    42          * Bernard Blazin  http://www.libertyweb.info & Yohann Prigent (potter64)
    43          * http://www.plugandspip.com
    44          * Ce programme est un logiciel libre distribue sous licence GNU/GPL.
    45          * Pour plus de details voir le fichier COPYING.txt.
    46          * 
    47          **/
    48 
    49 include_spip('base/abstract_sql');
    50 $maj    = date('Y-m-d H:i:s');
    51 $nom    = $_POST['nom'];
    52 $ville  = $_POST['ville'];
    53 $email  = $_POST['email'];
    54 $note   = $_POST['note'];
    55 $texte  = $_POST['texte'];
    56 $texte=nl2br($texte);
    57 if($nom == ''){
    58       echo '';
    59 }   
    60 else {
    61 sql_insertq("spip_livre", array('email' => $email, 'nom' => $nom, 'ville' => $ville, 'maj' => $maj, 'note' => $note, 'texte' => $texte));
    62 echo"Merci de votre participation! Le message apparaitra dès que le webmaster aura répondu.";
    63 }               
    64        
    65 ?>
     5#FORMULAIRE_GUESTBOOK
  • _plugins_/_dev_/guestbook/lang/guestbook_fr.php

    r24121 r24123  
    1616        'confirm' => 'Confirmer !',
    1717// D
     18        'date' => '<td>Date</td>',
    1819        'destroy' => 'Destruction des tables',
    1920// E
     
    2829        "mercivp" => "Merci de votre participation! Le message apparaitra dès que le webmaster aura répondu.",
    2930// N
     31        'numero' => "<td>N&deg;</td>";
    3032        'note' => 'Note sur 10',
    31         'nom' => 'Nom',
     33        'nom' => '<td>Nom</td>',
    3234// R
     35        "repondre" => "<td>R&eacute;pondre</td>",
    3336        "repondremdl" => "Répondre aux messages du livre d'or",
    3437        "rienmis" => "Vous n'avez pas défini le nom ou le contenu du message. Veuillez rééssayer.",
    3538// T
    36         'texte' => 'Votre message',
     39        'message' => 'Votre message',
     40        'texte' => '<td>Texte</td>',
    3741// V
    3842        'valider' => 'Valider',
  • _plugins_/_dev_/guestbook/plugin.xml

    r23445 r24123  
    11<plugin>
    2         <nom>Plugin GuestBook</nom>
    3         <auteur>Bernard Blazin - Novembre 2006 &amp; Yohann Prigent - Septembre 2008</auteur>
    4         <version>1</version>
    5         <etat>dev</etat>
     2        <nom>
     3                GuestBook
     4        </nom>
     5        <auteur>
     6                Bernard Blazin - Novembre 2006 &amp; Yohann Prigent - Novembre 2008
     7        </auteur>
     8        <version>
     9                2.0
     10        </version>
     11        <version_base>
     12                2.0
     13        </version_base>
     14        <etat>
     15                dev
     16        </etat>
    617        <description>
    7         Un Livre d'or pour votre site Spip. Ce livre d'or fonctionne avec une table &#13;
    8         diff&eacute;rente des tables de SPIP, ce qui en fais un syst&egrave;me &agrave; part. &#13;
    9         Par contre il fonctionne avec les tables de SPIP
     18                Un Livre d'or pour votre site Spip. Ce livre d'or fonctionne avec une table &#13;
     19                diff&eacute;rente des tables de SPIP, ce qui en fais un syst&egrave;me &agrave; part. &#13;
     20                Par contre il fonctionne avec les tables de SPIP
    1021        </description>
    11         <fonctions>livre_fonctions.php</fonctions>
    12         <prefix>livre</prefix>
     22        <install>
     23                base/guestbook_upgrade.php
     24        </install>
     25        <lien>
     26                [Documentation->http://www.spip-contrib.net/Plugin-Guestbook]
     27        </lien>
     28        <fonctions>
     29                guestbook_fonctions.php
     30        </fonctions>
     31        <prefix>
     32                guestbook
     33        </prefix>
    1334        <pipeline>
    14                 <nom>header_prive</nom>
     35                <nom>
     36                        header_prive
     37                </nom>
     38        </pipeline>
     39        <pipeline>
     40                <nom>
     41                        declarer_tables_interfaces
     42                </nom>
     43                <inclure>
     44                        base/guestbook.php
     45                </inclure>
     46        </pipeline>
     47        <pipeline>
     48                <nom>
     49                        declarer_tables_principales
     50                </nom>
     51                <inclure>
     52                        base/guestbook.php
     53                </inclure>
     54        </pipeline>
     55        <pipeline>
     56                <nom>
     57                        declarer_tables_auxiliaires
     58                </nom>
     59                <inclure>
     60                        base/notation.php
     61                </inclure>
    1562        </pipeline>
    1663        <bouton id='livredor' parent='forum'>
    17                 <icone>img_pack/livredor.png</icone>
    18                 <titre>Livre d'or</titre>
    19                 <url>livre</url>
     64                <icone>
     65                        img_pack/livredor.png
     66                </icone>
     67                <titre>
     68                        Livre d'or
     69                </titre>
     70                <url>
     71                        livre
     72                </url>
    2073        </bouton>
    2174</plugin>
Note: See TracChangeset for help on using the changeset viewer.