diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php
index 70a94a3ee5f..be9044be70b 100644
--- a/htdocs/core/class/html.form.class.php
+++ b/htdocs/core/class/html.form.class.php
@@ -2728,7 +2728,7 @@ class Form
if (count($this->cache_currencies)) return 0; // Cache deja charge
- $sql = "SELECT code_iso, label";
+ $sql = "SELECT code_iso, label, unicode";
$sql.= " FROM ".MAIN_DB_PREFIX."c_currencies";
$sql.= " WHERE active = 1";
$sql.= " ORDER BY code_iso ASC";
@@ -2744,13 +2744,14 @@ class Form
$obj = $this->db->fetch_object($resql);
// Si traduction existe, on l'utilise, sinon on prend le libelle par defaut
- $this->cache_currencies[$obj->code_iso] = ($obj->code_iso && $langs->trans("Currency".$obj->code_iso)!="Currency".$obj->code_iso?$langs->trans("Currency".$obj->code_iso):($obj->label!='-'?$obj->label:''));
+ $this->cache_currencies[$obj->code_iso]['label'] = ($obj->code_iso && $langs->trans("Currency".$obj->code_iso)!="Currency".$obj->code_iso?$langs->trans("Currency".$obj->code_iso):($obj->label!='-'?$obj->label:''));
+ $this->cache_currencies[$obj->code_iso]['unicode'] = (array) dol_json_decode($obj->unicode, true);
+ $label[$obj->code_iso] = $this->cache_currencies[$obj->code_iso]['label'];
$i++;
}
- // alphabetic order
- asort($this->cache_currencies);
-
+ array_multisort($label, SORT_ASC, $this->cache_currencies);
+
return $num;
}
else
@@ -2779,7 +2780,7 @@ class Form
if ($selected=='euro' || $selected=='euros') $selected='EUR'; // Pour compatibilite
$out.= '';
diff --git a/htdocs/core/class/translate.class.php b/htdocs/core/class/translate.class.php
index 8b444f5a0a9..2a1f5051611 100644
--- a/htdocs/core/class/translate.class.php
+++ b/htdocs/core/class/translate.class.php
@@ -338,11 +338,7 @@ class Translate
{
global $db;
$newstr=$key;
- if (preg_match('/^CurrencySing([A-Z][A-Z][A-Z])$/i',$key,$reg))
- {
- $newstr=$this->getLabelFromKey($db,$reg[1],'c_currencies','code_iso','labelsing');
- }
- else if (preg_match('/^Currency([A-Z][A-Z][A-Z])$/i',$key,$reg))
+ if (preg_match('/^Currency([A-Z][A-Z][A-Z])$/i',$key,$reg))
{
$newstr=$this->getLabelFromKey($db,$reg[1],'c_currencies','code_iso','label');
}
diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php
index 25bec4c1ccb..88a526edd48 100644
--- a/htdocs/core/lib/functions.lib.php
+++ b/htdocs/core/lib/functions.lib.php
@@ -4112,6 +4112,48 @@ function printCommonFooter($zone='private')
}
+/**
+ * Convert unicode
+ *
+ * @param string $unicode Unicode
+ * @param string $encoding Encoding type
+ * @return string Unicode converted
+ */
+function unichr($unicode , $encoding = 'UTF-8')
+{
+ return mb_convert_encoding("{$unicode};", $encoding, 'HTML-ENTITIES');
+}
+
+/**
+ * Convert a currency code into its symbol
+ *
+ * @param string $currency_code Currency code
+ * @return string Currency symbol encoded into UTF8
+ */
+function getCurrencySymbol($currency_code)
+{
+ global $form;
+
+ $currency_sign = '';
+
+ if (! is_object($form)) $form = new Form($db);
+
+ $form->load_cache_currencies();
+
+ if (is_array($form->cache_currencies[$currency_code]['unicode']) && ! empty($form->cache_currencies[$currency_code]['unicode']))
+ {
+ foreach($form->cache_currencies[$currency_code]['unicode'] as $unicode)
+ {
+ $currency_sign.= unichr($unicode);
+ }
+ }
+ else
+ {
+ $currency_sign = $currency_code;
+ }
+
+ return $currency_sign;
+}
if (! function_exists('getmypid'))
{
diff --git a/htdocs/core/lib/functions2.lib.php b/htdocs/core/lib/functions2.lib.php
index 19e2e935662..1b482063032 100644
--- a/htdocs/core/lib/functions2.lib.php
+++ b/htdocs/core/lib/functions2.lib.php
@@ -1197,370 +1197,3 @@ function getSoapParams()
}
return $params;
}
-
-/**
- * Convert unicode
- *
- * @param string $unicode Unicode
- * @param string $encoding Encoding type
- * @return string Unicode converted
- */
-function unichr($unicode , $encoding = 'UTF-8')
-{
- return mb_convert_encoding("{$unicode};", $encoding, 'HTML-ENTITIES');
-}
-
-/**
- * Convert a currency code into its symbol
- *
- * @param string $currency_code Currency code
- * @return string Currency symbol encoded into UTF8
- */
-function getCurrencySymbol($currency_code)
-{
- switch ($currency_code) {
- case "ALL":
- $currency_sign = " ".unichr(76).unichr(101).unichr(107);
- break;
- case "AFN":
- $currency_sign = " ".unichr(1547);
- break;
- case "ARS":
- $currency_sign = " ".unichr(36);
- break;
- case "AWG":
- $currency_sign = " ".unichr(402);
- break;
- case "AUD":
- $currency_sign = " ".unichr(36);
- break;
- case "AZN":
- $currency_sign = " ".unichr(1084).unichr(1072).unichr(1085);
- break;
- case "BSD":
- $currency_sign = " ".unichr(36);
- break;
- case "BBD":
- $currency_sign = " ".unichr(36);
- break;
- case "BYR":
- $currency_sign = " ".unichr(112).unichr(46);
- break;
- case "BZD":
- $currency_sign = " ".unichr(66).unichr(90).unichr(36);
- break;
- case "BMD":
- $currency_sign = " ".unichr(36);
- break;
- case "BOB":
- $currency_sign = " ".unichr(36).unichr(98);
- break;
- case "BAM":
- $currency_sign = " ".unichr(75).unichr(77);
- break;
- case "BWP":
- $currency_sign = " ".unichr(80);
- break;
- case "BGN":
- $currency_sign = " ".unichr(1083).unichr(1074);
- break;
- case "BRL":
- $currency_sign = " ".unichr(82).unichr(36);
- break;
- case "BND":
- $currency_sign = " ".unichr(36);
- break;
- case "KHR":
- $currency_sign = " ".unichr(6107);
- break;
- case "CAD":
- $currency_sign = " ".unichr(36);
- break;
- case "KYD":
- $currency_sign = " ".unichr(36);
- break;
- case "CLP":
- $currency_sign = " ".unichr(36);
- break;
- case "CNY":
- $currency_sign = " ".unichr(165);
- break;
- case "COP":
- $currency_sign = " ".unichr(36);
- break;
- case "CRC":
- $currency_sign = " ".unichr(8353);
- break;
- case "HRK":
- $currency_sign = " ".unichr(107).unichr(110);
- break;
- case "CUP":
- $currency_sign = " ".unichr(8369);
- break;
- case "CZK":
- $currency_sign = " ".unichr(75).unichr(269);
- break;
- case "DKK":
- $currency_sign = " ".unichr(107).unichr(114);
- break;
- case "DOP":
- $currency_sign = " ".unichr(82).unichr(68).unichr(36);
- break;
- case "XCD":
- $currency_sign = " ".unichr(36);
- break;
- case "EGP":
- $currency_sign = " ".unichr(163);
- break;
- case "SVC":
- $currency_sign = " ".unichr(36);
- break;
- case "EEK":
- $currency_sign = " ".unichr(107).unichr(114);
- break;
- case "EUR":
- $currency_sign = " ".unichr(8364);
- break;
- case "FKP":
- $currency_sign = " ".unichr(163);
- break;
- case "FJD":
- $currency_sign = " ".unichr(36);
- break;
- case "GHC":
- $currency_sign = " ".unichr(162);
- break;
- case "GIP":
- $currency_sign = " ".unichr(163);
- break;
- case "GTQ":
- $currency_sign = " ".unichr(81);
- break;
- case "GGP":
- $currency_sign = " ".unichr(163);
- break;
- case "GYD":
- $currency_sign = " ".unichr(36);
- break;
- case "HNL":
- $currency_sign = " ".unichr(76);
- break;
- case "HKD":
- $currency_sign = " ".unichr(36);
- break;
- case "HUF":
- $currency_sign = " ".unichr(70).unichr(116);
- break;
- case "ISK":
- $currency_sign = " ".unichr(107).unichr(114);
- break;
- case "INR":
- $currency_sign = " ".unichr(8377);
- break;
- case "IDR":
- $currency_sign = " ".unichr(82).unichr(112);
- break;
- case "IRR":
- $currency_sign = " ".unichr(65020);
- break;
- case "IMP":
- $currency_sign = " ".unichr(163);
- break;
- case "ILS":
- $currency_sign = " ".unichr(8362);
- break;
- case "JMD":
- $currency_sign = " ".unichr(74).unichr(36);
- break;
- case "JPY":
- $currency_sign = " ".unichr(165);
- break;
- case "JEP":
- $currency_sign = " ".unichr(163);
- break;
- case "KZT":
- $currency_sign = " ".unichr(1083).unichr(1074);
- break;
- case "KPW":
- $currency_sign = " ".unichr(8361);
- break;
- case "KRW":
- $currency_sign = " ".unichr(8361);
- break;
- case "KGS":
- $currency_sign = " ".unichr(1083).unichr(1074);
- break;
- case "LAK":
- $currency_sign = " ".unichr(8365);
- break;
- case "LVL":
- $currency_sign = " ".unichr(76).unichr(115);
- break;
- case "LBP":
- $currency_sign = " ".unichr(163);
- break;
- case "LRD":
- $currency_sign = " ".unichr(36);
- break;
- case "LTL":
- $currency_sign = " ".unichr(76).unichr(116);
- break;
- case "MKD":
- $currency_sign = " ".unichr(1076).unichr(1077).unichr(1085);
- break;
- case "MYR":
- $currency_sign = " ".unichr(82).unichr(77);
- break;
- case "MUR":
- $currency_sign = " ".unichr(8360);
- break;
- case "MXN":
- $currency_sign = " ".unichr(36);
- break;
- case "MNT":
- $currency_sign = " ".unichr(8366);
- break;
- case "MZN":
- $currency_sign = " ".unichr(77).unichr(84);
- break;
- case "NAD":
- $currency_sign = " ".unichr(36);
- break;
- case "NPR":
- $currency_sign = " ".unichr(8360);
- break;
- case "ANG":
- $currency_sign = " ".unichr(402);
- break;
- case "NZD":
- $currency_sign = " ".unichr(36);
- break;
- case "NIO":
- $currency_sign = " ".unichr(67).unichr(36);
- break;
- case "NGN":
- $currency_sign = " ".unichr(8358);
- break;
- case "NOK":
- $currency_sign = " ".unichr(107).unichr(114);
- break;
- case "OMR":
- $currency_sign = " ".unichr(65020);
- break;
- case "PKR":
- $currency_sign = " ".unichr(8360);
- break;
- case "PAB":
- $currency_sign = " ".unichr(66).unichr(47).unichr(46);
- break;
- case "PYG":
- $currency_sign = " ".unichr(71).unichr(115);
- break;
- case "PEN":
- $currency_sign = " ".unichr(83).unichr(47).unichr(46);
- break;
- case "PHP":
- $currency_sign = " ".unichr(8369);
- break;
- case "PLN":
- $currency_sign = " ".unichr(122).unichr(322);
- break;
- case "QAR":
- $currency_sign = " ".unichr(65020);
- break;
- case "RON":
- $currency_sign = " ".unichr(108).unichr(101).unichr(105);
- break;
- case "RUB":
- $currency_sign = " ".unichr(1088).unichr(1091).unichr(1073);
- break;
- case "SHP":
- $currency_sign = " ".unichr(163);
- break;
- case "SAR":
- $currency_sign = " ".unichr(65020);
- break;
- case "RSD":
- $currency_sign = " ".unichr(1044).unichr(1080).unichr(1085).unichr(46);
- break;
- case "SCR":
- $currency_sign = " ".unichr(8360);
- break;
- case "SGD":
- $currency_sign = " ".unichr(36);
- break;
- case "SBD":
- $currency_sign = " ".unichr(36);
- break;
- case "SOS":
- $currency_sign = " ".unichr(83);
- break;
- case "ZAR":
- $currency_sign = " ".unichr(82);
- break;
- case "LKR":
- $currency_sign = " ".unichr(8360);
- break;
- case "SEK":
- $currency_sign = " ".unichr(107).unichr(114);
- break;
- case "CHF":
- $currency_sign = " ".unichr(67).unichr(72).unichr(70);
- break;
- case "SRD":
- $currency_sign = " ".unichr(36);
- break;
- case "SYP":
- $currency_sign = " ".unichr(163);
- break;
- case "TWD":
- $currency_sign = " ".unichr(78).unichr(84).unichr(36);
- break;
- case "THB":
- $currency_sign = " ".unichr(3647);
- break;
- case "TTD":
- $currency_sign = " ".unichr(84).unichr(84).unichr(36);
- break;
- case "TRY":
- $currency_sign = " ".unichr(84).unichr(76);
- break;
- case "TRL":
- $currency_sign = " ".unichr(8356);
- break;
- case "TVD":
- $currency_sign = " ".unichr(36);
- break;
- case "UAH":
- $currency_sign = " ".unichr(8372);
- break;
- case "GBP":
- $currency_sign = " ".unichr(163);
- break;
- case "USD":
- $currency_sign = " ".unichr(36);
- break;
- case "UYU":
- $currency_sign = " ".unichr(36).unichr(85);
- break;
- case "UZS":
- $currency_sign = " ".unichr(1083).unichr(1074);
- break;
- case "VEF":
- $currency_sign = " ".unichr(66).unichr(115);
- break;
- case "VND":
- $currency_sign = " ".unichr(8363);
- break;
- case "YER":
- $currency_sign = " ".unichr(65020);
- break;
- case "ZWD":
- $currency_sign = " ".unichr(90).unichr(36);
- break;
- default:
- $currency_sign = " ".$currency_code;
- break;
- }
- return $currency_sign;
-}
\ No newline at end of file
diff --git a/htdocs/core/lib/pdf.lib.php b/htdocs/core/lib/pdf.lib.php
index db504ad3584..fd45ab44152 100644
--- a/htdocs/core/lib/pdf.lib.php
+++ b/htdocs/core/lib/pdf.lib.php
@@ -1291,350 +1291,26 @@ function pdf_getTotalQty($object,$type,$outputlangs,$hookmanager=false)
*/
function pdf_getCurrencySymbol(&$pdf, $currency_code)
{
- switch ($currency_code) {
- case "ALL":
- $currency_sign = " ".$pdf->unichr(76).$pdf->unichr(101).$pdf->unichr(107);
- break;
- case "AFN":
- $currency_sign = " ".$pdf->unichr(1547);
- break;
- case "ARS":
- $currency_sign = " ".$pdf->unichr(36);
- break;
- case "AWG":
- $currency_sign = " ".$pdf->unichr(402);
- break;
- case "AUD":
- $currency_sign = " ".$pdf->unichr(36);
- break;
- case "AZN":
- $currency_sign = " ".$pdf->unichr(1084).$pdf->unichr(1072).$pdf->unichr(1085);
- break;
- case "BSD":
- $currency_sign = " ".$pdf->unichr(36);
- break;
- case "BBD":
- $currency_sign = " ".$pdf->unichr(36);
- break;
- case "BYR":
- $currency_sign = " ".$pdf->unichr(112).$pdf->unichr(46);
- break;
- case "BZD":
- $currency_sign = " ".$pdf->unichr(66).$pdf->unichr(90).$pdf->unichr(36);
- break;
- case "BMD":
- $currency_sign = " ".$pdf->unichr(36);
- break;
- case "BOB":
- $currency_sign = " ".$pdf->unichr(36).$pdf->unichr(98);
- break;
- case "BAM":
- $currency_sign = " ".$pdf->unichr(75).$pdf->unichr(77);
- break;
- case "BWP":
- $currency_sign = " ".$pdf->unichr(80);
- break;
- case "BGN":
- $currency_sign = " ".$pdf->unichr(1083).$pdf->unichr(1074);
- break;
- case "BRL":
- $currency_sign = " ".$pdf->unichr(82).$pdf->unichr(36);
- break;
- case "BND":
- $currency_sign = " ".$pdf->unichr(36);
- break;
- case "KHR":
- $currency_sign = " ".$pdf->unichr(6107);
- break;
- case "CAD":
- $currency_sign = " ".$pdf->unichr(36);
- break;
- case "KYD":
- $currency_sign = " ".$pdf->unichr(36);
- break;
- case "CLP":
- $currency_sign = " ".$pdf->unichr(36);
- break;
- case "CNY":
- $currency_sign = " ".$pdf->unichr(165);
- break;
- case "COP":
- $currency_sign = " ".$pdf->unichr(36);
- break;
- case "CRC":
- $currency_sign = " ".$pdf->unichr(8353);
- break;
- case "HRK":
- $currency_sign = " ".$pdf->unichr(107).$pdf->unichr(110);
- break;
- case "CUP":
- $currency_sign = " ".$pdf->unichr(8369);
- break;
- case "CZK":
- $currency_sign = " ".$pdf->unichr(75).$pdf->unichr(269);
- break;
- case "DKK":
- $currency_sign = " ".$pdf->unichr(107).$pdf->unichr(114);
- break;
- case "DOP":
- $currency_sign = " ".$pdf->unichr(82).$pdf->unichr(68).$pdf->unichr(36);
- break;
- case "XCD":
- $currency_sign = " ".$pdf->unichr(36);
- break;
- case "EGP":
- $currency_sign = " ".$pdf->unichr(163);
- break;
- case "SVC":
- $currency_sign = " ".$pdf->unichr(36);
- break;
- case "EEK":
- $currency_sign = " ".$pdf->unichr(107).$pdf->unichr(114);
- break;
- case "EUR":
- $currency_sign = " ".$pdf->unichr(8364);
- break;
- case "FKP":
- $currency_sign = " ".$pdf->unichr(163);
- break;
- case "FJD":
- $currency_sign = " ".$pdf->unichr(36);
- break;
- case "GHC":
- $currency_sign = " ".$pdf->unichr(162);
- break;
- case "GIP":
- $currency_sign = " ".$pdf->unichr(163);
- break;
- case "GTQ":
- $currency_sign = " ".$pdf->unichr(81);
- break;
- case "GGP":
- $currency_sign = " ".$pdf->unichr(163);
- break;
- case "GYD":
- $currency_sign = " ".$pdf->unichr(36);
- break;
- case "HNL":
- $currency_sign = " ".$pdf->unichr(76);
- break;
- case "HKD":
- $currency_sign = " ".$pdf->unichr(36);
- break;
- case "HUF":
- $currency_sign = " ".$pdf->unichr(70).$pdf->unichr(116);
- break;
- case "ISK":
- $currency_sign = " ".$pdf->unichr(107).$pdf->unichr(114);
- break;
- case "INR":
- $currency_sign = " ".$pdf->unichr(8377);
- break;
- case "IDR":
- $currency_sign = " ".$pdf->unichr(82).$pdf->unichr(112);
- break;
- case "IRR":
- $currency_sign = " ".$pdf->unichr(65020);
- break;
- case "IMP":
- $currency_sign = " ".$pdf->unichr(163);
- break;
- case "ILS":
- $currency_sign = " ".$pdf->unichr(8362);
- break;
- case "JMD":
- $currency_sign = " ".$pdf->unichr(74).$pdf->unichr(36);
- break;
- case "JPY":
- $currency_sign = " ".$pdf->unichr(165);
- break;
- case "JEP":
- $currency_sign = " ".$pdf->unichr(163);
- break;
- case "KZT":
- $currency_sign = " ".$pdf->unichr(1083).$pdf->unichr(1074);
- break;
- case "KPW":
- $currency_sign = " ".$pdf->unichr(8361);
- break;
- case "KRW":
- $currency_sign = " ".$pdf->unichr(8361);
- break;
- case "KGS":
- $currency_sign = " ".$pdf->unichr(1083).$pdf->unichr(1074);
- break;
- case "LAK":
- $currency_sign = " ".$pdf->unichr(8365);
- break;
- case "LVL":
- $currency_sign = " ".$pdf->unichr(76).$pdf->unichr(115);
- break;
- case "LBP":
- $currency_sign = " ".$pdf->unichr(163);
- break;
- case "LRD":
- $currency_sign = " ".$pdf->unichr(36);
- break;
- case "LTL":
- $currency_sign = " ".$pdf->unichr(76).$pdf->unichr(116);
- break;
- case "MKD":
- $currency_sign = " ".$pdf->unichr(1076).$pdf->unichr(1077).$pdf->unichr(1085);
- break;
- case "MYR":
- $currency_sign = " ".$pdf->unichr(82).$pdf->unichr(77);
- break;
- case "MUR":
- $currency_sign = " ".$pdf->unichr(8360);
- break;
- case "MXN":
- $currency_sign = " ".$pdf->unichr(36);
- break;
- case "MNT":
- $currency_sign = " ".$pdf->unichr(8366);
- break;
- case "MZN":
- $currency_sign = " ".$pdf->unichr(77).$pdf->unichr(84);
- break;
- case "NAD":
- $currency_sign = " ".$pdf->unichr(36);
- break;
- case "NPR":
- $currency_sign = " ".$pdf->unichr(8360);
- break;
- case "ANG":
- $currency_sign = " ".$pdf->unichr(402);
- break;
- case "NZD":
- $currency_sign = " ".$pdf->unichr(36);
- break;
- case "NIO":
- $currency_sign = " ".$pdf->unichr(67).$pdf->unichr(36);
- break;
- case "NGN":
- $currency_sign = " ".$pdf->unichr(8358);
- break;
- case "NOK":
- $currency_sign = " ".$pdf->unichr(107).$pdf->unichr(114);
- break;
- case "OMR":
- $currency_sign = " ".$pdf->unichr(65020);
- break;
- case "PKR":
- $currency_sign = " ".$pdf->unichr(8360);
- break;
- case "PAB":
- $currency_sign = " ".$pdf->unichr(66).$pdf->unichr(47).$pdf->unichr(46);
- break;
- case "PYG":
- $currency_sign = " ".$pdf->unichr(71).$pdf->unichr(115);
- break;
- case "PEN":
- $currency_sign = " ".$pdf->unichr(83).$pdf->unichr(47).$pdf->unichr(46);
- break;
- case "PHP":
- $currency_sign = " ".$pdf->unichr(8369);
- break;
- case "PLN":
- $currency_sign = " ".$pdf->unichr(122).$pdf->unichr(322);
- break;
- case "QAR":
- $currency_sign = " ".$pdf->unichr(65020);
- break;
- case "RON":
- $currency_sign = " ".$pdf->unichr(108).$pdf->unichr(101).$pdf->unichr(105);
- break;
- case "RUB":
- $currency_sign = " ".$pdf->unichr(1088).$pdf->unichr(1091).$pdf->unichr(1073);
- break;
- case "SHP":
- $currency_sign = " ".$pdf->unichr(163);
- break;
- case "SAR":
- $currency_sign = " ".$pdf->unichr(65020);
- break;
- case "RSD":
- $currency_sign = " ".$pdf->unichr(1044).$pdf->unichr(1080).$pdf->unichr(1085).$pdf->unichr(46);
- break;
- case "SCR":
- $currency_sign = " ".$pdf->unichr(8360);
- break;
- case "SGD":
- $currency_sign = " ".$pdf->unichr(36);
- break;
- case "SBD":
- $currency_sign = " ".$pdf->unichr(36);
- break;
- case "SOS":
- $currency_sign = " ".$pdf->unichr(83);
- break;
- case "ZAR":
- $currency_sign = " ".$pdf->unichr(82);
- break;
- case "LKR":
- $currency_sign = " ".$pdf->unichr(8360);
- break;
- case "SEK":
- $currency_sign = " ".$pdf->unichr(107).$pdf->unichr(114);
- break;
- case "CHF":
- $currency_sign = " ".$pdf->unichr(67).$pdf->unichr(72).$pdf->unichr(70);
- break;
- case "SRD":
- $currency_sign = " ".$pdf->unichr(36);
- break;
- case "SYP":
- $currency_sign = " ".$pdf->unichr(163);
- break;
- case "TWD":
- $currency_sign = " ".$pdf->unichr(78).$pdf->unichr(84).$pdf->unichr(36);
- break;
- case "THB":
- $currency_sign = " ".$pdf->unichr(3647);
- break;
- case "TTD":
- $currency_sign = " ".$pdf->unichr(84).$pdf->unichr(84).$pdf->unichr(36);
- break;
- case "TRY":
- $currency_sign = " ".$pdf->unichr(84).$pdf->unichr(76);
- break;
- case "TRL":
- $currency_sign = " ".$pdf->unichr(8356);
- break;
- case "TVD":
- $currency_sign = " ".$pdf->unichr(36);
- break;
- case "UAH":
- $currency_sign = " ".$pdf->unichr(8372);
- break;
- case "GBP":
- $currency_sign = " ".$pdf->unichr(163);
- break;
- case "USD":
- $currency_sign = " ".$pdf->unichr(36);
- break;
- case "UYU":
- $currency_sign = " ".$pdf->unichr(36).$pdf->unichr(85);
- break;
- case "UZS":
- $currency_sign = " ".$pdf->unichr(1083).$pdf->unichr(1074);
- break;
- case "VEF":
- $currency_sign = " ".$pdf->unichr(66).$pdf->unichr(115);
- break;
- case "VND":
- $currency_sign = " ".$pdf->unichr(8363);
- break;
- case "YER":
- $currency_sign = " ".$pdf->unichr(65020);
- break;
- case "ZWD":
- $currency_sign = " ".$pdf->unichr(90).$pdf->unichr(36);
- break;
- default:
- $currency_sign = " ".$currency_code;
- break;
- }
+ global $form;
+
+ $currency_sign = '';
+
+ if (! is_object($form)) $form = new Form($db);
+
+ $form->load_cache_currencies();
+
+ if (is_array($form->cache_currencies[$currency_code]['unicode']) && ! empty($form->cache_currencies[$currency_code]['unicode']))
+ {
+ foreach($form->cache_currencies[$currency_code]['unicode'] as $unicode)
+ {
+ $currency_sign.= $pdf->unichr($unicode);
+ }
+ }
+ else
+ {
+ $currency_sign = $currency_code;
+ }
+
return $currency_sign;
}
diff --git a/htdocs/install/mysql/data/llx_c_currencies.sql b/htdocs/install/mysql/data/llx_c_currencies.sql
index 6e67bcb6086..23854ed87be 100644
--- a/htdocs/install/mysql/data/llx_c_currencies.sql
+++ b/htdocs/install/mysql/data/llx_c_currencies.sql
@@ -1,11 +1,12 @@
-- Copyright (C) 2001-2004 Rodolphe Quiedeville
-- Copyright (C) 2003 Jean-Louis Bergamo
--- Copyright (C) 2004-2010 Laurent Destailleur
+-- Copyright (C) 2004-2012 Laurent Destailleur
-- Copyright (C) 2004 Benoit Mortier
-- Copyright (C) 2004 Guillaume Delecourt
--- Copyright (C) 2005-2009 Regis Houssin
+-- Copyright (C) 2005-2012 Regis Houssin
-- Copyright (C) 2007 Patrick Raguin
-- Copyright (C) 2011 Juanjo Menent
+--
-- This program is free software; you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation; either version 2 of the License, or
@@ -27,65 +28,147 @@
--
--
--- Devises (code secondaire - code ISO4217 - libelle fr)
+-- Currencies (primary code - code ISO4217 - libelle us)
--
-INSERT INTO llx_c_currencies ( code, code_iso, active, label ) VALUES ( 'BD', 'BBD', 1, 'Barbadian or Bajan Dollar');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'BT', 'THB', 1, 'Bath thailandais');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'CD', 'DKK', 1, 'Couronnes dannoises');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'CN', 'NOK', 1, 'Couronnes norvegiennes');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'CS', 'SEK', 1, 'Couronnes suedoises');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'CZ', 'CZK', 1, 'Couronnes tcheques');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'TD', 'TND', 1, 'Dinar tunisien');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'DA', 'DZD', 1, 'Dinar algérien');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'DH', 'MAD', 1, 'Dirham');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'AD', 'AUD', 1, 'Dollars australiens');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'DC', 'CAD', 1, 'Dollars canadiens');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'HK', 'HKD', 1, 'Dollars hong kong');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'DS', 'SGD', 1, 'Dollars singapour');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'DU', 'USD', 1, 'Dollars us');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'EC', 'XEU', 1, 'Ecus');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'ES', 'PTE', 0, 'Escudos');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'FB', 'BEF', 0, 'Francs belges');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'FF', 'FRF', 0, 'Francs francais');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'FL', 'LUF', 0, 'Francs luxembourgeois');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'FO', 'NLG', 1, 'Florins');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'FS', 'CHF', 1, 'Francs suisses');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'LI', 'IEP', 1, 'Livres irlandaises');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'LH', 'HNL', 1, 'Lempiras');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'LR', 'ITL', 0, 'Lires');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'LS', 'GBP', 1, 'Livres sterling');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'MA', 'DEM', 0, 'Deutsch mark');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'MF', 'FIM', 1, 'Mark finlandais');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'MR', 'MRO', 1, 'Ouguiya Mauritanien');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'PA', 'ARP', 1, 'Pesos argentins');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'PC', 'CLP', 1, 'Pesos chilien');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'PE', 'ESP', 1, 'Pesete');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'PL', 'PLN', 1, 'Zlotys polonais');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'SA', 'ATS', 1, 'Shiliing autrichiens');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'TW', 'TWD', 1, 'Dollar taiwanais');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'YE', 'JPY', 1, 'Yens');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'ZA', 'ZAR', 1, 'Rand africa');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'DR', 'GRD', 1, 'Drachme (grece)');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'EU', 'EUR', 1, 'Euros');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'RB', 'BRL', 1, 'Real bresilien');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'SK', 'SKK', 1, 'Couronnes slovaques');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'YC', 'CNY', 1, 'Yuang chinois');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'AE', 'AED', 1, 'Arabes emirats dirham');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'CF', 'XAF', 1, 'Francs cfa beac');
--- insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'CF', 'XOF', 1, 'Francs cfa bceao'); doublon sur code court
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'EG', 'EGP', 1, 'Livre egyptienne');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'KR', 'KRW', 1, 'Won coree du sud');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'NZ', 'NZD', 1, 'Dollar neo-zelandais');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'TR', 'TRL', 1, 'Livre turque');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'ID', 'IDR', 1, 'Rupiahs d''indonesie');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'IN', 'INR', 1, 'Roupie indienne');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'LT', 'LTL', 1, 'Litas');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'RU', 'SUR', 1, 'Rouble');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'UA', 'UAH', 1, 'Hryvnia');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'FH', 'HUF', 1, 'Forint hongrois');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'LK', 'LKR', 1, 'Roupies sri lanka');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'MU', 'MUR', 1, 'Roupies mauritiennes');
-insert into llx_c_currencies ( code, code_iso, active, label ) values ( 'SR', 'SAR', 1, 'Saudi riyal');
-insert into llx_c_currencies ( code, code_iso, active, label ) VALUES ( 'MX', 'MXP', 1, 'Pesos Mexicans');
-insert into llx_c_currencies ( code, code_iso, active, label ) VALUES ( 'VE', 'VEF', 1, 'Venezuelan Bolívar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'ALL', '[76,101,107]', 1, 'Albania Lek');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'DZD', NULL, 1, 'Algeria Dinar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'AFN', '[1547]', 1, 'Afghanistan Afghani');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'ARS', '[36]', 1, 'Argentino Peso');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'AWG', '[402]', 1, 'Aruba Guilder');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'AUD', '[36]', 1, 'Australia Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'AZN', '[1084,1072,1085]', 1, 'Azerbaijan New Manat');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BSD', '[36]', 1, 'Bahamas Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BBD', '[36]', 1, 'Barbados Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BYR', '[112,46]', 1, 'Belarus Ruble');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BZD', '[66,90,36]', 1, 'Belize Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BMD', '[36]', 1, 'Bermuda Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BOB', '[36,98]', 1, 'Bolivia Boliviano');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BAM', '[75,77]', 1, 'Bosnia and Herzegovina Convertible Marka');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BWP', '[80]', 1, 'Botswana Pula');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BGN', '[1083,1074]', 1, 'Bulgaria Lev');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BRL', '[82,36]', 1, 'Brazil Real');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BND', '[36]', 1, 'Brunei Darussalam Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'KHR', '[6107]', 1, 'Cambodia Riel');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'CAD', '[36]', 1, 'Canada Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'KYD', '[36]', 1, 'Cayman Islands Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'CLP', '[36]', 1, 'Chile Peso');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'CNY', '[165]', 1, 'China Yuan Renminbi');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'COP', '[36]', 1, 'Colombia Peso');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'CRC', '[8353]', 1, 'Costa Rica Colon');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'HRK', '[107,110]', 1, 'Croatia Kuna');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'CUP', '[8369]', 1, 'Cuba Peso');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'CZK', '[75,269]', 1, 'Czech Republic Koruna');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'DKK', '[107,114]', 1, 'Denmark Krone');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'DOP', '[82,68,36]', 1, 'Dominican Republic Peso');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'XCD', '[36]', 1, 'East Caribbean Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'EGP', '[163]', 1, 'Egypt Pound');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'SVC', '[36]', 1, 'El Salvador Colon');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'EEK', '[107,114]', 1, 'Estonia Kroon');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'EUR', '[8364]', 1, 'Euro Member Countries');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'FKP', '[163]', 1, 'Falkland Islands (Malvinas) Pound');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'FJD', '[36]', 1, 'Fiji Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'GHC', '[162]', 1, 'Ghana Cedis');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'GIP', '[163]', 1, 'Gibraltar Pound');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'GTQ', '[81]', 1, 'Guatemala Quetzal');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'GGP', '[163]', 1, 'Guernsey Pound');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'GYD', '[36]', 1, 'Guyana Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'HNL', '[76]', 1, 'Honduras Lempira');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'HKD', '[36]', 1, 'Hong Kong Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'HUF', '[70,116]', 1, 'Hungary Forint');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'ISK', '[107,114]', 1, 'Iceland Krona');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'INR', NULL, 1, 'India Rupee');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'IDR', '[82,112]', 1, 'Indonesia Rupiah');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'IRR', '[65020]', 1, 'Iran Rial');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'IMP', '[163]', 1, 'Isle of Man Pound');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'ILS', '[8362]', 1, 'Israel Shekel');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'JMD', '[74,36]', 1, 'Jamaica Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'JPY', '[165]', 1, 'Japan Yen');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'JEP', '[163]', 1, 'Jersey Pound');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'KZT', '[1083,1074]', 1, 'Kazakhstan Tenge');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'KPW', '[8361]', 1, 'Korea (North) Won');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'KRW', '[8361]', 1, 'Korea (South) Won');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'KGS', '[1083,1074]', 1, 'Kyrgyzstan Som');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'LAK', '[8365]', 1, 'Laos Kip');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'LVL', '[76,115]', 1, 'Latvia Lat');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'LBP', '[163]', 1, 'Lebanon Pound');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'LRD', '[36]', 1, 'Liberia Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'LTL', '[76,116]', 1, 'Lithuania Litas');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'MKD', '[1076,1077,1085]', 1, 'Macedonia Denar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'MYR', '[82,77]', 1, 'Malaysia Ringgit');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'MRO', NULL, 1, 'Mauritania Ouguiya');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'MUR', '[8360]', 1, 'Mauritius Rupee');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'MXN', '[36]', 1, 'Mexico Peso');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'MNT', '[8366]', 1, 'Mongolia Tughrik');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'MAD', NULL, 1, 'Morocco Dirham');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'MZN', '[77,84]', 1, 'Mozambique Metical');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'NAD', '[36]', 1, 'Namibia Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'NPR', '[8360]', 1, 'Nepal Rupee');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'ANG', '[402]', 1, 'Netherlands Antilles Guilder');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'NZD', '[36]', 1, 'New Zealand Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'NIO', '[67,36]', 1, 'Nicaragua Cordoba');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'NGN', '[8358]', 1, 'Nigeria Naira');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'NOK', '[107,114]', 1, 'Norway Krone');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'OMR', '[65020]', 1, 'Oman Rial');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'PKR', '[8360]', 1, 'Pakistan Rupee');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'PAB', '[66,47,46]', 1, 'Panama Balboa');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'PYG', '[71,115]', 1, 'Paraguay Guarani');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'PEN', '[83,47,46]', 1, 'Peru Nuevo Sol');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'PHP', '[8369]', 1, 'Philippines Peso');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'PLN', '[122,322]', 1, 'Poland Zloty');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'QAR', '[65020]', 1, 'Qatar Riyal');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'RON', '[108,101,105]', 1, 'Romania New Leu');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'RUB', '[1088,1091,1073]', 1, 'Russia Ruble');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'SHP', '[163]', 1, 'Saint Helena Pound');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'SAR', '[65020]', 1, 'Saudi Arabia Riyal');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'RSD', '[1044,1080,1085,46]', 1, 'Serbia Dinar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'SCR', '[8360]', 1, 'Seychelles Rupee');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'SGD', '[36]', 1, 'Singapore Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'SBD', '[36]', 1, 'Solomon Islands Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'SOS', '[83]', 1, 'Somalia Shilling');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'ZAR', '[82]', 1, 'South Africa Rand');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'LKR', '[8360]', 1, 'Sri Lanka Rupee');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'SEK', '[107,114]', 1, 'Sweden Krona');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'CHF', '[67,72,70]', 1, 'Switzerland Franc');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'SRD', '[36]', 1, 'Suriname Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'SYP', '[163]', 1, 'Syria Pound');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'TWD', '[78,84,36]', 1, 'Taiwan New Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'THB', '[3647]', 1, 'Thailand Baht');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'TTD', '[84,84,36]', 1, 'Trinidad and Tobago Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'TND', NULL, 1, 'Tunisia Dinar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'TRL', '[84,76]', 1, 'Turkey Lira');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'TRY', '[8356]', 1, 'Turkey Lira');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'TVD', '[36]', 1, 'Tuvalu Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'UAH', '[8372]', 1, 'Ukraine Hryvna');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'AED', NULL, 1, 'United Arab Emirates Dirham');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'GBP', '[163]', 1, 'United Kingdom Pound');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'USD', '[36]', 1, 'United States Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'UYU', '[36,85]', 1, 'Uruguay Peso');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'UZS', '[1083,1074]', 1, 'Uzbekistan Som');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'VEF', '[66,115]', 1, 'Venezuela Bolivar Fuerte');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'VND', '[8363]', 1, 'Viet Nam Dong');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'XAF', NULL, 1, 'Communaute Financiere Africaine (BEAC) CFA Franc');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'XOF', NULL, 1, 'Communaute Financiere Africaine (BCEAO) Franc');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'YER', '[65020]', 1, 'Yemen Rial');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'ZWD', '[90,36]', 1, 'Zimbabwe Dollar');
+
+-- obsolete
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'ATS', NULL, 0, 'Shiliing autrichiens');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BEF', NULL, 0, 'Francs belges');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'DEM', NULL, 0, 'Deutsch mark');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'ESP', NULL, 0, 'Pesete');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'FIM', NULL, 0, 'Mark finlandais');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'FRF', NULL, 0, 'Francs francais');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'GRD', NULL, 0, 'Drachme (grece)');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'IEP', NULL, 0, 'Livres irlandaises');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'ITL', NULL, 0, 'Lires');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'LUF', NULL, 0, 'Francs luxembourgeois');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'NLG', NULL, 0, 'Florins');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'PTE', NULL, 0, 'Escudos');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'SKK', NULL, 0, 'Couronnes slovaques');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'SUR', NULL, 0, 'Rouble');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'XEU', NULL, 0, 'Ecus');
+
+-- invalid (for compatibility)
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'ARP', NULL, 0, 'Pesos argentins');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'MXP', NULL, 0, 'Pesos Mexicans');
diff --git a/htdocs/install/mysql/migration/3.1.0-3.2.0.sql b/htdocs/install/mysql/migration/3.1.0-3.2.0.sql
index 9e255ed3137..d37e89e72c3 100755
--- a/htdocs/install/mysql/migration/3.1.0-3.2.0.sql
+++ b/htdocs/install/mysql/migration/3.1.0-3.2.0.sql
@@ -211,8 +211,8 @@ ALTER TABLE llx_propal ADD CONSTRAINT fk_propal_fk_user_author FOREIGN KEY (fk_u
ALTER TABLE llx_propal ADD CONSTRAINT fk_propal_fk_user_valid FOREIGN KEY (fk_user_valid) REFERENCES llx_user (rowid);
ALTER TABLE llx_propal ADD CONSTRAINT fk_propal_fk_user_cloture FOREIGN KEY (fk_user_cloture) REFERENCES llx_user (rowid);
ALTER TABLE llx_propal ADD CONSTRAINT fk_propal_fk_projet FOREIGN KEY (fk_projet) REFERENCES llx_projet (rowid);
-ALTER TABLE llx_propal ADD CONSTRAINT fk_propal_fk_currency FOREIGN KEY (fk_currency) REFERENCES llx_c_currencies (code);
ALTER TABLE llx_propal DROP FOREIGN KEY fk_propal_fk_account;
+ALTER TABLE llx_propal DROP FOREIGN KEY fk_propal_fk_currency;
ALTER TABLE llx_commande MODIFY fk_projet integer DEFAULT NULL;
ALTER TABLE llx_commande ADD COLUMN fk_account integer AFTER facture;
@@ -227,16 +227,16 @@ ALTER TABLE llx_commande ADD CONSTRAINT fk_commande_fk_user_author FOREIGN KEY (
ALTER TABLE llx_commande ADD CONSTRAINT fk_commande_fk_user_valid FOREIGN KEY (fk_user_valid) REFERENCES llx_user (rowid);
ALTER TABLE llx_commande ADD CONSTRAINT fk_commande_fk_user_cloture FOREIGN KEY (fk_user_cloture) REFERENCES llx_user (rowid);
ALTER TABLE llx_commande ADD CONSTRAINT fk_commande_fk_projet FOREIGN KEY (fk_projet) REFERENCES llx_projet (rowid);
-ALTER TABLE llx_commande ADD CONSTRAINT fk_commande_fk_currency FOREIGN KEY (fk_currency) REFERENCES llx_c_currencies (code);
ALTER TABLE llx_commande DROP FOREIGN KEY fk_commande_fk_account;
+ALTER TABLE llx_commande DROP FOREIGN KEY fk_commande_fk_currency;
ALTER TABLE llx_facture MODIFY fk_projet integer DEFAULT NULL;
ALTER TABLE llx_facture ADD COLUMN fk_account integer AFTER fk_projet;
ALTER TABLE llx_facture ADD COLUMN fk_currency varchar(2) AFTER fk_account;
ALTER TABLE llx_facture ADD INDEX idx_facture_fk_account (fk_account);
ALTER TABLE llx_facture ADD INDEX idx_facture_fk_currency (fk_currency);
-ALTER TABLE llx_facture ADD CONSTRAINT fk_facture_fk_currency FOREIGN KEY (fk_currency) REFERENCES llx_c_currencies (code);
ALTER TABLE llx_facture DROP FOREIGN KEY fk_facture_fk_account;
+ALTER TABLE llx_facture DROP FOREIGN KEY fk_facture_fk_currency;
ALTER TABLE llx_actioncomm DROP COLUMN propalrowid;
ALTER TABLE llx_actioncomm DROP COLUMN fk_facture;
@@ -253,4 +253,159 @@ ALTER TABLE llx_product_stock DROP COLUMN location;
ALTER TABLE llx_adherent_extrafields ADD COLUMN import_key varchar(14);
ALTER TABLE llx_product_extrafields ADD COLUMN import_key varchar(14);
ALTER TABLE llx_societe_extrafields ADD COLUMN import_key varchar(14);
+
+DROP TABLE llx_c_currencies;
+create table llx_c_currencies
+(
+ code_iso varchar(3) PRIMARY KEY,
+ label varchar(64) NOT NULL,
+ unicode varchar(32) DEFAULT NULL,
+ active tinyint DEFAULT 1 NOT NULL
+)ENGINE=innodb;
+
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'ALL', '[76,101,107]', 1, 'Albania Lek');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'DZD', NULL, 1, 'Algeria Dinar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'AFN', '[1547]', 1, 'Afghanistan Afghani');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'ARS', '[36]', 1, 'Argentino Peso');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'AWG', '[402]', 1, 'Aruba Guilder');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'AUD', '[36]', 1, 'Australia Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'AZN', '[1084,1072,1085]', 1, 'Azerbaijan New Manat');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BSD', '[36]', 1, 'Bahamas Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BBD', '[36]', 1, 'Barbados Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BYR', '[112,46]', 1, 'Belarus Ruble');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BZD', '[66,90,36]', 1, 'Belize Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BMD', '[36]', 1, 'Bermuda Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BOB', '[36,98]', 1, 'Bolivia Boliviano');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BAM', '[75,77]', 1, 'Bosnia and Herzegovina Convertible Marka');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BWP', '[80]', 1, 'Botswana Pula');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BGN', '[1083,1074]', 1, 'Bulgaria Lev');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BRL', '[82,36]', 1, 'Brazil Real');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BND', '[36]', 1, 'Brunei Darussalam Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'KHR', '[6107]', 1, 'Cambodia Riel');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'CAD', '[36]', 1, 'Canada Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'KYD', '[36]', 1, 'Cayman Islands Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'CLP', '[36]', 1, 'Chile Peso');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'CNY', '[165]', 1, 'China Yuan Renminbi');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'COP', '[36]', 1, 'Colombia Peso');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'CRC', '[8353]', 1, 'Costa Rica Colon');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'HRK', '[107,110]', 1, 'Croatia Kuna');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'CUP', '[8369]', 1, 'Cuba Peso');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'CZK', '[75,269]', 1, 'Czech Republic Koruna');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'DKK', '[107,114]', 1, 'Denmark Krone');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'DOP', '[82,68,36]', 1, 'Dominican Republic Peso');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'XCD', '[36]', 1, 'East Caribbean Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'EGP', '[163]', 1, 'Egypt Pound');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'SVC', '[36]', 1, 'El Salvador Colon');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'EEK', '[107,114]', 1, 'Estonia Kroon');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'EUR', '[8364]', 1, 'Euro Member Countries');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'FKP', '[163]', 1, 'Falkland Islands (Malvinas) Pound');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'FJD', '[36]', 1, 'Fiji Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'GHC', '[162]', 1, 'Ghana Cedis');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'GIP', '[163]', 1, 'Gibraltar Pound');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'GTQ', '[81]', 1, 'Guatemala Quetzal');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'GGP', '[163]', 1, 'Guernsey Pound');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'GYD', '[36]', 1, 'Guyana Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'HNL', '[76]', 1, 'Honduras Lempira');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'HKD', '[36]', 1, 'Hong Kong Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'HUF', '[70,116]', 1, 'Hungary Forint');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'ISK', '[107,114]', 1, 'Iceland Krona');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'INR', NULL, 1, 'India Rupee');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'IDR', '[82,112]', 1, 'Indonesia Rupiah');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'IRR', '[65020]', 1, 'Iran Rial');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'IMP', '[163]', 1, 'Isle of Man Pound');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'ILS', '[8362]', 1, 'Israel Shekel');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'JMD', '[74,36]', 1, 'Jamaica Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'JPY', '[165]', 1, 'Japan Yen');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'JEP', '[163]', 1, 'Jersey Pound');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'KZT', '[1083,1074]', 1, 'Kazakhstan Tenge');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'KPW', '[8361]', 1, 'Korea (North) Won');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'KRW', '[8361]', 1, 'Korea (South) Won');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'KGS', '[1083,1074]', 1, 'Kyrgyzstan Som');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'LAK', '[8365]', 1, 'Laos Kip');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'LVL', '[76,115]', 1, 'Latvia Lat');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'LBP', '[163]', 1, 'Lebanon Pound');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'LRD', '[36]', 1, 'Liberia Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'LTL', '[76,116]', 1, 'Lithuania Litas');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'MKD', '[1076,1077,1085]', 1, 'Macedonia Denar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'MYR', '[82,77]', 1, 'Malaysia Ringgit');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'MRO', NULL, 1, 'Mauritania Ouguiya');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'MUR', '[8360]', 1, 'Mauritius Rupee');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'MXN', '[36]', 1, 'Mexico Peso');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'MNT', '[8366]', 1, 'Mongolia Tughrik');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'MAD', NULL, 1, 'Morocco Dirham');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'MZN', '[77,84]', 1, 'Mozambique Metical');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'NAD', '[36]', 1, 'Namibia Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'NPR', '[8360]', 1, 'Nepal Rupee');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'ANG', '[402]', 1, 'Netherlands Antilles Guilder');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'NZD', '[36]', 1, 'New Zealand Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'NIO', '[67,36]', 1, 'Nicaragua Cordoba');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'NGN', '[8358]', 1, 'Nigeria Naira');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'NOK', '[107,114]', 1, 'Norway Krone');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'OMR', '[65020]', 1, 'Oman Rial');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'PKR', '[8360]', 1, 'Pakistan Rupee');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'PAB', '[66,47,46]', 1, 'Panama Balboa');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'PYG', '[71,115]', 1, 'Paraguay Guarani');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'PEN', '[83,47,46]', 1, 'Peru Nuevo Sol');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'PHP', '[8369]', 1, 'Philippines Peso');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'PLN', '[122,322]', 1, 'Poland Zloty');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'QAR', '[65020]', 1, 'Qatar Riyal');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'RON', '[108,101,105]', 1, 'Romania New Leu');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'RUB', '[1088,1091,1073]', 1, 'Russia Ruble');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'SHP', '[163]', 1, 'Saint Helena Pound');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'SAR', '[65020]', 1, 'Saudi Arabia Riyal');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'RSD', '[1044,1080,1085,46]', 1, 'Serbia Dinar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'SCR', '[8360]', 1, 'Seychelles Rupee');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'SGD', '[36]', 1, 'Singapore Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'SBD', '[36]', 1, 'Solomon Islands Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'SOS', '[83]', 1, 'Somalia Shilling');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'ZAR', '[82]', 1, 'South Africa Rand');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'LKR', '[8360]', 1, 'Sri Lanka Rupee');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'SEK', '[107,114]', 1, 'Sweden Krona');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'CHF', '[67,72,70]', 1, 'Switzerland Franc');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'SRD', '[36]', 1, 'Suriname Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'SYP', '[163]', 1, 'Syria Pound');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'TWD', '[78,84,36]', 1, 'Taiwan New Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'THB', '[3647]', 1, 'Thailand Baht');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'TTD', '[84,84,36]', 1, 'Trinidad and Tobago Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'TND', NULL, 1, 'Tunisia Dinar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'TRL', '[84,76]', 1, 'Turkey Lira');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'TRY', '[8356]', 1, 'Turkey Lira');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'TVD', '[36]', 1, 'Tuvalu Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'UAH', '[8372]', 1, 'Ukraine Hryvna');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'AED', NULL, 1, 'United Arab Emirates Dirham');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'GBP', '[163]', 1, 'United Kingdom Pound');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'USD', '[36]', 1, 'United States Dollar');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'UYU', '[36,85]', 1, 'Uruguay Peso');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'UZS', '[1083,1074]', 1, 'Uzbekistan Som');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'VEF', '[66,115]', 1, 'Venezuela Bolivar Fuerte');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'VND', '[8363]', 1, 'Viet Nam Dong');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'XAF', NULL, 1, 'Communaute Financiere Africaine (BEAC) CFA Franc');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'XOF', NULL, 1, 'Communaute Financiere Africaine (BCEAO) Franc');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'YER', '[65020]', 1, 'Yemen Rial');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'ZWD', '[90,36]', 1, 'Zimbabwe Dollar');
+
+-- obsolete
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'ATS', NULL, 0, 'Shiliing autrichiens');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'BEF', NULL, 0, 'Francs belges');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'DEM', NULL, 0, 'Deutsch mark');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'ESP', NULL, 0, 'Pesete');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'FIM', NULL, 0, 'Mark finlandais');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'FRF', NULL, 0, 'Francs francais');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'GRD', NULL, 0, 'Drachme (grece)');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'IEP', NULL, 0, 'Livres irlandaises');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'ITL', NULL, 0, 'Lires');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'LUF', NULL, 0, 'Francs luxembourgeois');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'NLG', NULL, 0, 'Florins');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'PTE', NULL, 0, 'Escudos');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'SKK', NULL, 0, 'Couronnes slovaques');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'SUR', NULL, 0, 'Rouble');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'XEU', NULL, 0, 'Ecus');
+
+-- invalid (for compatibility)
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'ARP', NULL, 0, 'Pesos argentins');
+INSERT INTO llx_c_currencies ( code_iso, unicode, active, label ) VALUES ( 'MXP', NULL, 0, 'Pesos Mexicans');
+
+ALTER TABLE llx_propal ADD CONSTRAINT fk_propal_fk_currency FOREIGN KEY (fk_currency) REFERENCES llx_c_currencies (code_iso);
+ALTER TABLE llx_commande ADD CONSTRAINT fk_commande_fk_currency FOREIGN KEY (fk_currency) REFERENCES llx_c_currencies (code_iso);
+ALTER TABLE llx_facture ADD CONSTRAINT fk_facture_fk_currency FOREIGN KEY (fk_currency) REFERENCES llx_c_currencies (code_iso);
\ No newline at end of file
diff --git a/htdocs/install/mysql/tables/llx_c_currencies.sql b/htdocs/install/mysql/tables/llx_c_currencies.sql
index 9a0296765b5..62f7a536108 100644
--- a/htdocs/install/mysql/tables/llx_c_currencies.sql
+++ b/htdocs/install/mysql/tables/llx_c_currencies.sql
@@ -1,5 +1,6 @@
-- ========================================================================
--- Copyright (C) 2005 Laurent Destailleur
+-- Copyright (C) 2005 Laurent Destailleur
+-- Copyright (C) 2012 Regis Houssin
--
-- This program is free software; you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
@@ -18,10 +19,11 @@
create table llx_c_currencies
(
- code varchar(2) PRIMARY KEY,
- code_iso varchar(3) NOT NULL,
- label varchar(64),
- labelsing varchar(64),
- active tinyint DEFAULT 1 NOT NULL
+ code varchar(2) PRIMARY KEY,
+ code_iso varchar(3) NOT NULL,
+ label varchar(64) NOT NULL,
+ unicode varchar(32) DEFAULT NULL,
+ active tinyint DEFAULT 1 NOT NULL
+
)ENGINE=innodb;