source: spip-zone/_core_/plugins/forum/inc/email_notification_forum.php @ 48832

Last change on this file since 48832 was 48832, checked in by guy.cesaro@…, 8 years ago

repare l'ajout de document et la notification mais il reste probleme de jointure.

resoud #2108

File size: 3.1 KB
Line 
1<?php
2
3/***************************************************************************\
4 *  SPIP, Systeme de publication pour l'internet                           *
5 *                                                                         *
6 *  Copyright (c) 2001-2011                                                *
7 *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
8 *                                                                         *
9 *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
10 *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
11\***************************************************************************/
12
13if (!defined("_ECRIRE_INC_VERSION")) return;
14
15/**
16 * Construitre l'email personalise de notification d'un forum
17 *
18 * @param array $t
19 * @param string $email
20 * @return string
21 */
22function inc_email_notification_forum_dist ($t, $email) {
23        static $contexte = array();
24
25        if(!isset($contexte[$t['id_forum']])){
26                $url = '';
27                $id_forum = $t['id_forum'];
28
29                if ($t['statut'] == 'prive') # forum prive
30                {
31                        if ($t['id_objet'])
32                                $url = generer_url_entite($t['id_objet'], $t['objet'], '', '#id'.$id_forum, false);
33                }
34                else if ($t['statut'] == 'privrac') # forum general
35                {
36                        $url = generer_url_ecrire('forum').'#id'.$id_forum;
37                }
38                else if ($t['statut'] == 'privadm') # forum des admins
39                {
40                        $url = generer_url_ecrire('forum_admin').'#id'.$id_forum;
41                }
42                else if ($t['statut'] == 'publie') # forum publie
43                {
44                        $url = generer_url_entite($id_forum, 'forum');
45                }
46                else #  forum modere, spam, poubelle direct ....
47                {
48                        $url = generer_url_ecrire('controler_forum', "debut_id_forum=".$id_forum);
49                }
50
51                if (!$url) {
52                        spip_log("forum $id_forum sans referent",'notifications');
53                        $url = './';
54                }
55                if ($t['id_objet']) {
56                        include_spip('inc/filtres');
57                        $t['titre_source'] = generer_info_entite($t['id_objet'], $t['objet'], 'titre');
58                }
59
60                $t['url'] = $url;
61
62                // detecter les url des liens du forum
63                // pour la moderation (permet de reperer les SPAMS avec des liens caches)
64                $links = array();
65                foreach ($t as $champ)
66                        $links = $links + extraire_balises($champ,'a');
67                $links = extraire_attribut($links,'href');
68                $links = implode("\n",$links);
69                $t['liens'] = $links;
70
71                $contexte[$t['id_forum']] = $t;
72        }
73
74        $t = $contexte[$t['id_forum']];
75                // Rechercher eventuellement la langue du destinataire
76        if (NULL !== ($l = sql_getfetsel('lang', 'spip_auteurs', "email=" . sql_quote($email))))
77                $l = lang_select($l);
78
79        $parauteur = (strlen($t['auteur']) <= 2) ? '' :
80                (" " ._T('forum_par_auteur', array(
81                        'auteur' => $t['auteur'])
82                ) .
83                 ($t['email_auteur'] ? ' <' . $t['email_auteur'] . '>' : ''));
84
85        $titre = textebrut(typo($t['titre_source']));
86        $forum_poste_par = ($t['id_article']
87                ? _T('forum:forum_poste_par', array(
88                        'parauteur' => $parauteur, 'titre' => $titre))
89                : $parauteur . ' (' . $titre . ')');
90
91        $t['par_auteur'] = $forum_poste_par;
92
93        $envoyer_mail = charger_fonction('envoyer_mail','inc'); // pour nettoyer_titre_email
94        $corps = recuperer_fond("notifications/forum_poste",$t);
95
96        if ($l)
97                lang_select();
98
99        return $corps;
100}
Note: See TracBrowser for help on using the repository browser.