Changeset 101351 in spip-zone


Ignore:
Timestamp:
Dec 27, 2016, 3:59:25 PM (3 years ago)
Author:
teddy.spip@…
Message:
  • revoir le formulaire de configuration, application de classes ;
  • Faire en sorte sur le formulaire de configuration de récupérer les données saisies à l'affichage d'erreurs ;
  • Passer par la fonction lire_config au lieu de la GLOBALS. Cela permettra de suivre les évolutions éventuelles de SPIP à l'avenir ;
  • Eviter des warnings PHP ;
  • Renommer le répertoire prive/exec en prive/squelettes/contenu/ pour bénéficier du templating SPIP dans le BO.
  • Up de y. On pourra faire un merge avec la branches/v1 avant une grosse mise à jour.

TODO :

  • Consulter les alertes en court et celles qui devront être envoyées par spip_alertes_cron ;
  • Avoir un compteur d'alertes sur une page rubrique ;
  • Sur la page de consultation des alertes enregistrées, pouvoir filtrer par objet et id_objet.
Location:
_plugins_/alertes/trunk
Files:
1 added
10 edited
1 moved

Legend:

Unmodified
Added
Removed
  • _plugins_/alertes/trunk/alertes_administrations.php

    r101339 r101351  
    4545        sql_drop_table("spip_alertes");
    4646        sql_drop_table("spip_alertes_cron");
     47        effacer_meta('config_alertes');
    4748        effacer_meta($nom_meta_base_version);
    4849}
  • _plugins_/alertes/trunk/alertes_pipelines.php

    r101339 r101351  
    1414/*** Appel des CSS ***/
    1515function alertes_insert_head_css($flux) {
     16        include_spip('inc/utils');
     17        include_spip('inc/filtres');
    1618        $css = find_in_path("css/alertes.css");
    1719        $flux .= "<link rel='stylesheet' type='text/css' media='all' href='" . direction_css($css) . "' />\n";
     
    2325function alertes_taches_generales_cron($taches_generales) {
    2426        //Récuperation de la configuration
    25         $a = @unserialize($GLOBALS['meta']['config_alertes']);
     27        include_spip('inc/config');
     28        $a = lire_config('config_alertes');
    2629        if (is_array($a) AND intval($a['intervalle_cron']) > 1) {
    2730                $taches_generales['alertes'] = 60*intval($a['intervalle_cron']); // toutes les X minutes
     
    3134}
    3235
    33 /*** Alertes : envoie d'email lors de la publication d'un article ***/
     36/**
     37 * Alertes : envoie d'email lors de la publication d'un article
     38 * Attention à son utilisation avec le plugin Notifications qui utilise le pipeline notifications_destinataires.
     39 *
     40 * @param array $flux
     41 *
     42 * @return array
     43 */
    3444function alertes_notifications_destinataires($flux) {
    3545        $quoi = $flux['args']['quoi'];
     
    3747        $date_pour_envoi = $options['date'];
    3848        //Récuperation de la configuration
    39         $a = @unserialize($GLOBALS['meta']['config_alertes']);
     49        include_spip('inc/config');
     50        $a = lire_config('config_alertes');
    4051        //Est-ce que Accès restreint est activé ?
    41         $plugins = @unserialize($GLOBALS['meta']['plugin']);
     52        $plugins = lire_config('plugin');
    4253        if (is_array($plugins['ACCESRESTREINT'])) {
    4354                $acces_restreint = true;
     
    177188                        if ($a['rubriques']) {
    178189                                $rubriques = sql_select('id_rubrique', 'spip_articles',
    179                                         'id_article = ' . $id_article . '  AND id_rubrique IN(' . $a['rubriques'] . ')');
     190                                        'id_article = ' . $id_article . ' AND id_rubrique IN(' . $a['rubriques'] . ')');
    180191                                while ($rubrique = sql_fetch($rubriques)) {
    181192                                        //Qui est abonné à cette rubrique ?
     
    296307                        //Fin auteurs abonnables
    297308
    298                         //Maintenant, on gére l'envoi
     309                        // Maintenant, on gére l'envoi
    299310                        if (is_array($emails) AND sizeof($emails) > 0) {
     311                                include_spip('inc/utils');
    300312                                //Mode CRON ou direct ? Mode CRON d'office si la configuration autorise les articles publié post-daté.
    301313                                if (($a['mode_envoi'] == 'cron') || ($GLOBALS['meta']['post_dates'] == 'oui')) {
    302                                         //Mode CRON : on enregistre tout ça dans la table d'envois CRON dediée
     314                                        // Mode CRON : on enregistre tout ça dans la table d'envois CRON dediée
    303315                                        foreach ($emails as $id_auteur => $email) {
    304316                                                $ins_cron = sql_insertq('spip_alertes_cron', array(
     
    306318                                                        'id_objet' => $id_article,
    307319                                                        'objet' => 'article',
    308                                                         'date_pour_envoi' => $date_pour_envoi
     320                                                        'date_pour_envoi' => $date_pour_envoi,
    309321                                                ));
    310322                                        }
     
    326338                                                $sujet = recuperer_fond("alertes/sujet-email-alerte", array(
    327339                                                        'id_article' => $id_article,
    328                                                         'id_auteur' => $id_auteur
     340                                                        'id_auteur' => $id_auteur,
    329341                                                ));  // Sujet du mail aussi en template (dangereux mais pratique si on veut le customiser). Doit renvoyer du texte brut
    330342                                                //On n'envoie que si on a un contenu (présumé dans le corps du mail
     
    335347                                                        $corps = array(
    336348                                                                'html' => $html,
    337                                                                 'texte' => $texte
     349                                                                'texte' => $texte,
    338350                                                        );
    339351                                                        if ($ok = $envoyer_mail($email, $sujet, $corps)) {
  • _plugins_/alertes/trunk/formulaires/alerte.php

    r101339 r101351  
    1919        include_spip('base/abstract_sql');
    2020        //Recuperation de la conf' préalable
    21         $a = @unserialize($GLOBALS['meta']['config_alertes']);
     21        include_spip('inc/config');
     22        $a = lire_config('config_alertes');
    2223        if (!is_array($a)) {
    2324                $a = array();
  • _plugins_/alertes/trunk/formulaires/alertes_email.html

    r101339 r101351  
    1616                <div>
    1717                #ACTION_FORMULAIRE{#ENV{action}}
    18                 <ul>
     18                <ul class="editer-groupe">
    1919                [(#REM) Abonnement aux secteurs]
    2020                <B_alertes_secteurs>
    21                 <li class="fieldset">
     21                <li class="fieldset secteurs">
    2222                        <fieldset>
    2323                                <h3 class="legend"><:alertes:abo_sectors:></h3>
    24                                 <ul>
     24                                <ul class="editer-groupe">
    2525                                        #SET{erreurs,#ENV**{erreurs}|table_valeur{secteurs}}
    26                                         <li class="editer_secteurs[ (#GET{erreurs}|oui)erreur]">
     26                                        <li class="editer editer_secteurs[ (#GET{erreurs}|oui)erreur]">
    2727                                        <BOUCLE_alertes_secteurs(RUBRIQUES){tout}{racine}{id_secteur IN #CONFIG{config_alertes/secteurs}|to_array}>     
    2828                                        [(#REM) Accès restreint, on propose la rubrique que si elle est dans celles auquelles a accès l'auteur]                                 
     
    5050                [(#REM) Abonnements aux rubriques spécifiques]
    5151                <B_alertes_rubriques>
    52                 <li class="fieldset">
     52                <li class="fieldset rubriques">
    5353                        <fieldset>
    5454                                <h3 class="legend"><:alertes:abo_topics:></h3>
    55                                 <ul>
     55                                <ul class="editer-groupe">
    5656                                        #SET{erreurs,#ENV**{erreurs}|table_valeur{rubriques}}
    57                                         <li class="editer_rubriques[ (#GET{erreurs}|oui)erreur]">
     57                                        <li class="editer editer_rubriques[ (#GET{erreurs}|oui)erreur]">
    5858                                        <BOUCLE_alertes_rubriques(RUBRIQUES){tout}{id_rubrique IN #CONFIG{config_alertes/rubriques}|to_array}>
    5959                                                [(#REM) Accès restreint, on propose la rubrique que si elle est dans celles auquelles a accès l'auteur]
     
    8282                <B_groupes_mots>
    8383                        <li><h3 class="legend"><:alertes:abo_keywords:></h3></li>
    84                         <BOUCLE_groupes_mots(GROUPES_MOTS){tout}{id_groupe IN #CONFIG{config_alertes/groupes}|to_array}>
     84                        <BOUCLE_groupes_mots (GROUPES_MOTS){tout}{id_groupe IN #CONFIG{config_alertes/groupes}|to_array}>
    8585                        <B_mots>
    8686                        <li class="fieldset">
    8787                                <fieldset>
    8888                                        <h4 class="legend">#TITRE</h4>
    89                                         <ul>
     89                                        <ul class="editer-groupe">
    9090                                                #SET{erreurs,#ENV**{erreurs}|table_valeur{mots}}
    91                                                 <li class="editer_mots[ (#GET{erreurs}|oui)erreur]">
     91                                                <li class="editer editer_mots[ (#GET{erreurs}|oui)erreur]">
    9292                                                        <BOUCLE_mots(MOTS){tout}{id_groupe}>
    9393                                                        <div class="choix">
     
    106106                [(#REM) Abonnements aux auteurs]
    107107                <B_alertes_auteurs>
    108                 <li class="fieldset">
     108                <li class="fieldset auteurs">
    109109                        <fieldset>
    110110                                <h3 class="legend"><:alertes:abo_authors:></h3>
    111                                 <ul>
     111                                <ul class="editer-groupe">
    112112                                        #SET{erreurs,#ENV**{erreurs}|table_valeur{auteurs}}
    113                                         <li class="editer_auteurs">
     113                                        <li class="editer editer_auteurs">
    114114                                                <BOUCLE_alertes_auteurs(AUTEURS){tout}{id_auteur IN #CONFIG{config_alertes/auteurs}|to_array}>
    115115                                                <div class="choix">
  • _plugins_/alertes/trunk/formulaires/alertes_email.php

    r101339 r101351  
    1414        $id_auteur = intval($id_auteur);
    1515        //Récuperation de la configuration de base
    16         $a = @unserialize($GLOBALS['meta']['config_alertes']);
     16        include_spip('inc/config');
     17        $a = lire_config('config_alertes');
    1718        //A-t-on Accès restreint ?
    1819        $ar = filtre_info_plugin_dist('accesrestreint', 'est_actif');
     
    7778
    7879function formulaires_alertes_email_traiter_dist($id_auteur) {
    79         $a = @unserialize($GLOBALS['meta']['config_alertes']);
     80        include_spip('inc/config');
     81        $a = lire_config('config_alertes');
    8082        $now = date('Y-m-d h:i:s');
    8183        if (is_array($a)) {
  • _plugins_/alertes/trunk/formulaires/configurer_alertes.html

    r101339 r101351  
    1111                        <fieldset>
    1212                                <legend><:alertes:global_configuration:></legend>
    13                                 <ul>
     13                                <ul class="editer-groupe">
    1414                                        #SET{erreurs,#ENV**{erreurs}|table_valeur{activer_alertes}}
    15                                         <li class="editer_activer_alertes obligatoire[ (#GET{erreurs}|oui)erreur]">
    16                                                 <h3 class="label"><:alertes:alerts_activation:></h3>
     15                                        <li class="editer long_label editer_activer_alertes obligatoire[ (#GET{erreurs}|oui)erreur]">
     16                                                <label><:alertes:alerts_activation:></label>
    1717                                                <div class="choix">
    18                                                         <input type='radio' class="radio" name='activer_alertes' value='non' id='activer_alertes_non'[ (#ENV{activer_alertes}|!={oui}|oui)checked="checked"] />
     18                                                        <input type='radio' class="radio" name='activer_alertes' value='non' id='activer_alertes_non'[(#ENV{activer_alertes,non}|=={non}|oui)checked="checked"] />
    1919                                                        <label for='activer_alertes_non'><:alertes:no:></label>
    2020                                                </div>
    2121                                                <div class="choix">
    22                                                         <input type='radio' class="radio" name='activer_alertes' value='oui' id='activer_alertes_oui'[ (#ENV{activer_alertes}|=={oui}|oui)checked="checked"] />
     22                                                        <input type='radio' class="radio" name='activer_alertes' value='oui' id='activer_alertes_oui'[(#ENV{activer_alertes,non}|=={oui}|oui)checked="checked"] />
    2323                                                        <label for='activer_alertes_oui'><:alertes:yes:></label>
    2424                                                </div>
    2525                                        </li>
    2626                                        #SET{erreurs,#ENV**{erreurs}|table_valeur{mode_envoi}}
    27                                         <li class="editer_mode_envoi obligatoire[ (#GET{erreurs}|oui)erreur]">
    28                                                 <h3 class="label"><:alertes:sending_method:></h3>
     27                                        <li class="editer long_label editer_mode_envoi obligatoire[ (#GET{erreurs}|oui)erreur]">
     28                                                <label><:alertes:sending_method:></label>
    2929                                                <div class="choix">
    30                                                         <input type='radio' class="radio" name='mode_envoi' value='direct' id='mode_envoi_direct'[ (#ENV{mode_envoi}|!={cron}|oui)checked="checked"] />
    31                                                         <label for='mode_envoi_direct'><:alertes:send_directly:></label><span><:alertes:except_post_dated:></span>
     30                                                        <input type='radio' class="radio" name='mode_envoi' value='direct' id='mode_envoi_direct'[(#ENV{mode_envoi,direct}|=={direct}|oui)checked="checked"] />
     31                                                        <label for='mode_envoi_direct'><:alertes:send_directly:></label> <span><:alertes:except_post_dated:></span>
    3232                                                </div>
    3333                                                <div class="choix">
    34                                                         <input type='radio' class="radio" name='mode_envoi' value='cron' id='mode_envoi_cron'[ (#ENV{mode_envoi}|=={cron}|oui)checked="checked"] />
     34                                                        <input type='radio' class="radio" name='mode_envoi' value='cron' id='mode_envoi_cron'[ (#ENV{mode_envoi,direct}|=={cron}|oui)checked="checked"] />
    3535                                                        <label for='mode_envoi_cron'><:alertes:send_by_cron:></label>
    3636                                                </div>
    3737                                        </li>
    3838                                        #SET{erreurs,#ENV**{erreurs}|table_valeur{intervalle_cron}}
    39                                         <li class="editer_intervalle_cron obligatoire[ (#GET{erreurs}|oui)erreur]">
     39                                        <li class="editer long_label editer_intervalle_cron obligatoire[ (#GET{erreurs}|oui)erreur]">
    4040                                                <label for="intervalle_cron"><:alertes:intervalle_cron:></label>
    4141                                                [<span class='erreur_message'>(#GET{erreurs})</span>]
    42                                                 <input type='text' name='intervalle_cron' id='intervalle_cron' value="#ENV{intervalle_cron}" />                         
     42                                                <input type='text' class="text" name='intervalle_cron' id='intervalle_cron' value="#ENV{intervalle_cron,60}" />
    4343                                        </li>   
    4444                                        #SET{erreurs,#ENV**{erreurs}|table_valeur{nb_mails}}
    45                                         <li class="editer_nb_mails obligatoire[ (#GET{erreurs}|oui)erreur]">
     45                                        <li class="editer long_label editer_nb_mails obligatoire[ (#GET{erreurs}|oui)erreur]">
    4646                                                <label for="nb_mails"><:alertes:nb_mails:></label>
    4747                                                [<span class='erreur_message'>(#GET{erreurs})</span>]
    48                                                 <input type='text' name='nb_mails' id='nb_mails' value="#ENV{nb_mails}" />                             
     48                                                <input type='text' class="text" name='nb_mails' id='nb_mails' value="#ENV{nb_mails,30}" />
    4949                                        </li>
    5050                                </ul>
     
    5252                        <fieldset>
    5353                                <legend><:alertes:possible_subscription:></legend>
    54                                 <ul>
     54                                <ul class="editer-groupe">
    5555                                        #SET{erreurs,#ENV**{erreurs}|table_valeur{secteurs}}
    56                                         <li class="editer_secteurs[ (#GET{erreurs}|oui)erreur]">
     56                                        <li class="editer long_label editer_secteurs[ (#GET{erreurs}|oui)erreur]">
    5757                                                <label for="secteurs"><:alertes:id_sectors:> <:alertes:separated_by_comma:></label>
    5858                                                [<span class='erreur_message'>(#GET{erreurs})</span>]
    59                                                 <input type='text' name='secteurs' id='secteurs' value="#ENV{secteurs}" />
    60                                         </li>           
     59                                                <input type='text' class="text" name='secteurs' id='secteurs' value="#ENV{secteurs}" />
     60                                        </li>
    6161                                        #SET{erreurs,#ENV**{erreurs}|table_valeur{rubriques}}
    62                                         <li class="editer_rubriques[ (#GET{erreurs}|oui)erreur]">
     62                                        <li class="editer long_label editer_rubriques[ (#GET{erreurs}|oui)erreur]">
    6363                                                <label for="rubriques"><:alertes:id_topics:> <:alertes:separated_by_comma:></label>
    6464                                                [<span class='erreur_message'>(#GET{erreurs})</span>]
    65                                                 <input type='text' name='rubriques' id='rubriques' value="#ENV{rubriques}" />
    66                                         </li>                           
     65                                                <input type='text' class="text" name='rubriques' id='rubriques' value="#ENV{rubriques}" />
     66                                        </li>
    6767                                        #SET{erreurs,#ENV**{erreurs}|table_valeur{groupes}}
    68                                         <li class="editer_groupes[ (#GET{erreurs}|oui)erreur]">
     68                                        <li class="editer long_label editer_groupes[ (#GET{erreurs}|oui)erreur]">
    6969                                                <label for="groupes"><:alertes:id_keyword_groups:> <:alertes:separated_by_comma:></label>
    7070                                                [<span class='erreur_message'>(#GET{erreurs})</span>]
    71                                                 <input type='text' name='groupes' id='groupes' value="#ENV{groupes}" />
     71                                                <input type='text' class="text" name='groupes' id='groupes' value="#ENV{groupes}" />
    7272                                        </li>
    7373                                        #SET{erreurs,#ENV**{erreurs}|table_valeur{auteurs}}
    74                                         <li class="editer_auteurs[ (#GET{erreurs}|oui)erreur]">
     74                                        <li class="editer long_label editer_auteurs[ (#GET{erreurs}|oui)erreur]">
    7575                                                <label for="auteurs"><:alertes:id_authors:> <:alertes:separated_by_comma:></label>
    7676                                                [<span class='erreur_message'>(#GET{erreurs})</span>]
    77                                                 <input type='text' name='auteurs' id='auteurs' value="#ENV{auteurs}" />
     77                                                <input type='text' class="text" name='auteurs' id='auteurs' value="#ENV{auteurs}" />
    7878                                        </li>
    7979                                </ul>
  • _plugins_/alertes/trunk/formulaires/configurer_alertes.php

    r101339 r101351  
    99        return;
    1010}
     11include_spip('inc/utils');
    1112
    1213function formulaires_configurer_alertes_charger_dist() {
    1314        //Recuperation de la configuration préalable
    14         $a = @unserialize($GLOBALS['meta']['config_alertes']);
     15        include_spip('inc/config');
     16        $a = lire_config('config_alertes');
    1517        if (!is_array($a)) {
    1618                $a = array();
    1719        }
    18         //Chargement de la configuration
     20        // Chargement de la configuration
    1921        $valeurs = array(
    20                 'activer_alertes' => $a['activer_alertes'] ? $a['activer_alertes'] : 'non',
    21                 'groupes' => $a['groupes'] ? $a['groupes'] : '',
    22                 'secteurs' => $a['secteurs'] ? $a['secteurs'] : '',
    23                 'rubriques' => $a['rubriques'] ? $a['rubriques'] : '',
    24                 'auteurs' => $a['auteurs'] ? $a['auteurs'] : '',
    25                 'mode_envoi' => $a['mode_envoi'] ? $a['mode_envoi'] : 'direct',
    26                 'intervalle_cron' => $a['intervalle_cron'] ? $a['intervalle_cron'] : 60,
    27                 'nb_mails' => $a['nb_mails'] ? $a['nb_mails'] : 30,
     22                'activer_alertes' => (_request('activer_alertes')) ? _request('activer_alertes') : $a['activer_alertes'],
     23                'groupes' => (_request('groupes')) ? _request('groupes') : $a['groupes'],
     24                'secteurs' => (_request('secteurs')) ? _request('secteurs') : $a['secteurs'],
     25                'rubriques' => (_request('rubriques')) ? _request('rubriques') : $a['rubriques'],
     26                'auteurs' => (_request('auteurs')) ? _request('auteurs') : $a['auteurs'],
     27                'mode_envoi' => (_request('mode_envoi')) ? _request('mode_envoi') : $a['mode_envoi'],
     28                'intervalle_cron' => (_request('intervalle_cron')) ? _request('intervalle_cron') : $a['intervalle_cron'],
     29                'nb_mails' => (_request('nb_mails')) ? _request('nb_mails') : $a['nb_mails'],
    2830        );
    2931
     
    6062        ));
    6163        //Sauvegarde dans les meta
     64        include_spip('inc/meta');
    6265        ecrire_meta('config_alertes', $a);
    6366        $res = array('message_ok' => _T('alertes:alerts_configuration_message_ok'));
  • _plugins_/alertes/trunk/genie/alertes.php

    r101339 r101351  
    1616        $now = date('Y-m-d H:i:s');
    1717        //Récupération de la configuration
    18         $a = @unserialize($GLOBALS['meta']['config_alertes']);
     18        include_spip('inc/config');
     19        $a = lire_config('config_alertes');
    1920        //Est-ce que Accès restreint est activé ?
    20         $plugins = @unserialize($GLOBALS['meta']['plugin']);
     21        $plugins = lire_config('plugin');
    2122        if (is_array($plugins['ACCESRESTREINT'])) {
    2223                $acces_restreint = true;
     
    2425                $acces_restreint = false;
    2526        }
     27        $groupby = array();
     28        $orderby = array();
    2629        $limit = "0, " . intval($a['nb_mails']);
    2730        $nb_max = sql_countsel("spip_alertes_cron",
    28                 "date_pour_envoi <= '" . $now . "'"); //Nombres total d'alerte à traité, donc de mail à envoyer.
     31                "date_pour_envoi <= '" . $now . "'"); //Nombres total d'alerte à traiter, donc de mail à envoyer.
    2932        //Si on a plus d'alertes prevues que d'email autorisé à envoyer, il faudra poursuivre la tâche.
    3033        if ($nb_max > intval($a['nb_mails'])) {
     
    5255                                        $email = $aut['email'];
    5356                                        //On va quand même vérifier que l'article existe encore/est en etat publié
    54                                         $verif = sql_select('statut', 'spip_articles', 'id_article = ' . intval($id_article));
    55                                         while ($art = sql_fetch($verif)) {
    56                                                 $statut = $art['statut'];
    57                                         }
     57                                        include_spip('base/objets');
     58                                        $statut = objet_test_si_publie('article', $id_article);
    5859                                        //Si accès restreint : vérifions que l'article n'est pas dans une zone limité pour l'auteur;
    5960                                        if ($acces_restreint == true) {
     
    7879                                                }
    7980                                        }
    80                                         if (($email) && ($statut == 'publie') && ($article_accessible == true)) {
     81                                        if (($email) && ($statut == true) && ($article_accessible == true)) {
    8182                                                spip_log('On build le mail pour ' . $id_article, 'alertes' . _LOG_ERREUR);
    8283                                                //On build le mail à partir de templates
     
    117118                                                        'alertes' . _LOG_ERREUR);
    118119                                                //Auteur sans email ou article non-publié/inexistant/restreint
    119                                                 if ($statut != 'publie') {
     120                                                if ($statut != true) {
    120121                                                        //Article non publie, l'alerte n'a pas lieu d'être nulle part
    121122                                                        $del = sql_delete("spip_alertes_cron",
  • _plugins_/alertes/trunk/paquet.xml

    r101339 r101351  
    22        prefix="alertes"
    33        categorie="communication"
    4         version="1.2.1"
     4        version="1.3.0"
    55        schema="1.0.1"
    66        etat="test"
    7         compatibilite="[3.0.0 ;3.0.*]"
     7        compatibilite="[3.0.0 ;3.1.*]"
    88        logo="prive/themes/spip/images/alertes-128.png"
    99        documentation="http://www.kokmoka.com/plugins-spip-alertes/"
     
    1111        <nom>Alertes</nom>
    1212        <licence>GNU</licence>
    13         <auteur lien="http://contrib.spip.net/Gael-Chareyre">Gael Chareyre</auteur>     
     13
     14        <auteur lien="http://contrib.spip.net/Gael-Chareyre">Gael Chareyre</auteur>
     15
    1416        <menu nom="configurer_alertes" titre="alertes:title_menu_configuration" parent="menu_configuration" icone="images/alertes-16.png" />
    15         <pipeline nom="declarer_tables_principales" inclure="base/alertes.php" />
     17
     18        <pipeline nom="declarer_tables_principales" inclure="base/alertes.php" />
    1619        <pipeline nom="declarer_tables_interfaces" inclure="base/alertes.php" />
    17         <pipeline nom="notifications_destinataires" inclure="alertes_pipelines.php" /> 
     20
     21        <pipeline nom="notifications_destinataires" inclure="alertes_pipelines.php" />
    1822        <pipeline nom="insert_head_css" inclure="alertes_pipelines.php" />
    1923        <pipeline nom="taches_generales_cron" inclure="alertes_pipelines.php" />
     24
    2025        <necessite nom="facteur" compatibilite="[3.0.6;]" />
    2126</paquet>
  • _plugins_/alertes/trunk/todo.txt

    r81373 r101351  
    1 Plugin Alertes : A faire au 13/03/2014
     1Plugin Alertes : A faire :
    22
    33- Rendre plus "sexy" les formulaires de configurations, de choix d'abonnements et les exemples d'email envoyé.
    44- Voir s'il est possible de simplifier le code, notamment dans le pipeline de notification pour ne pas rendre le mécanisme de publication trop lourd.
    55- Tester les cas extrèmes et la charge.
    6 - Voir s'il est possible d'appliquer le système à d'autres objets éditoriaux : les brèves par exemple.
     6- Voir s'il est possible d'appliquer le système à d'autres objets éditoriaux : les brèves par exemple. Il faudra pour cela revoir la structure des données… En effet, actuellement, le couple se fait par id_auteur + objet + id_objet. Il faudra donc rendre une alerte plus générique, cf. "rubriques", "articles", "auteurs", "breves", etc. Une table spip_alertes_objets ?
     7- Consulter les alertes en court et celles qui devront être envoyées par spip_alertes_cron ;
     8- Avoir un compteur d'alertes sur une page rubrique ;
     9- Sur la page de consultation des alertes enregistrées, pouvoir filtrer par objet et id_objet.
Note: See TracChangeset for help on using the changeset viewer.