You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
2.0 KiB
70 lines
2.0 KiB
<?php |
|
|
|
/***************************************************************************\ |
|
* SPIP, Systeme de publication pour l'internet * |
|
* * |
|
* Copyright (c) 2001-2014 * |
|
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * |
|
* * |
|
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. * |
|
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * |
|
\***************************************************************************/ |
|
|
|
if (!defined("_ECRIRE_INC_VERSION")) return; |
|
|
|
/** |
|
* Calculer la moyenne glissante sur un nombre d'echantillons donnes |
|
* @param int|bool $valeur |
|
* @param int $glisse |
|
* @return float |
|
*/ |
|
function moyenne_glissante($valeur = false, $glisse=0) { |
|
static $v = array(); |
|
// pas d'argument, raz de la moyenne |
|
if ($valeur === false) { |
|
$v = array(); |
|
return 0; |
|
} |
|
|
|
// argument, on l'ajoute au tableau... |
|
// surplus, on enleve... |
|
$v[] = $valeur; |
|
if (count($v) > $glisse) |
|
array_shift($v); |
|
|
|
return round(statistiques_moyenne($v),2); |
|
} |
|
|
|
/** |
|
* Calculer la moyenne d'un tableau de valeurs |
|
* |
|
* http://doc.spip.org/@statistiques_moyenne |
|
* |
|
* @param array $tab |
|
* @return float |
|
*/ |
|
function statistiques_moyenne($tab){ |
|
if (!$tab) return 0; |
|
$moyenne = 0; |
|
foreach($tab as $v) $moyenne += $v; |
|
return $moyenne / count($tab); |
|
} |
|
|
|
/** |
|
* Construire un tableau par popularite |
|
* classemnt => id_truc |
|
* @param string $type |
|
* @param string $serveur |
|
* @return array |
|
*/ |
|
function classement_populaires($type, $serveur=''){ |
|
static $classement = array(); |
|
if (isset($classement[$type])) |
|
return $classement[$type]; |
|
$classement[$type] = sql_allfetsel(id_table_objet($type, $serveur), table_objet_sql($type, $serveur), "statut='publie' AND popularite > 0", "", "popularite DESC",'','',$serveur); |
|
$classement[$type] = array_map('reset',$classement[$type]); |
|
return $classement[$type]; |
|
} |
|
|
|
|
|
?>
|
|
|