3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
6 * Copyright (c) 2001-2019 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
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 \***************************************************************************/
13 if (!defined("_ECRIRE_INC_VERSION")) {
18 * Calculer la moyenne glissante sur un nombre d'echantillons donnes
20 * @param int|bool $valeur
24 function moyenne_glissante($valeur = false, $glisse = 0) {
26 // pas d'argument, raz de la moyenne
27 if ($valeur === false) {
33 // argument, on l'ajoute au tableau...
34 // surplus, on enleve...
36 if (count($v) > $glisse) {
40 return round(statistiques_moyenne($v), 2);
44 * Calculer la moyenne d'un tableau de valeurs
46 * https://code.spip.net/@statistiques_moyenne
51 function statistiques_moyenne($tab) {
56 foreach ($tab as $v) {
60 return $moyenne / count($tab);
64 * Construire un tableau par popularite
65 * classemnt => id_truc
68 * @param string $serveur
71 function classement_populaires($type, $serveur = '') {
72 static $classement = array();
73 if (isset($classement[$type])) {
74 return $classement[$type];
76 $classement[$type] = sql_allfetsel(id_table_objet($type, $serveur), table_objet_sql($type, $serveur),
77 "statut='publie' AND popularite > 0", "", "popularite DESC", '', '', $serveur);
78 $classement[$type] = array_map('reset', $classement[$type]);
80 return $classement[$type];