source: spip-zone/_core_/plugins/forum/prive/modeles/forum_fonctions.php @ 113294

Last change on this file since 113294 was 113294, checked in by spip.franck@…, 15 months ago

Il parait que le futur c'est maintenant :-D

File size: 1.4 KB
Line 
1<?php
2
3/***************************************************************************\
4 *  SPIP, Systeme de publication pour l'internet                           *
5 *                                                                         *
6 *  Copyright (c) 2001-2019                                                *
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")) {
14        return;
15}
16
17function 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_column($emails, 'email_auteur');
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}
Note: See TracBrowser for help on using the repository browser.