Changeset 66098 in spip-zone


Ignore:
Timestamp:
Sep 20, 2012, 1:15:58 PM (8 years ago)
Author:
cedric@…
Message:

Permettre aux internautes de s’abonner (et se désabonner) par courriel à chaque discussion, au cas par cas, simplement, via une simple case à cocher (http://contrib.spip.net/Plugin-Comments-notes-de-developpement)
La fonctionnalité necessite le plugin notifications en v2.2.1 mini (qui gère la notification et le desabonnement)

Location:
_plugins_/comments/trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/comments/trunk/comments_fonctions.php

    r66089 r66098  
    7878
    7979/**
     80 * Charger la saisie du formulaire forum : declarer le champ 'notification' en plus
     81 * (seulement utilise si plugin notifications dispo)
     82 *
     83 * @param array $flux
     84 * @return array
     85 */
     86function comments_formulaire_charger($flux){
     87        if ($flux['args']['form']=='forum'){
     88                $flux['data']['notification']=1;
     89        }
     90        return $flux;
     91}
     92
     93/**
    8094 * Verifier la saisie dans le formulaire forum :
    8195 * login obligatoire
     
    139153                                set_request('ajouter_mot');
    140154                                set_request('id_forum');
     155                                set_request('notification');
    141156                        }
    142157                }
  • _plugins_/comments/trunk/formulaires/forum.html

    r66090 r66098  
    11<div class="formulaire_spip formulaire_forum ajax" id="formulaire_forum">
    22
    3 [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
    4 [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
     3        [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
     4        [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
    55
    6 [(#ENV{login_forum_abo})
    7 <INCLURE{fond=formulaires/inc-login_forum_abo, env} />
    8 ]
     6        [(#ENV{login_forum_abo})
     7        <INCLURE{fond=formulaires/inc-login_forum_abo, env} />
     8        ]
    99
    10 [(#ENV{editable})
     10        [(#ENV{editable})
    1111
    1212
    13 [(#REM)
     13        [(#REM)
    1414        Bloc de previsualisation du forum envoye
    1515
     
    1818        forum
    1919
    20 ][<form action="#ENV{action}#formulaire_forum" method="post" class="preview">
    21         <div>
    22         [(#ACTION_FORMULAIRE{#ENV{action}})]
    23         <input type='hidden' name='titre' value="#ENV{titre}" />
    24         <input type='hidden' name='texte' value="#ENV{texte}" />
    25         <input type='hidden' name='url_site' value="#ENV{url_site}" />
    26         <input type='hidden' name='nom_site' value="#ENV{nom_site}" />
    27         [<input type="hidden" name="id_forum" value="(#ENV*{id_forum})" />]
    28         [(#INCLURE{fond=formulaires/inc-forum_ajouter_mot, ajouter_mot})]
    29         (#ENV*{erreurs}|table_valeur{previsu})
    30         </div>
    31 </form>]
     20        ][
     21        <form action="#ENV{action}#formulaire_forum" method="post" class="preview">
     22                <div>
     23                        [(#ACTION_FORMULAIRE{#ENV{action}})]
     24                        <input type='hidden' name='titre' value="#ENV{titre}"/>
     25                        <input type='hidden' name='texte' value="#ENV{texte}"/>
     26                        <input type='hidden' name='url_site' value="#ENV{url_site}"/>
     27                        <input type='hidden' name='nom_site' value="#ENV{nom_site}"/>
     28                        [<input type="hidden" name="id_forum" value="(#ENV*{id_forum})"/>]
     29                        [<input type="hidden" name="notification" value="(#ENV*{notification})"/>]
     30                        [(#INCLURE{fond=formulaires/inc-forum_ajouter_mot, ajouter_mot})]
     31                        (#ENV*{erreurs}|table_valeur{previsu})
     32                </div>
     33        </form>
     34        ]
    3235
    3336
    34 <form action="#ENV{action}#formulaire_forum" method="post" enctype='multipart/form-data'><div>
    35 [(#ACTION_FORMULAIRE{#ENV{action}})]
    36 [<input type="hidden" name="id_forum" value="(#ENV*{id_forum})" />]
    37 [<fieldset class="moderation_info">
    38         <legend><:forum:bouton_radio_modere_priori:></legend>
    39         <p class="explication">(#ENV{modere})<:comments:moderation_info:></p>
    40 </fieldset>]
     37        <form action="#ENV{action}#formulaire_forum" method="post" enctype='multipart/form-data'>
     38                <div>
     39                        [(#ACTION_FORMULAIRE{#ENV{action}})]
     40                        [<input type="hidden" name="id_forum" value="(#ENV*{id_forum})"/>]
     41                        [
     42                        <fieldset class="moderation_info">
     43                                <legend><:forum:bouton_radio_modere_priori:></legend>
     44                                <p class="explication">(#ENV{modere})
     45                                        <:comments:moderation_info:>
     46                                </p>
     47                        </fieldset>
     48                        ]
    4149
    42 [(#ENV**{afficher_texte}|choixsiegal{'non', ' ',''})
    43 [<input type="hidden" name="titre" value="(#ENV{titre})" />]
    44 <p class="spip_bouton"><input type="submit" class="submit" value="<:forum:forum_valider:>" /></p>]
     50                        [(#ENV**{afficher_texte}|choixsiegal{'non', ' ',''})
     51                        [<input type="hidden" name="titre" value="(#ENV{titre})"/>]
     52                        <p class="spip_bouton"><input type="submit" class="submit" value="<:forum:forum_valider:>"/></p>]
    4553
    46 [(#ENV**{afficher_texte}|choixsiegal{'non', '',' '})
     54                        [(#ENV**{afficher_texte}|choixsiegal{'non', '',' '})
    4755
    48         <INCLURE{fond=formulaires/inc-login_forum}{env} />
     56                        <INCLURE
     57                        {fond=formulaires/inc-login_forum}{env} />
    4958
    50         <fieldset>
    51                 <legend><:comments:saisie_texte_legend:></legend>
    52                 <input type="hidden" name="titre" id="titre"[ value="(#ENV{titre})"] />
    53         <ul>
    54         [(#CONFIG{forums_texte}|!={non}|?{
    55             <li class='editer saisie_texte[ (#ENV**{erreurs}|table_valeur{texte}|oui)erreur] obligatoire'>
    56                 <label for='texte'><:forum:forum_texte|typo:></label>
    57                 [<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{texte})</span>]
    58                 <textarea name="texte" id="texte" rows="12" cols="60"[(#HTML5|oui) required="required"][(#CONFIG{forums_afficher_barre}|=={non}|oui) class="no_barre"]>[(#ENV{texte})]</textarea>
    59                 <p class="explication saisie_texte_info"><:comments:saisie_texte_info:></p>
    60             </li>
    61         })]
    62             [<li class='saisie_mots_forum'>(#INCLURE{fond=formulaires/inc-forum_bloc_choix_mots}{table=#ENV*{table}}{ajouter_mot})</li>]
    63         </ul>
    64     </fieldset>
     59                        <fieldset>
     60                                <legend><:comments:saisie_texte_legend:></legend>
     61                                <input type="hidden" name="titre" id="titre"[ value="(#ENV{titre})"] />
     62                                <ul>
     63                                        [(#CONFIG{forums_texte}|!={non}|?{
     64                                        <li class='editer saisie_texte[ (#ENV**{erreurs}|table_valeur{texte}|oui)erreur] obligatoire'>
     65                                                <label for='texte'><:forum:forum_texte|typo:></label>
     66                                                [<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{texte})</span>]
     67                                                <textarea name="texte" id="texte" rows="12" cols="60"[(#HTML5|oui)
     68                                                required="required"][(#CONFIG{forums_afficher_barre}|=={non}|oui)
     69                                                class="no_barre"]>[(#ENV{texte})]</textarea>
     70                                                <p class="explication saisie_texte_info">
     71                                                        <:comments:saisie_texte_info:>
     72                                                </p>
     73                                        </li>
     74                                        })]
     75                                        [
     76                                        <li class='saisie_mots_forum'>
     77                                                (#INCLURE{fond=formulaires/inc-forum_bloc_choix_mots}{table=#ENV*{table}}{ajouter_mot})
     78                                        </li>
     79                                        ]
     80                                        [(#PLUGIN{notifications}|oui)
     81                                        #SET{name,notification}#SET{obli,''}#SET{defaut,1}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
     82                                        <li class="editer pleine_largeur editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">[
     83                                                <span class='erreur_message'>(#GET{erreurs})</span>
     84                                                ]<input type="hidden" name="#GET{name}" value="0" />
     85                                                #SET{val,1}
     86                                                <div class="choix">
     87                                                        <input type="checkbox" name="#GET{name}" class="checkbox" id="#GET{name}_#GET{val}" value="#GET{val}"[(#GET{val}|=={#ENV{#GET{name},#GET{defaut}}}|oui)checked="checked"] />
     88                                                        <label for="#GET{name}_#GET{val}"><:comments:label_notification:></label>
     89                                                </div>
     90                                        </li>
     91                                        ]
     92                                </ul>
     93                        </fieldset>
    6594
    66         [
    67                 <fieldset>
    68                         <legend><:medias:bouton_ajouter_document:></legend>
    69                         <ul>
    70                                 <li class='editer saisie_document_forum[ (#ENV**{erreurs}|table_valeur{document_forum}|oui)erreur]'>
    71                                 [<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{document_forum})</span>]
    72                                 <input type="hidden" name="cle_ajouter_document" value="(#ENV{cle_ajouter_document})" />
    73                                 [<div id="ajouter_document_up">(#ENV{ajouter_document})
    74                                 <label for="supprimer_document_ajoute"><input type='checkbox' name='supprimer_document_ajoute' id='supprimer_document_ajoute' />
    75                                 <:lien_supprimer:></label>
    76                                 </div>]
    77                                 <div>
    78                                 [<label for="ajouter_document">(#ENV{formats_documents_forum}|join{', '})</label>]
    79                                 <input class='file' type="file" name="ajouter_document" id="ajouter_document"[
    80                                 accept="(#ENV{formats_documents_forum}|join{','})"] />
    81                                 </div>
     95                        [
     96                        <fieldset>
     97                                <legend><:medias:bouton_ajouter_document:></legend>
     98                                <ul>
     99                                        <li class='editer saisie_document_forum[ (#ENV**{erreurs}|table_valeur{document_forum}|oui)erreur]'>
     100                                                [<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{document_forum})</span>]
     101                                                <input type="hidden" name="cle_ajouter_document" value="(#ENV{cle_ajouter_document})"/>
     102                                                [
     103                                                <div id="ajouter_document_up">(#ENV{ajouter_document})
     104                                                        <label for="supprimer_document_ajoute"><input type='checkbox' name='supprimer_document_ajoute'
     105                                                                                                      id='supprimer_document_ajoute'/>
     106                                                                <:lien_supprimer:>
     107                                                        </label>
     108                                                </div>
     109                                                ]
     110                                                <div>
     111                                                        [<label for="ajouter_document">(#ENV{formats_documents_forum}|join{', '})</label>]
     112                                                        <input class='file' type="file" name="ajouter_document" id="ajouter_document"[
     113                                                        accept="(#ENV{formats_documents_forum}|join{','})"] />
     114                                                </div>
    82115
    83                                 <script type='text/javascript'>/*<!\[CDATA\[*/
    84                                 if (window.jQuery) jQuery(function(){
    85                                         jQuery('#ajouter_document_up')
    86                                         .next().hide()
    87                                         .prev().find(':checkbox').bind('change', function(){
    88                                                 jQuery('#ajouter_document_up').hide().next().show();
    89                                         });
    90                                 });
    91                                 /*\]\]>*/</script>
    92                                 </li>
    93                         </ul>
    94                 </fieldset>
     116                                                <script type='text/javascript'>/*<!\[CDATA\[*/
     117                                                if (window.jQuery) jQuery(function (){
     118                                                        jQuery('#ajouter_document_up')
     119                                                                .next().hide()
     120                                                                .prev().find(':checkbox').bind('change', function (){
     121                                                                        jQuery('#ajouter_document_up').hide().next().show();
     122                                                                });
     123                                                });
     124                                                /*\]\]>*/</script>
     125                                        </li>
     126                                </ul>
     127                        </fieldset>
     128                        ]
     129
     130                        [(#REM) Piege a robots spammeurs ]
     131                        <p style="display: none;">
     132                                <label for="nobot_forum"><:antispam_champ_vide:></label>
     133                                <input type="text" class="text" name="nobot" id="nobot_forum" value="#ENV{nobot}" size="10"/>
     134                        </p>
     135                        <p class="boutons"><input type="submit" class="submit" value="<:comments:submit1:>"/></p>
     136                        ]
     137                </div>
     138        </form>
    95139        ]
    96 
    97         [(#REM) Piege a robots spammeurs ]
    98         <p style="display: none;">
    99                 <label for="nobot_forum"><:antispam_champ_vide:></label>
    100                 <input type="text" class="text" name="nobot" id="nobot_forum" value="#ENV{nobot}" size="10" />
    101         </p>
    102         <p class="boutons"><input type="submit" class="submit" value="<:comments:submit1:>" /></p>
    103 ]
    104140</div>
    105 </form>
    106 ]
    107 </div>
  • _plugins_/comments/trunk/lang/comments_fr.php

    r66010 r66098  
    4040        'label_url' => 'Votre site web',
    4141        'lien_suivre_commentaires' => 'Suivre les commentaires&nbsp;:',
     42        'label_notification' => 'Prévenez moi de tous les nouveaux commentaires par email.',
    4243
    4344        // M
  • _plugins_/comments/trunk/paquet.xml

    r66090 r66098  
    22        prefix="comments"
    33        categorie="communication"
    4         version="3.1.6"
     4        version="3.2.0"
    55        etat="test"
    66        compatibilite="[3.0.0;3.0.*]"
     
    2222
    2323        <necessite nom="forum" compatibilite="[1.7.0;]" />
     24        <utilise nom="notifications" compatibilite="[2.2.1;]" />
    2425
    2526        <utilise nom='Zpip' compatibilite="[;]" />
    26     <utilise nom='Z' compatibilite="[;]" />
     27        <utilise nom='Z' compatibilite="[;]" />
    2728   
    2829        <pipeline nom="autoriser" inclure="comments_fonctions.php" />
    2930        <pipeline nom="insert_head_css" inclure="comments_fonctions.php" />
     31        <pipeline nom="formulaire_charger" inclure="comments_fonctions.php" />
    3032        <pipeline nom="formulaire_verifier" inclure="comments_fonctions.php" />
    3133        <pipeline nom="formulaire_traiter" inclure="comments_fonctions.php" />
Note: See TracChangeset for help on using the changeset viewer.