Пример #1
0
 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;
 }
Пример #2
0
 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;
 }