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
RevLine 
[77640]1<?php
2
3/***************************************************************************\
4 *  SPIP, Systeme de publication pour l'internet                           *
5 *                                                                         *
[113294]6 *  Copyright (c) 2001-2019                                                *
[77640]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
[93612]13if (!defined("_ECRIRE_INC_VERSION")) {
14        return;
15}
[77640]16
[93612]17function forum_compte_messages_from($email, $id_forum) {
[77640]18        static $mem = array();
19
[93612]20        if (isset($mem[$email])) {
[77640]21                return $mem[$email];
[93612]22        }
[77640]23
24        // sinon on fait une requete groupee pour essayer de ne le faire qu'une fois pour toute la liste
[93612]25        $emails = sql_allfetsel("DISTINCT email_auteur", "spip_forum",
[93640]26                "id_forum>" . intval($id_forum - 50) . " AND id_forum<" . intval($id_forum + 50));
[112028]27        $emails = array_column($emails, 'email_auteur');
[77640]28        $emails = array_filter($emails);
29        // et compter
[93612]30        $counts = sql_allfetsel("email_auteur,count(id_forum) AS N", "spip_forum", sql_in("email_auteur", $emails),
31                "email_auteur");
[77640]32
[93612]33        foreach ($counts as $c) {
[77640]34                $mem[$c['email_auteur']] = $c['N'];
35        }
36
37        return $mem[$email];
[93640]38}
Note: See TracBrowser for help on using the repository browser.