Nouveau sujet Répondre Imprimer Syndication RSS 2.0

[Résolu][2.0.0] Statistiques graphique de l'administration

Feu follet
Avatar de Tranber
  • Age : 22 ans
  • Messages : 180
  • Inscrit : 03 Juin 2007
Message édité 2 fois, dernière édition par Tranber, 14 Février 2008, 13:18     Lien vers ce message 14 Février 2008, 11:29
  1. Type de bug : Bug d'affichage
  2. Zone du forum affectée : Administration
  3. Priorité du bug : Basse
  4. Description : Lorsque je demande d'afficher les statistiques graphiques sur plusieurs mois, il y a un petit problème avec les accents dans les mois :
    Fichier joint
    Vous n'avez pas l'autorisation de télécharger ce fichier
    5f2fc97e868e38807285bf10caccc2eb.file
  5. Elément de réponse : Ca à l'air d'être l'UTF-8 qui n'est pas pris en compte.
  6. Fichier(s) : admin/tools_stats.php
  7. Base de donnée utilisée : MySQL 5
  8. Type de serveur : Apache (généralement unix)


http://bigtrash.free.fr/creation/Signature%20Tranber.jpg
 
Chef du projet FSB
Avatar de Genova
  • Age : 22 ans
  • Messages : 14520
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 14 Février 2008, 12:30
Je peut pas y faire grand chose malheureusement je crois, je regarderai mais je garanti rien ^^


Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
 
Volcan
Avatar de Eagle
  • Age : 31 ans
  • Messages : 1093
  • Inscrit : 22 Janvier 2005
  Lien vers ce message 14 Février 2008, 12:47
Il y a une solution:

Dans gd_stats.php rechercher
// Création des valeurs pour le graphique
foreach ($args AS $y => $list_y)
{
	foreach ($list_y AS $m => $total)
	{
		$values[] = array(
			'lg' =>	($use_current) ? $m : substr(Fsb::$session->lang('month_' . $m), 0, 3),
			'v' =>	$total,
		);
	}
}


Et remplacer par:
// Création des valeurs pour le graphique
foreach ($args AS $y => $list_y)
{
	foreach ($list_y AS $m => $total)
	{
		$values[] = array(
			'lg' =>	($use_current) ? $m : mb_convert_encoding(mb_substr(Fsb::$session->lang('month_' . $m), 0, 3), "Latin2", "UTF-8"),
			'v' =>	$total,
		);
	}
}


Explication:
mb_substr() va, contrairement à substr(), tenir compte de la taille des caractères (un ou plusieurs octets).
mb_convert_encoding() va convertir l'encodage UTF-8 en Latin2 qui est l'encodage nécessaire à la fonction imagestring() utilisée par class_gd_stats.php


Dans les hauteurs des cieux, par delà les nuages et les sommets enneigés, l'aigle majestueux survole la terre...

Kosmos & Eagle homepage ^^
 
Feu follet
Avatar de Tranber
  • Age : 22 ans
  • Messages : 180
  • Inscrit : 03 Juin 2007
  Lien vers ce message 14 Février 2008, 13:17
Testé et approuvé ! Merci Eagle, ça marche parfaitement.


http://bigtrash.free.fr/creation/Signature%20Tranber.jpg
 
Chef du projet FSB
Avatar de Genova
  • Age : 22 ans
  • Messages : 14520
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 14 Février 2008, 18:46
Sujet archivé pour la raison suivante : Merci pour la modif Eagle, je regarderai.

Pour le mb_substr() j'ai fait une implémentation dans la classe String il y a longtemps donc ca ne posera pas de probleme.

EDIT : j'ai remplacé par
			'lg' =>	($use_current) ? $m : utf8_decode(String::substr(Fsb::$session->lang('month_' . $m), 0, 3)),

et ça semble bien marcher.


Cause Im as free as a bird now, And this bird you can not change. - Freebird - Lynyrd Skynyrd
There's someone in my head but it's not me. - Brain damage - Pink Floyd
I said baby, you know Im gonna leave you. - Babe I'm gonna leave you - Led Zeppelin
Father ? yes son, I want to kill you - The end - The Doors
 
Répondre


.