dolibarr-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Dolibarr-dev] Patch affichage prix


From: Laurent Destailleur (Eldy)
Subject: Re: [Dolibarr-dev] Patch affichage prix
Date: Mon, 28 Aug 2006 00:14:52 +0200
User-agent: Thunderbird 1.5.0.5 (Windows/20060719)

Yannick Warnier a écrit :
Salut,

Pour la conversion de l'affichage des prix dans les factures
(séparateurs . et , en fonction de la localisation), j'ai ajouté un
paramètre à la fonction price() dans htdocs/lib/functions.inc.php.
J'ai fait une évolution plus élégante. Ce 3eme parametres est maintenant l'objet $langs (l'objet qui contient les carac. de langues) Et les informations des separateurs (point et milliers) est donc stocké dans les fichiers langues eux-meme.

Pour afficher dans la langue de l'utilisateur, il faut donc utilisé $lang (qui est toujours défini) au moment de l'appel de price. Pour afficher dans les PDF dans la langue du destinataire du PDF, il faut utiliser $outputlangs qui lui est aussi déjà défini dans les PDF (la gestion de la langue du client est deja géré dans Dolibarr, en tout cas sur les modeles azur, crabe et einstein).
Ce n'est pas encore super comme méthode, notamment parce que ça ne
définit pour le moment que fr_FR, fr_BE, nl_BE et en_US (avec une valeur
par défaut quand même).
Le problème c'est que je ne peux pas me fier valablement aux variables
d'environnement (locales) pour faire la conversion, étant donné que cela
implique que les locales des différentes langues soient installées sur
la machine, ce qui n'est pas forcément le cas.
De plus, dans mon cas, j'utilise les différentes langues lors de
l'export de la facture en PDF, en prenant en considération la langue du
client (ce qui, je pense, n'est pas encore géré par Dolibarr).

Bref, j'attache un patch (en diff -r -u) de ma version modifiée de la
fonction price(). Je suis prêt à discuter d'une éventuelle meilleure
méthode. Le troisième paramètre de la fonction price() (ajouté dans la
modif) a une valeur par défaut, ce qui permet de continuer à l'utiliser
normalement partout ailleurs.

Yannick
------------------------------------------------------------------------

--- dolibarr-cvs/htdocs/lib/functions.inc.php   2006-08-27 14:33:01.000000000 
+0100
+++ dolibarr/htdocs/lib/functions.inc.php       2006-08-27 14:31:41.000000000 
+0100
@@ -1712,18 +1712,31 @@
                \param      html                        Formatage html ou pas 
(0 par defaut)
                \seealso        price2num               Fonction inverse de 
price
 */
-function price($amount, $html=0)
+function price($amount, $html=0, $l10n=null)
 {
-       if ($html)
-       {
-       
-               $dec='.'; $thousand=' ';
-               return ereg_replace(' ',' ',number_format($amount, 2, 
$dec, $thousand));
-       
-       }
-       else
-       {
-               return number_format($amount, 2, '.', ' ');
+    $dec='.'; $thousand=' ';
+       if(!empty($l10n)){
+               switch($l10n){
+                       case 'fr_FR':
+                       case 'fr_BE':
+                       case 'nl_BE':
+                               $dec = ',';
+                               $thousand = ' ';
+                               break;
+                       case 'en_US':
+                               $dec = '.';
+                               $thousand = ',';
+               }
+               if ($html)
+           {
+                       return ereg_replace(' ',' ',number_format($amount, 
2, $dec, $thousand));
+           }
+               else
+           {
+                       return number_format($amount, 2, $dec, $thousand);      
+           }
+       }else{
+               return number_format($amount, 2, '.', ' ');
        }
 }
------------------------------------------------------------------------

_______________________________________________
Dolibarr-dev mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/dolibarr-dev


--
Laurent Destailleur.
---------------------------------------------------------------
EMail: address@hidden
Web: http://www.destailleur.fr
IM: IRC=Eldy, Jabber=Eldy

AWStats (Author) : http://awstats.sourceforge.net
CVSChangeLogBuilder (Author) : http://cvschangelogb.sourceforge.net
AWBot (Author) : http://awbot.sourceforge.net
Dolibarr (Contributor) : http//www.dolibarr.org





reply via email to

[Prev in Thread] Current Thread [Next in Thread]