[SPIP][PLUGINS] v3.0-->v3.2
[lhc/web/www.git] / www / plugins-dist / forum / prive / modeles / forum_fonctions.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2016 *
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
13 if (!defined("_ECRIRE_INC_VERSION")) {
14 return;
15 }
16
17 function forum_compte_messages_from($email, $id_forum) {
18 static $mem = array();
19
20 if (isset($mem[$email])) {
21 return $mem[$email];
22 }
23
24 // sinon on fait une requete groupee pour essayer de ne le faire qu'une fois pour toute la liste
25 $emails = sql_allfetsel("DISTINCT email_auteur", "spip_forum",
26 "id_forum>" . intval($id_forum - 50) . " AND id_forum<" . intval($id_forum + 50));
27 $emails = array_map('reset', $emails);
28 $emails = array_filter($emails);
29 // et compter
30 $counts = sql_allfetsel("email_auteur,count(id_forum) AS N", "spip_forum", sql_in("email_auteur", $emails),
31 "email_auteur");
32
33 foreach ($counts as $c) {
34 $mem[$c['email_auteur']] = $c['N'];
35 }
36
37 return $mem[$email];
38 }