diff --git a/modules/contratti/buttons.php b/modules/contratti/buttons.php
index 487cf4240..6d8abeefd 100755
--- a/modules/contratti/buttons.php
+++ b/modules/contratti/buttons.php
@@ -50,12 +50,6 @@ echo '
// Duplica contratto
echo '
-';
\ No newline at end of file
diff --git a/modules/dashboard/edit.php b/modules/dashboard/edit.php
index 95da8363f..6c899e855 100755
--- a/modules/dashboard/edit.php
+++ b/modules/dashboard/edit.php
@@ -315,8 +315,8 @@ WHERE (SELECT COUNT(*) FROM in_interventi_tecnici WHERE in_interventi_tecnici.id
if (checkdate($data->format('m'), $data->format('d'), $data->format('Y'))){
- echo '
- ';
+ echo '
+ ';
}
}
diff --git a/modules/ddt/buttons.php b/modules/ddt/buttons.php
index 37d959cdd..be3275d1a 100755
--- a/modules/ddt/buttons.php
+++ b/modules/ddt/buttons.php
@@ -80,12 +80,7 @@ echo '
// Duplica ddt
echo '
-
+
'.tr('Duplica ddt').'
';
-echo '
-';
diff --git a/modules/fatture/buttons.php b/modules/fatture/buttons.php
index 13919c51e..9656bab8c 100755
--- a/modules/fatture/buttons.php
+++ b/modules/fatture/buttons.php
@@ -19,11 +19,6 @@
include_once __DIR__.'/../../core.php';
-echo '
-
- '.tr('Duplica fattura').'
-';
-
if ($module->name == 'Fatture di vendita') {
$attributi_visibili = $record['dati_aggiuntivi_fe'] != null || $record['stato'] == 'Bozza';
@@ -118,4 +113,10 @@ if (!empty($record['is_fiscale'])) {
'.tr('Riapri documento').'...
';
}
-}
\ No newline at end of file
+}
+
+// Duplica fattura
+echo '
+
+ '.tr('Duplica fattura').'
+';
diff --git a/modules/preventivi/buttons.php b/modules/preventivi/buttons.php
index 7bdf99d6b..bbe789047 100644
--- a/modules/preventivi/buttons.php
+++ b/modules/preventivi/buttons.php
@@ -19,11 +19,6 @@
include_once __DIR__.'/../../core.php';
-echo '
-
- '.tr('Duplica preventivo').'
-';
-
$stati_abilitati = $dbo->fetchOne('SELECT GROUP_CONCAT(`descrizione` SEPARATOR ", ") AS stati_abilitati FROM `co_statipreventivi` WHERE `is_revisionabile` = 1 ')['stati_abilitati'];
// Crea revisione
@@ -92,7 +87,6 @@ echo '
// Duplica preventivo
echo '
-
';
+
+ '.tr('Duplica preventivo').'
+';
diff --git a/plugins/exportFE/src/Validator.php b/plugins/exportFE/src/Validator.php
index fa74a8247..f13e6a8fa 100755
--- a/plugins/exportFE/src/Validator.php
+++ b/plugins/exportFE/src/Validator.php
@@ -631,17 +631,10 @@ class Validator
// Formattazione testo
elseif ($info['type'] == 'string' || $info['type'] == 'normalizedString') {
- /**
- * Sostituzione dei caratteri speciali del linguaggio.
- *
- * @source https://stackoverflow.com/a/3373364
- */
- /*$replace_chars = ['Š' => 'S', 'š' => 's', 'Ž' => 'Z', 'ž' => 'z', 'À' => 'A', 'Á' => 'A', 'Â' => 'A', 'Ã' => 'A', 'Ä' => 'A', 'Å' => 'A', 'Æ' => 'A', 'Ç' => 'C', 'È' => 'E', 'É' => 'E', 'Ê' => 'E', 'Ë' => 'E', 'Ì' => 'I', 'Í' => 'I', 'Î' => 'I', 'Ï' => 'I', 'Ñ' => 'N', 'Ò' => 'O', 'Ó' => 'O', 'Ô' => 'O', 'Õ' => 'O', 'Ö' => 'O', 'Ø' => 'O', 'Ù' => 'U', 'Ú' => 'U', 'Û' => 'U', 'Ü' => 'U', 'Ý' => 'Y', 'Þ' => 'B', 'ß' => 'Ss', 'à' => 'a', 'á' => 'a', 'â' => 'a', 'ã' => 'a', 'ä' => 'a', 'å' => 'a', 'æ' => 'a', 'ç' => 'c', 'è' => 'e', 'é' => 'e', 'ê' => 'e', 'ë' => 'e', 'ì' => 'i', 'í' => 'i', 'î' => 'i', 'ï' => 'i', 'ð' => 'o', 'ñ' => 'n', 'ò' => 'o', 'ó' => 'o', 'ô' => 'o', 'õ' => 'o', 'ö' => 'o', 'ø' => 'o', 'ù' => 'u', 'ú' => 'u', 'û' => 'u', 'ý' => 'y', 'þ' => 'b', 'ÿ' => 'y'];
- $output = replace($output, $replace_chars);*/
-
- // Sostituzione tag e contenuti specifici per XML
+
+ // Sostituzione tag e contenuti specifici per XML (non sembra essere eseguita)
$output = htmlspecialchars($output, ENT_NOQUOTES | ENT_XML1 | ENT_SUBSTITUTE, 'UTF-8', false);
-
+
// Sostituzione per caratteri personalizzati
$output = replace($output, [
'€' => 'euro',
@@ -649,9 +642,15 @@ class Validator
'…' => '...',
'~' => '-',
'®' => '',
+ 'Š' => 'S',
+ 'š' => 's',
+ 'Ž' => 'Z',
+ 'ž' => 'z',
]);
- //$output = self::sanitizeXML($output);
+ $output = str_replace(array("\r", "\n"), '', $output);
+
+ //$output = self::sanitizeXML($output);
}
// Riduzione delle dimensioni
@@ -692,6 +691,8 @@ class Validator
/**
* Removes invalid characters from a UTF-8 XML string
*
+ * @deprecated 2.4.34
+ *
* @param string a XML string potentially containing invalid characters
* @return string
*/