Ignore:
Timestamp:
11/02/12 19:18:34 (7 years ago)
Author:
kent1
Message:

Une première notification d'institution des signalement qui fonctionne.

Le texte est peut être à revoir.

On permet de modérer le signalement directement depuis le mail...

On ajoute une config pour savoir quels admins reçoivent les emails de notif de signalement et on utilise le pipeline notifications_destinataires pour les prendre en compte

Location:
plugins_spip/signalement/trunk
Files:
5 added
1 deleted
7 edited

Legend:

Unmodified
Added
Removed
  • plugins_spip/signalement/trunk/action/editer_signalement.php

    r7042 r7049  
    7878        $champs = array();
    7979        spip_log($id_parent,'elix');
    80         $champs['statut'] = 'publie';
     80        $champs['statut'] = 'prop';
    8181        $champs['date'] = date('Y-m-d H:i:s');
    8282        $champs['id_auteur'] = (is_null(_request('id_auteur'))?$GLOBALS['visiteur_session']['id_auteur']:_request('id_auteur'));
     
    9393       
    9494        $id = sql_insertq("spip_signalements", $champs);
    95         spip_log($id,'elix');
     95       
    9696        pipeline('post_insertion',
    9797                array(
     
    133133       
    134134        $statut_ancien = $statut = $row['statut'];
     135        if($statut_ancien == 'prop'){
     136                $c['statut'] = 'publie';
     137        }
    135138        $date_ancienne = $date = $row['date'];
    136139        $champs = array();
  • plugins_spip/signalement/trunk/formulaires/configurer_signalement.html

    r7048 r7049  
    3131                        <input type="text" class="texte text" name="depublier_seuil" maxlength="3" id="depublier_seuil" value="#ENV{depublier_seuil,5}" />
    3232                </li>
     33                <li class="editer editer_notif_publication[(#ENV**{erreurs}|table_valeur{notif_publication}|oui)erreur]">
     34                        <label for="notif_publication"><:signalement:label_notif_publication:></label>[
     35                        <span class='erreur_message'>(#ENV**{erreurs}|table_valeur{notif_publication})</span>]
     36                                <p class="explication"><:signalement:explication_notif_publication:></p>
     37                                <B_notif_publication>
     38                                <select id="notif_publication" name="notif_publication[]" multiple="multiple" size="10">
     39                                        <BOUCLE_notif_publication(AUTEURS){statut = 0minirezo}{email != ''}>
     40                                        <option value="#ID_AUTEUR"[(#ID_AUTEUR|in_array{#ENV{notif_publication,#ARRAY}}|oui)selected="selected"]>##ID_AUTEUR #NOM</option>
     41                                        </BOUCLE_notif_publication>
     42                                </select>
     43                                </B_notif_publication>
     44                </li>
    3345                [(#PLUGIN{mediabox}|oui)
    3446                <li class="editer editer_mediabox[(#ENV**{erreurs}|table_valeur{mediabox}|oui)erreur]">
  • plugins_spip/signalement/trunk/inc/email_notification_signalement.php

    r7043 r7049  
    3131                if ($t['statut'] == 'publie') # signelement publie
    3232                {
    33                         $url = generer_url_entite($id_signelement, 'signalement');
     33                        $url = generer_url_entite($t['id_objet'], $t['objet']);
    3434                }
    3535                else #  signalement modere, spam, poubelle direct ....
  • plugins_spip/signalement/trunk/lang/signalement_fr.php

    r7048 r7049  
    1111        // E
    1212        'explication_depublier_seuil' => 'À partir de combien d\'alertes un élément est automatiquement dépublié.',
     13        'explication_notif_publication' => 'Sélectionnez les administrateurs qui seront notifiés lors d\'un nouveau signalement. Si aucun n\'est sélectionné, tous les administrateurs seront notifiés.',
    1314        'explication_select_motifs' => 'Les motifs ci-dessous seront affichés dans un sélecteur afin de préciser la nature du signalement.',
    1415       
     
    2223        'info_aucun_signalement' => 'Aucun signalement',
    2324        'info_gauche_suivi_signalement' => 'Cette page vous permet de modérer les signalements réalisés sur le site',
     25        'info_moderation_deja_faite' => 'Le signalement #@id_signalement@ a déjà été modéré en "@statut@".',
     26        'info_moderation_lien_titre' => 'Modérer ce signalement depuis l\'espace privé',
     27        'info_moderation_confirmee_refuse' => 'Le signalement #@id_signalement@ a bien été invalidé',
    2428        'info_nb_signalements' => '@nb@ signalements',
    2529        'info_sans_motif' => 'Sans motif',
     
    3337        'label_mediabox_long' => 'Ne pas utiliser la MediaBox pour afficher le formulaire',
    3438        'label_motif' => 'Le motif de votre alerte',
     39        'label_notif_publication' => 'Qui est notifié lors d\'un nouveau signalement',
    3540        'label_select_motif' => 'Sélectionner votre motif',
    3641        'label_select_motifs' => 'Motifs à sélectionner',
     
    4146       
    4247        // M
     48        'mail_titre_signalement' => 'Signalement',
     49        'mail_lien_refuser_commentaire' => 'Invalider ce signalement',
     50        'mail_ne_repondez_pas' => 'Ne répondez pas à ce mail. L\'adresse du contenu de l\'alerte est :',
    4351        'motif_option_actes_danger' => 'Actes dangereux ou pernicieux (drogues, explosifs, suicides, mutilation...)',
    4452        'motif_option_enfants' => 'Maltraitance d\'enfants',
  • plugins_spip/signalement/trunk/notifications/signalement_poste.html

    r7043 r7049  
    1 [(#REM)
    2 
    3   Squelette
    4   (c) 2009 SPIP
    5   Distribue sous licence GPL
    6 
    7 ][(#HTTP_HEADER{Content-type: text/plain[; charset=(#CHARSET)]})]
    8 [[(#NOM_SITE_SPIP|textebrut)]] [<:forum:forum_forum:>][ (#TITRE|nettoyer_titre_email)]
    9 
    10 <:form_forum_message_auto:>
    11 
    12 [(#ENV{par_auteur})
    13 ][
    14 (#STATUT|=={publie}|oui)<:forum:forum_ne_repondez_pas:>][
    15 (#ENV{url}|url_absolue)]
    16 
    17 
    18 ** #TITRE **[
    19 (#TEXTE|textebrut)
    20 ]
    21 
    22 #FILTRE{supprimer_tags|filtrer_entites|trim}
     1[(#VAL{texte}|trouver_fond{emails/}|?{
     2        #INCLURE**{fond=emails/texte,sujet=#INCLURE**{fond=notifications/signalement_poste_html_sujet,env},html=#INCLURE**{fond=notifications/signalement_poste_html_corps,env}}
     3                                ,
     4        #INCLURE**{fond=notifications/signalement_poste_texte,env}
     5})]
  • plugins_spip/signalement/trunk/paquet.xml

    r7048 r7049  
    1919        <licence lien="http://www.gnu.org/licenses/gpl-3.0.html">GPL 3</licence>
    2020       
     21        <pipeline nom="pipeline_signalement_liste" />
    2122        <pipeline nom="declarer_tables_interfaces" inclure="base/signalement.php" />
    2223        <pipeline nom="declarer_tables_objets_sql" inclure="base/signalement.php" />
     
    2425        <pipeline nom="afficher_config_objet" inclure="signalement_pipelines.php" />
    2526        <pipeline nom="post_edition" inclure="signalement_pipelines.php" />
     27        <pipeline nom="notifications_destinataires" inclure="signalement_pipelines.php" />
     28       
     29        <necessite nom="notifications" compatibilite="[2.2.1;[" />
    2630       
    2731        <menu nom="signalements_reactions" titre="signalement:icone_suivi_signalements" parent="menu_activite" icone="images/signalement-16.png" action="controler_signalement" />
  • plugins_spip/signalement/trunk/signalement_pipelines.php

    r7048 r7049  
    3232        }
    3333        return $flux;
     34}
     35
     36function signalement_notifications_destinataires($flux){
     37        if($flux['quoi'] == 'instituersignalement'){
     38                include_spip('inc/config');
     39                if(is_array(lire_config('signalement/notif_publication')) AND count(lire_config('signalement/notif_publication')) > 0){
     40                        foreach(lire_config('signalement/notif_publication') as $id_auteur){
     41                                $flux['data'][] = sql_getfetsel('email','spip_auteurs','id_auteur='.intval($id_auteur));
     42                        }
     43                }else{
     44                        $admins = sql_select('email','spip_auteurs','statut='.sql_quote('0minirezo'));
     45                        while($admin = sql_fetch($admins)){
     46                                $flux['data'][] = $admin['email'];
     47                        }
     48                }
     49        }
     50        return $flux;   
    3451}
    3552
Note: See TracChangeset for help on using the changeset viewer.