Changeset 57390 in spip-zone


Ignore:
Timestamp:
Jan 20, 2012, 2:00:49 PM (8 years ago)
Author:
cedric@…
Message:

mise a jour des notifications pour spip3

Location:
_plugins_/notifications/trunk
Files:
2 added
3 deleted
4 edited
1 moved

Legend:

Unmodified
Added
Removed
  • _plugins_/notifications/trunk/notifications/forumposte.php

    r33680 r57390  
    77 */
    88
     9if (!defined("_ECRIRE_INC_VERSION")) return;
    910
    1011/**
     
    2223        $prevenir_auteurs = isset($GLOBALS['notifications']['prevenir_auteurs']) AND $GLOBALS['notifications']['prevenir_auteurs'];
    2324        // sinon voie normale
    24         if ($t['id_article'] AND !$prevenir_auteurs){
    25                 $s = sql_getfetsel('accepter_forum','spip_articles',"id_article=" . $t['id_article']);
     25        if ($t['objet']=='article' AND $t['id_objet'] AND !$prevenir_auteurs){
     26                $s = sql_getfetsel('accepter_forum','spip_articles',"id_article=" . $t['id_objet']);
    2627                if (!$s)  $s = substr($GLOBALS['meta']["forums_publics"],0,3);
    2728
     
    3738        $tous = array();
    3839
    39         // 1. Les auteurs de l'article (si c'est un article), mais
     40        // 1. Les auteurs de l'objet lie au forum
    4041        // seulement s'ils ont le droit de le moderer (les autres seront
    4142        // avertis par la notifications_forumvalide).
    42         if ($t['id_article']
    43         AND $prevenir_auteurs) {
    44                 $result = sql_select("auteurs.*","spip_auteurs AS auteurs, spip_auteurs_articles AS lien","lien.id_article=".intval($t['id_article'])." AND auteurs.id_auteur=lien.id_auteur");
     43        if ($prevenir_auteurs) {
     44                $result = sql_select("auteurs.*","spip_auteurs AS auteurs, spip_auteurs_liens AS lien","lien.objet=".sql_quote($t['objet'])." AND lien.id_objet=".intval($t['id_objet'])." AND auteurs.id_auteur=lien.id_auteur");
    4545
    4646                while ($qui = sql_fetch($result)) {
    47                         if ($qui['email'] AND autoriser('modererforum', 'article', $t['id_article'], $qui['id_auteur']))
     47                        if ($qui['email'] AND autoriser('modererforum', $t['objet'], $t['id_objet'], $qui['id_auteur']))
    4848                                $tous[] = $qui['email'];
    4949                }
     
    6565        // Envoyer les emails
    6666        //
     67        $email_notification_forum = charger_fonction('email_notification_forum','inc');
    6768        foreach ($destinataires as $email) {
    68                 $texte = email_notification_forum($t, $email);
     69                $texte = $email_notification_forum($t, $email);
    6970                notifications_envoyer_mails($email, $texte);
    7071        }
  • _plugins_/notifications/trunk/notifications/forumprive.php

    r52801 r57390  
    3535
    3636                // 1.1. Les auteurs du message (si c'est un message)
    37                 if ($t['id_message']) {
    38                         $result = sql_select("auteurs.email","spip_auteurs AS auteurs, spip_auteurs_messages AS lien","lien.id_message=".intval($t['id_message'])." AND auteurs.id_auteur=lien.id_auteur");
     37                if ($t['objet']=='message' AND $t['id_objet']) {
     38                        $result = sql_select("auteurs.email","spip_auteurs AS auteurs, spip_auteurs_liens AS lien ON auteurs.id_auteur=lien.id_auteur","lien.objet='message' AND lien.id_objet=".intval($t['id_objet']));
    3939
    4040                        while ($qui = sql_fetch($result))
    4141                                $tous[] = $qui['email'];
    4242
    43                         $url = url_absolue(generer_url_entite($id_message, 'message'));
     43                        $url = url_absolue(generer_url_entite($t['id_objet'], 'message'));
    4444                        $t['texte'] .= "\n\n"._T('forum_ne_repondez_pas')."\n<html>$url</html>";
    4545                }
    4646
    4747                // 1.2. Les auteurs de l'article (si c'est un article)
    48                 elseif ($t['id_article']) {
    49                         $result = sql_select("auteurs.email","spip_auteurs AS auteurs, spip_auteurs_articles AS lien","lien.id_article=".intval($t['id_article'])." AND auteurs.id_auteur=lien.id_auteur");
     48                elseif ($t['objet']=='article' AND $t['id_objet']) {
     49                        $result = sql_select("auteurs.email","spip_auteurs AS auteurs, spip_auteurs_liens AS lien ON auteurs.id_auteur=lien.id_auteur","lien.objet='article' AND lien.id_objet=".intval($t['id_objet']));
    5050
    5151                        while ($qui = sql_fetch($result))
  • _plugins_/notifications/trunk/notifications/forumvalide.php

    r52801 r57390  
    3030        $prevenir_auteurs = isset($GLOBALS['notifications']['prevenir_auteurs']) AND $GLOBALS['notifications']['prevenir_auteurs'];
    3131        // sinon voie normale
    32         if ($t['id_article'] AND !$prevenir_auteurs){
    33                 $s = sql_getfetsel('accepter_forum','spip_articles',"id_article=" . $t['id_article']);
     32        if ($t['objet']=='article' AND $t['id_objet'] AND !$prevenir_auteurs){
     33                $s = sql_getfetsel('accepter_forum','spip_articles',"id_article=" . $t['id_objet']);
    3434                if (!$s)  $s = substr($GLOBALS['meta']["forums_publics"],0,3);
    3535
     
    4747        $pasmoi = array($t['email_auteur'],$GLOBALS['visiteur_session']['email']);
    4848
    49         // 1. Les auteurs de l'article ; si c'est un article, ceux qui n'ont
     49        // 1. Les auteurs de l'objet lie au forum
     50        // seulement ceux qui n'ont
    5051        // pas le droit de le moderer (les autres l'ont recu plus tot)
    51         if ($t['id_article']
    52         AND $prevenir_auteurs) {
    53                 $result = sql_select("auteurs.*","spip_auteurs AS auteurs, spip_auteurs_articles AS lien","lien.id_article=".intval($t['id_article'])." AND auteurs.id_auteur=lien.id_auteur");
     52        if ($prevenir_auteurs) {
     53                $result = sql_select("auteurs.*","spip_auteurs AS auteurs, spip_auteurs_liens AS lien","lien.objet=".sql_quote($t['objet'])." AND lien.id_objet=".intval($t['id_objet'])." AND auteurs.id_auteur=lien.id_auteur");
    5454
    5555                while ($qui = sql_fetch($result)) {
    56                         if (!autoriser('modererforum', 'article', $t['id_article'], $qui['id_auteur']))
    57                                 $tous[] = $qui['email'];
    58                         else
    59                                 // Ne pas ecrire aux auteurs deja notifies precedemment
    60                                 $pasmoi[] = $qui['email'];
    61 
     56                        if ($qui['email']) {
     57                                if (!autoriser('modererforum', $t['objet'], $t['id_objet'], $qui['id_auteur']))
     58                                        $tous[] = $qui['email'];
     59                                else
     60                                        // Ne pas ecrire aux auteurs deja notifies precedemment
     61                                        $pasmoi[] = $qui['email'];
     62                        }
    6263                }
    6364        }
    64 
    6565
    6666        $options['forum'] = $t;
     
    7979        // Envoyer les emails
    8080        //
     81        $email_notification_forum = charger_fonction('email_notification_forum','inc');
    8182        foreach ($destinataires as $email) {
    82                 $texte = email_notification_forum($t, $email);
     83                $texte = $email_notification_forum($t, $email);
    8384                notifications_envoyer_mails($email, $texte);
    8485        }
  • _plugins_/notifications/trunk/paquet.xml

    r54950 r57390  
    22        prefix="notifications"
    33        categorie="communication"
    4         version="0.5.6"
     4        version="2.0.0"
    55        etat="test"
    66        compatibilite="[3.0.0-alpha2;3.0.*]"
Note: See TracChangeset for help on using the changeset viewer.