From e7bde8e6c6a54c5ddc8cd1c21b8a156d37496c60 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 11 Aug 2005 20:23:34 +0000 Subject: [PATCH] =?UTF-8?q?New:=20Ajoute=20fonction=20de=20personalisation?= =?UTF-8?q?=20des=20param=E8tres=20interface=20par=20utilisateur?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- htdocs/lib/functions.inc.php | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/htdocs/lib/functions.inc.php b/htdocs/lib/functions.inc.php index 7c4b1a9a46f..f8d60be89a0 100644 --- a/htdocs/lib/functions.inc.php +++ b/htdocs/lib/functions.inc.php @@ -231,6 +231,33 @@ function dolibarr_get_const($db, $name) return $value; } + +/** + \brief Positionne environnement PHP en fonction du langage + \param code_lang Code langue concerné (fr_FR, en_US, ...) + \return string Code langue validé +*/ +function dolibarr_set_php_lang($code_lang) +{ + $code_lang_tiret=ereg_replace('_','-',$code_lang); + + setlocale(LC_ALL, $code_lang); // Compenser pb de locale avec windows + setlocale(LC_ALL, $code_lang); + if (defined("MAIN_FORCE_SETLOCALE_LC_ALL") && MAIN_FORCE_SETLOCALE_LC_ALL) setlocale(LC_ALL, MAIN_FORCE_SETLOCALE_LC_ALL); + if (defined("MAIN_FORCE_SETLOCALE_LC_TIME") && MAIN_FORCE_SETLOCALE_LC_TIME) setlocale(LC_TIME, MAIN_FORCE_SETLOCALE_LC_TIME); + if (defined("MAIN_FORCE_SETLOCALE_LC_NUMERIC") && MAIN_FORCE_SETLOCALE_LC_NUMERIC) setlocale(LC_NUMERIC, MAIN_FORCE_SETLOCALE_LC_NUMERIC); + if (defined("MAIN_FORCE_SETLOCALE_LC_MONETARY") && MAIN_FORCE_SETLOCALE_LC_MONETARY) setlocale(LC_MONETARY, MAIN_FORCE_SETLOCALE_LC_MONETARY); + + // On corrige $code_lang si il ne vaut pas le code long: fr -> fr_FR par exemple + if (strlen($code_lang) <= 3) + { + $code_lang = strtolower($code_lang)."_".strtoupper($code_lang); + } + + return $code_lang; +} + + /** \brief Insertion d'une constante dans la base de données. \see dolibarr_del_const, dolibarr_gel_const