Subversion Repositories Applications.annuaire

Compare Revisions

Ignore whitespace Rev 246 → Rev 247

/trunk/controleurs/StatistiqueControleur.php
199,6 → 199,63
 
}
public function obtenirStatistiquesModificationsProfil($id_annuaire, $annee_fin = '') {
 
$modele = new StatistiqueModele();
 
$valeurs_a_stat_code = array();
$valeurs_a_stat_legende = array();
$tab_mois = array("Jan","Fev","Mar","Avr","Mai","Juin","Juil","Aout","Sep","Oct","Nov","Dec");
$annee_debut = 2010;
$mois = 7;
$annee = 2010;
$tps_debut = mktime(0,0,0,$mois,1,$annee);
$tps_courant = $tps_debut;
if($annee_fin != '') {
$tps_fin = mktime(0,0,0,1,1,$annee_fin);
} else {
$today = date_parse(date('Y-m-d H:i:s'));
$annee_fin_today = $today['year'];
$mois_fin_today = $today['month'];
if($annee_debut == $annee_fin_today) {
$tps_fin = mktime(0,0,0,$mois_fin_today+1,1,$annee_fin_today);
} else {
$tps_fin = time();// jour courant
}
}
//Requete par mois
$i = 1;
while ($tps_courant <= $tps_fin) {
if (($mois)/12 > 1) {
$mois = 1;
$annee = $annee+1;
}
$tps_mois_suivant = mktime(0,0,0,$mois+1,1,$annee);
$nb_modif_dans_intervalle = $modele->obtenirEvenementsDansIntervalle($id_annuaire,'modification', $tps_debut, $tps_courant);
$valeurs_a_stat_legende[$tab_mois[$mois-1].' '.$annee] = $nb_modif_dans_intervalle;
$tps_courant = $tps_mois_suivant;
$mois++;
$i++;
}
 
$nom_axeX = 'Mois depuis le 1er juillet 2010';
$graph = $this->statistiques->genererGraphique(Statistiques::GRAPH_COURBE,$valeurs_a_stat_legende, '', array(500,490), $nom_axeX, '');
return $this->dessinerGraph($graph);
 
}
public function ajouterEvenementStatistique($id_annuaire, $id_utilisateur, $type) {
$this->chargerModele('StatistiqueModele');
/trunk/modeles/StatistiqueModele.php
32,14 → 32,39
'FROM annu_triples '.
'WHERE at_ce_annuaire = '.$this->proteger($id_annuaire).' '.
'AND at_action = '.$this->proteger($type).' '.
'ORDER BY at_valeur DESC '.
'LIMIT 0,'.$limite;
'ORDER BY at_valeur DESC ';
if($limite != 0) {
$requete_derniers_evenements .= 'LIMIT 0,'.$limite;
}
 
$resultat_derniers_evenements = $this->requeteTous($requete_derniers_evenements);
return $resultat_derniers_evenements;
}
public function obtenirEvenementsDansIntervalle($id_annuaire, $type, $date_debut, $date_fin) {
$requete_nb_modif_intervalle = 'SELECT COUNT(*) as nb '.
'FROM annu_triples '.
'WHERE at_ce_annuaire = '.$this->proteger($id_annuaire).' '.
'AND at_action = '.$this->proteger($type).' '.
'AND at_valeur >= "'.date('Y-m-d H:i:s', $date_debut).'" '.
'AND at_valeur < "'.date('Y-m-d H:i:s', $date_fin).'" ';
//echo $requete_nb_modif_intervalle;
//exit;
$resultat_nb_modif_intervalle = $this->requeteUn($requete_nb_modif_intervalle);
if(!$resultat_nb_modif_intervalle) {
return 0;
}
 
return $resultat_nb_modif_intervalle['nb'];
}
public function ajouterEvenementStatistique($id_annuaire, $id_utilisateur, $type) {
$date_courante = AppControleur::genererDateCouranteFormatMySql();