mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-01-11 07:05:22 +01:00
459f75cab8
Aggiunto supporto al logo stampe caricabile come allegato. Miglioramento della gestione dei dati di input. Completata gestione AJAX degli allegati.
122 lines
4.1 KiB
PHP
122 lines
4.1 KiB
PHP
<?php
|
|
|
|
$replaces = [];
|
|
|
|
// Retrocompatibilità
|
|
$id_cliente = $id_cliente ?: $idcliente;
|
|
|
|
// Leggo i dati della destinazione (se 0=sede legale, se!=altra sede da leggere da tabella an_sedi)
|
|
if (empty($id_sede) || $id_sede == '-1') {
|
|
$queryc = 'SELECT * FROM an_anagrafiche WHERE idanagrafica='.prepare($id_cliente);
|
|
} else {
|
|
$queryc = 'SELECT an_anagrafiche.*, an_sedi.*, if(an_sedi.codice_fiscale != "", an_sedi.codice_fiscale, an_anagrafiche.codice_fiscale) AS codice_fiscale, if(an_sedi.piva != "", an_sedi.piva, an_anagrafiche.piva) AS piva FROM an_sedi JOIN an_anagrafiche ON an_anagrafiche.idanagrafica=an_sedi.idanagrafica WHERE an_sedi.idanagrafica='.prepare($id_cliente).' AND an_sedi.id='.prepare($id_sede);
|
|
}
|
|
$rsc = $dbo->fetchArray($queryc);
|
|
|
|
// Lettura dati aziendali
|
|
$rsf = $dbo->fetchArray('SELECT *, (SELECT iban FROM co_banche WHERE id IN (SELECT idbanca FROM co_documenti WHERE id = '.prepare($id_record).' ) ) AS codiceiban, (SELECT nome FROM co_banche WHERE id IN (SELECT idbanca FROM co_documenti WHERE id = '.prepare($id_record).' ) ) AS appoggiobancario, (SELECT bic FROM co_banche WHERE id IN (SELECT idbanca FROM co_documenti WHERE id = '.prepare($id_record)." ) ) AS bic FROM an_anagrafiche WHERE idanagrafica = (SELECT valore FROM zz_settings WHERE nome='Azienda predefinita')");
|
|
|
|
// Prefissi e contenuti del replace
|
|
$replace = [
|
|
'c_' => isset($rsc[0]) ? $rsc[0] : [],
|
|
'f_' => isset($rsf[0]) ? $rsf[0] : [],
|
|
];
|
|
|
|
// Rinominazione di particolari campi all'interno delle informazioni su anagrafica e azienda
|
|
$rename = [
|
|
'capitale_sociale' => 'capsoc',
|
|
'ragione_sociale' => 'ragionesociale',
|
|
'codice_fiscale' => 'codicefiscale',
|
|
];
|
|
|
|
$keys = [];
|
|
|
|
// Predisposizione delle informazioni delle anagrafiche per la sostituzione automatica
|
|
foreach ($replace as $prefix => $values) {
|
|
$values = (array) $values;
|
|
|
|
// Rinominazione dei campi
|
|
foreach ($rename as $key => $value) {
|
|
$val = null;
|
|
|
|
if (isset($values[$key])) {
|
|
$val = $values[$key];
|
|
}
|
|
|
|
$values[$value] = $val;
|
|
unset($values[$key]);
|
|
}
|
|
|
|
// Eventuali estensioni dei contenuti
|
|
$citta = '';
|
|
if (!empty($values['cap'])) {
|
|
$citta .= $values['cap'];
|
|
}
|
|
if (!empty($values['citta'])) {
|
|
$citta .= ' '.$values['citta'];
|
|
}
|
|
if (!empty($values['provincia'])) {
|
|
$citta .= ' ('.$values['provincia'].')';
|
|
}
|
|
|
|
$values['citta_full'] = $citta;
|
|
|
|
$replace[$prefix] = $values;
|
|
|
|
// Individuazione dei campi minimi
|
|
$keys = array_merge($keys, array_keys($values));
|
|
}
|
|
|
|
$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;
|
|
}
|
|
}
|
|
|
|
// Header di default
|
|
$header_file = App::filepath('templates/base|custom|/header.php');
|
|
$default_header = include $header_file;
|
|
|
|
// Footer di default
|
|
$footer_file = App::filepath('templates/base|custom|/footer.php');
|
|
$default_footer = include $footer_file;
|
|
|
|
// Logo di default
|
|
$default_logo = App::filepath('templates/base|custom|/logo_azienda.jpg');
|
|
|
|
// Logo generico
|
|
$custom_logo = App::filepath('files/anagrafiche/'.Settings::get('Logo stampe'));
|
|
|
|
// Logo specifico della stampa
|
|
$logo = Prints::filepath($id_print, 'logo_azienda.jpg');
|
|
|
|
if (empty($logo)) {
|
|
$logo = empty($custom_logo) ? $default_logo : $custom_logo;
|
|
}
|
|
|
|
// Valori aggiuntivi per la sostituzione
|
|
$replaces = array_merge($replaces, [
|
|
'default_header' => $default_header,
|
|
'default_footer' => $default_footer,
|
|
'default_logo' => $default_logo,
|
|
'logo' => $logo,
|
|
'docroot' => DOCROOT,
|
|
'rootdir' => ROOTDIR,
|
|
'directory' => Prints::get($id_print)['full_directory'],
|
|
'footer' => !empty($footer) ? $footer : '',
|
|
'dicitura_fissa_fattura' => get_var('Dicitura fissa fattura'),
|
|
]);
|
|
|
|
unset($replace);
|