public function convert2Locale($vlu) { if (!is_array($vlu)) { return $vlu; } setLangInfo(array('thousands_sep' => ".")); foreach ($this->fields as $key => $field) { if (isset($field['name'])) { $key = $field['name']; if (isset($field['dec']) && !isset($field['precision'])) { $field['precision'] = $field['dec']; } if (array_key_exists($key, $vlu)) { if ($vlu[$key] === null) { $vlu[$key] = ''; } else { $type = strToLower($field['type']); switch ($field['type']) { case 'real': case 'double': case 'number': case 'float': $vlu[$key] = R3NumberFormat($vlu[$key], isset($field['precision']) ? $field['precision'] : null, true); break; case 'integer': $vlu[$key] = R3NumberFormat($vlu[$key], isset($field['precision']) ? $field['precision'] : 0, true); break; case 'date': $vlu[$key] = SQLDateToStr($vlu[$key], R3Locale::getPhpDateFormat()); break; case 'datetime': case 'now': $vlu[$key] = SQLDateToStr($vlu[$key], R3Locale::getPhpDateTimeFormat()); break; case 'boolean': if ($vlu[$key] === true) { $vlu[$key] = 'T'; } else { if ($vlu[$key] === false) { $vlu[$key] = 'F'; } } } } } } } return $vlu; }
public function convert2Locale(array $vlu) { // Change to locale $oldMessageLocale = setlocale(LC_MESSAGES, 0); $oldNumericLocale = setlocale(LC_NUMERIC, 0); setlocale(LC_NUMERIC, getLocaleInfo(R3Locale::getLanguageCode())); setLangInfo(array('thousands_sep' => ".")); foreach ($this->fields as $key => $field) { if (isset($field['name'])) { $key = $field['name']; if (isset($field['dec']) && !isset($field['precision'])) { $field['precision'] = $field['dec']; } if (isset($field['is_primary_key']) && $field['is_primary_key'] === true) { continue; } if (array_key_exists($key, $vlu)) { if ($vlu[$key] === null) { $vlu[$key] = ''; // IE Fix in json response } else { $type = strToLower($field['type']); switch ($field['type']) { case 'real': case 'double': case 'number': case 'float': $vlu[$key] = R3NumberFormat($vlu[$key], isset($field['precision']) ? $field['precision'] : null, true); break; case 'integer': $vlu[$key] = R3NumberFormat($vlu[$key], isset($field['precision']) ? $field['precision'] : 0, true); break; case 'date': $vlu[$key] = SQLDateToStr($vlu[$key], R3Locale::getPhpDateFormat()); break; case 'datetime': case 'now': $vlu[$key] = SQLDateToStr($vlu[$key], R3Locale::getPhpDateTimeFormat()); break; case 'boolean': if ($vlu[$key] === true) { $vlu[$key] = 'T'; } else { if ($vlu[$key] === false) { $vlu[$key] = 'F'; } } } } } } } setlocale(LC_MESSAGES, $oldMessageLocale); setlocale(LC_NUMERIC, $oldNumericLocale); return $vlu; }