Replica fix da branch 2.4
Replica fix da branch 2.4 per le stampe: risolve i problemi indirizzati da #141 e ottimizza la gestione futura.
This commit is contained in:
parent
ec97471c2e
commit
00a5924cba
|
@ -33,19 +33,7 @@ $keys = [];
|
|||
|
||||
// Predisposizione delle informazioni delle anagrafiche per la sostituzione automatica
|
||||
foreach ($replace as $prefix => $values) {
|
||||
// Individuazione dei campi minimi
|
||||
$values = (array) $values;
|
||||
if ($prefix == 'c_') {
|
||||
$keys = array_keys($values);
|
||||
}
|
||||
|
||||
// Se l'azienda predefinita non è impostata
|
||||
if (empty($values) && $prefix == 'f_') {
|
||||
$values = [];
|
||||
foreach ($keys as $key) {
|
||||
$values[$key] = '';
|
||||
}
|
||||
}
|
||||
|
||||
// Rinominazione dei campi
|
||||
foreach ($rename as $key => $value) {
|
||||
|
@ -53,11 +41,6 @@ foreach ($replace as $prefix => $values) {
|
|||
unset($values[$key]);
|
||||
}
|
||||
|
||||
// Salvataggio dei campi come variabili PHP
|
||||
foreach ($values as $key => $value) {
|
||||
${$prefix.$key} = $value;
|
||||
}
|
||||
|
||||
// Eventuali estensioni dei contenuti
|
||||
$citta = '';
|
||||
if (!empty($values['cap'])) {
|
||||
|
@ -72,23 +55,37 @@ foreach ($replace as $prefix => $values) {
|
|||
|
||||
$values['citta_full'] = $citta;
|
||||
|
||||
// Completamento dei campi minimi
|
||||
if ($key == 'c_') {
|
||||
$keys = array_unique(array_merge($keys, array_keys($values)));
|
||||
$replace[$prefix] = $values;
|
||||
|
||||
// Individuazione dei campi minimi
|
||||
$keys = array_merge($keys, array_keys($values));
|
||||
}
|
||||
|
||||
// Aggiunta delle informazioni per la sostituzione automatica
|
||||
$keys = array_unique($keys);
|
||||
|
||||
foreach ($replace as $prefix => $values) {
|
||||
// Impostazione di default per le informazioni mancanti
|
||||
foreach ($keys as $key) {
|
||||
if (!isset($values[$key])) {
|
||||
$values[$key] = '';
|
||||
}
|
||||
}
|
||||
|
||||
// Salvataggio dei campi come variabili PHP e aggiunta delle informazioni per la sostituzione automatica
|
||||
foreach ($values as $key => $value) {
|
||||
${$prefix.$key} = $value;
|
||||
$replaces[$prefix.$key] = $value;
|
||||
}
|
||||
}
|
||||
|
||||
// Valori aggiuntivi per la sostituzione
|
||||
$replaces = array_merge($replaces, [
|
||||
'default_header' => include DOCROOT.'/templates/base/header.php',
|
||||
'default_footer' => include DOCROOT.'/templates/base/footer.php',
|
||||
'docroot' => DOCROOT,
|
||||
'rootdir' => ROOTDIR,
|
||||
'footer' => !empty($footer) ? $footer : '',
|
||||
'dicitura_fissa_fattura' => get_var('Dicitura fissa fattura'),
|
||||
'default_header' => include DOCROOT.'/templates/base/header.php',
|
||||
'default_footer' => include DOCROOT.'/templates/base/footer.php',
|
||||
]);
|
||||
|
||||
unset($replace);
|
||||
|
|
|
@ -3,7 +3,10 @@
|
|||
include_once __DIR__.'/info.php';
|
||||
|
||||
// Retrocompatibilità con le stampe gestite da HTML2PDF
|
||||
$replaces['pagination'] = str_replace(['{PAGENO}', '{nb}'], ['[[page_cu]]', '[[page_nb]]'], $replaces['pagination']);
|
||||
$replaces['default_header'] = str_replace(['{PAGENO}', '{nb}'], ['[[page_cu]]', '[[page_nb]]'], $replaces['default_header']);
|
||||
|
||||
$replaces['footer'] = str_replace(['{PAGENO}', '{nb}'], ['[[page_cu]]', '[[page_nb]]'], $replaces['footer']);
|
||||
$replaces['default_footer'] = str_replace(['{PAGENO}', '{nb}'], ['[[page_cu]]', '[[page_nb]]'], $replaces['default_footer']);
|
||||
|
||||
$prefixes = [
|
||||
'c_',
|
||||
|
|
Loading…
Reference in New Issue