source: spip-zone/_core_/plugins/statistiques/inc/statistiques.php @ 93092

Last change on this file since 93092 was 93092, checked in by gilles.vincent@…, 5 years ago

Mise en forme plus homegene et plus lisible, pour les declarations des fonctions
Regles :

  • un espace après chaque virgule
  • un espace avant et apres chaque '='
File size: 2.0 KB
Line 
1<?php
2
3/***************************************************************************\
4 *  SPIP, Systeme de publication pour l'internet                           *
5 *                                                                         *
6 *  Copyright (c) 2001-2014                                                *
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 * Calculer la moyenne glissante sur un nombre d'echantillons donnes
17 * @param int|bool $valeur
18 * @param int $glisse
19 * @return float
20 */
21function moyenne_glissante($valeur = false, $glisse = 0) {
22        static $v = array();
23        // pas d'argument, raz de la moyenne
24        if ($valeur === false) {
25                $v = array();
26                return 0;
27        }
28
29        // argument, on l'ajoute au tableau...
30        // surplus, on enleve...
31        $v[] = $valeur;
32        if (count($v) > $glisse)
33                array_shift($v);
34
35        return round(statistiques_moyenne($v),2);
36}
37
38/**
39 * Calculer la moyenne d'un tableau de valeurs
40 *
41 * http://code.spip.net/@statistiques_moyenne
42 *
43 * @param array $tab
44 * @return float
45 */
46function statistiques_moyenne($tab){
47        if (!$tab) return 0;
48        $moyenne = 0;
49        foreach($tab as $v) $moyenne += $v;
50        return  $moyenne / count($tab);
51}
52
53/**
54 * Construire un tableau par popularite
55 *   classemnt => id_truc
56 * @param string $type
57 * @param string $serveur
58 * @return array
59 */
60function classement_populaires($type, $serveur = ''){
61        static $classement = array();
62        if (isset($classement[$type]))
63                return $classement[$type];
64        $classement[$type] = sql_allfetsel(id_table_objet($type, $serveur), table_objet_sql($type, $serveur), "statut='publie' AND popularite > 0", "", "popularite DESC",'','',$serveur);
65        $classement[$type] = array_map('reset',$classement[$type]);
66        return $classement[$type];
67}
68
69
70?>
Note: See TracBrowser for help on using the repository browser.