diff --git a/ajax_dataload.php b/ajax_dataload.php index 23365a061..c19837b3f 100644 --- a/ajax_dataload.php +++ b/ajax_dataload.php @@ -143,14 +143,14 @@ if (!empty($module_query) && $module_query != 'menu' && $module_query != 'custom // Formattazione automatica if (!empty($total['format'][$pos]) && !empty($value)) { - if (Translator::getFormatter()->isStandardNumber($value)) { - $value = Translator::numberToLocale($value); - } elseif (Translator::getFormatter()->isStandardTimestamp($value)) { - $value = Translator::timestampToLocale($value); - } elseif (Translator::getFormatter()->isStandardDate($value)) { + if (Translator::getFormatter()->isStandardDate($value)) { $value = Translator::dateToLocale($value); } elseif (Translator::getFormatter()->isStandardTime($value)) { $value = Translator::timeToLocale($value); + } elseif (Translator::getFormatter()->isStandardTimestamp($value)) { + $value = Translator::timestampToLocale($value); + } elseif (Translator::getFormatter()->isStandardNumber($value)) { + $value = Translator::numberToLocale($value); } } diff --git a/config.example.php b/config.example.php index de1614c53..ff646471c 100644 --- a/config.example.php +++ b/config.example.php @@ -24,7 +24,7 @@ $HTMLWrapper = null; $HTMLHandlers = []; $HTMLManagers = []; -// Lingua del progetto +// Lingua del progetto (per la traduzione e la conversione numerica) $lang = 'it'; -// Personalizzazione della formattazione di date e numeri +// Personalizzazione della formattazione di timestamp, date e orari $formatter = []; diff --git a/core.php b/core.php index ab43298e3..217336cd0 100644 --- a/core.php +++ b/core.php @@ -276,4 +276,3 @@ if (!API::isAPIRequest()) { $post = Filter::getPOST(); $get = Filter::getGET(); } - diff --git a/modules/fatture/edit.php b/modules/fatture/edit.php index 30c10a59d..f3a1f908d 100644 --- a/modules/fatture/edit.php +++ b/modules/fatture/edit.php @@ -293,7 +293,7 @@ if ($records[0]['stato'] != 'Pagato' && $records[0]['stato'] != 'Emessa') { '; echo ' - + Riga generica '; } diff --git a/src/Filter.php b/src/Filter.php index ef04ab5a2..49676373f 100644 --- a/src/Filter.php +++ b/src/Filter.php @@ -114,14 +114,14 @@ class Filter $output = trim(self::getPurifier()->purify($input)); if (!empty($output)) { - if (Translator::getFormatter()->isFormattedNumber($output)) { - $output = Translator::numberToEnglish($output); - } elseif (Translator::getFormatter()->isFormattedTimestamp($output)) { - $output = Translator::timestampToEnglish($output); - } elseif (Translator::getFormatter()->isFormattedDate($output)) { + if (Translator::getFormatter()->isFormattedDate($output)) { $output = Translator::dateToEnglish($output); } elseif (Translator::getFormatter()->isFormattedTime($output)) { $output = Translator::timeToEnglish($output); + } elseif (Translator::getFormatter()->isFormattedTimestamp($output)) { + $output = Translator::timestampToEnglish($output); + } elseif (Translator::getFormatter()->isFormattedNumber($output)) { + $output = Translator::numberToEnglish($output); } } } diff --git a/src/Intl/Formatter.php b/src/Intl/Formatter.php index da82851b2..b0f28eb6f 100644 --- a/src/Intl/Formatter.php +++ b/src/Intl/Formatter.php @@ -73,7 +73,7 @@ class Formatter $this->numberFormatter->setAttribute(NumberFormatter::FRACTION_DIGITS, $original); } - return $result; + return is_numeric($value) ? $result : false; } /** @@ -85,7 +85,7 @@ class Formatter */ public function parseNumber($value) { - return $this->numberFormatter->parse($value); + return ctype_digit(str_replace(array_values($this->getNumberSeparators()), '', $value)) ? $this->numberFormatter->parse($value) : false; } /** @@ -99,7 +99,7 @@ class Formatter { $result = $this->formatNumber($value); - return is_numeric($value) && !empty($result); + return !empty($result); } /** diff --git a/src/Modules.php b/src/Modules.php index fa7ecad3b..3a48d9da7 100644 --- a/src/Modules.php +++ b/src/Modules.php @@ -456,7 +456,7 @@ class Modules * * @return string */ - public static function link($modulo, $id_record, $testo = null, $alternativo = true, $extra = null, $blank = true) + public static function link($modulo, $id_record = null, $testo = null, $alternativo = true, $extra = null, $blank = true) { $testo = isset($testo) ? nl2br($testo) : tr('Visualizza scheda'); $alternativo = is_bool($alternativo) && $alternativo ? $testo : $alternativo; @@ -471,7 +471,9 @@ class Modules $extra .= !empty($blank) ? ' target="_blank"' : ''; if (!empty($module) && in_array($module['permessi'], ['r', 'rw'])) { - return ''.$testo.''; + $link = !empty($id_record) ? 'editor.php?id_module='.$module['id'].'&id_record='.$id_record : 'controller.php?id_module='.$module['id']; + + return ''.$testo.''; } else { return $alternativo; }