diff --git a/actions.php b/actions.php index 3dea2e533..4d09444cd 100644 --- a/actions.php +++ b/actions.php @@ -144,6 +144,14 @@ if (Modules::getPermission($permesso) == 'r' || Modules::getPermission($permesso // Lettura risultato query del modulo include App::filepath($directory.'|custom|', 'init.php'); + // Retrocompatibilità + if (!isset($record) && isset($records[0])) { + $record = $records[0]; + } + + // Registrazione del record + HTMLBuilder\HTMLBuilder::setRecord($record); + if (Modules::getPermission($permesso) == 'rw') { // Esecuzione delle operazioni di gruppo $id_records = post('id_records'); diff --git a/modules/ddt/add_ordine.php b/modules/ddt/add_ordine.php index 74d097ca7..17ef82bd9 100644 --- a/modules/ddt/add_ordine.php +++ b/modules/ddt/add_ordine.php @@ -12,10 +12,10 @@ if ($module['name'] == 'Ddt di vendita') { $module_origin = 'Ordini fornitore'; } -$record = $dbo->fetchArray('SELECT * FROM dt_ddt WHERE id='.prepare($id_record)); -$numero = ($record[0]['numero_esterno'] != '') ? $record[0]['numero_esterno'] : $record[0]['numero']; -$idconto = $record[0]['idconto']; -$idanagrafica = $record[0]['idanagrafica']; +$info = $dbo->fetchOne('SELECT * FROM dt_ddt WHERE id='.prepare($id_record)); +$numero = ($info['numero_esterno'] != '') ? $info['numero_esterno'] : $info['numero']; +$idconto = $info['idconto']; +$idanagrafica = $info['idanagrafica']; // Preventivo echo ' diff --git a/modules/fatture/add_contratto.php b/modules/fatture/add_contratto.php index 8823b97ab..86924ce8b 100644 --- a/modules/fatture/add_contratto.php +++ b/modules/fatture/add_contratto.php @@ -12,10 +12,10 @@ if ($module['name'] == 'Fatture di vendita') { $conti = 'conti-acquisti'; } -$record = $dbo->fetchArray('SELECT * FROM co_documenti WHERE id='.prepare($id_record)); -$numero = ($record[0]['numero_esterno'] != '') ? $record[0]['numero_esterno'] : $record[0]['numero']; -$idconto = $record[0]['idconto']; -$idanagrafica = $record[0]['idanagrafica']; +$info= $dbo->fetchOne('SELECT * FROM co_documenti WHERE id='.prepare($id_record)); +$numero = ($info['numero_esterno'] != '') ? $info['numero_esterno'] : $info['numero']; +$idconto = $info['idconto']; +$idanagrafica = $info['idanagrafica']; /* Form di inserimento riga documento diff --git a/modules/fatture/add_ddt.php b/modules/fatture/add_ddt.php index 06896dbbe..efe63d9a3 100644 --- a/modules/fatture/add_ddt.php +++ b/modules/fatture/add_ddt.php @@ -10,9 +10,9 @@ if ($module['name'] == 'Fatture di vendita') { $dir = 'uscita'; } -$record = $dbo->fetchArray('SELECT * FROM co_documenti WHERE id='.prepare($id_record)); -$numero = ($record[0]['numero_esterno'] != '') ? $record[0]['numero_esterno'] : $record[0]['numero']; -$idanagrafica = $record[0]['idanagrafica']; +$info = $dbo->fetchOne('SELECT * FROM co_documenti WHERE id='.prepare($id_record)); +$numero = ($info['numero_esterno'] != '') ? $info['numero_esterno'] : $info['numero']; +$idanagrafica = $info['idanagrafica']; // Preventivo echo ' diff --git a/modules/fatture/add_descrizione.php b/modules/fatture/add_descrizione.php index 226639f20..95ff980e2 100644 --- a/modules/fatture/add_descrizione.php +++ b/modules/fatture/add_descrizione.php @@ -13,9 +13,9 @@ if ($module['name'] == 'Fatture di vendita') { $conti = 'conti-acquisti'; } -$record = $dbo->fetchArray('SELECT * FROM co_documenti WHERE id='.prepare($id_record)); -$numero = ($record[0]['numero_esterno'] != '') ? $record[0]['numero_esterno'] : $record[0]['numero']; -$idanagrafica = $record[0]['idanagrafica']; +$info = $dbo->fetchOne('SELECT * FROM co_documenti WHERE id='.prepare($id_record)); +$numero = ($info['numero_esterno'] != '') ? $info['numero_esterno'] : $info['numero']; +$idanagrafica = $info['idanagrafica']; /* Form di inserimento riga documento diff --git a/modules/fatture/add_intervento.php b/modules/fatture/add_intervento.php index 43a36b686..928260568 100644 --- a/modules/fatture/add_intervento.php +++ b/modules/fatture/add_intervento.php @@ -14,9 +14,9 @@ if ($module['name'] == 'Fatture di vendita') { $conti = 'conti-acquisti'; } -$record = $dbo->fetchArray('SELECT * FROM co_documenti WHERE id='.prepare($id_record)); -$numero = ($record[0]['numero_esterno'] != '') ? $record[0]['numero_esterno'] : $record[0]['numero']; -$idanagrafica = $record[0]['idanagrafica']; +$info = $dbo->fetchOne('SELECT * FROM co_documenti WHERE id='.prepare($id_record)); +$numero = ($info['numero_esterno'] != '') ? $info['numero_esterno'] : $info['numero']; +$idanagrafica = $info['idanagrafica']; $idconto = ($dir == 'entrata') ? setting('Conto predefinito fatture di vendita') : setting('Conto predefinito fatture di acquisto'); diff --git a/modules/fatture/add_ordine.php b/modules/fatture/add_ordine.php index 4c0b16a01..6c8e7ba7d 100644 --- a/modules/fatture/add_ordine.php +++ b/modules/fatture/add_ordine.php @@ -12,9 +12,9 @@ if ($module['name'] == 'Fatture di vendita') { $module_origin = 'Ordini fornitore'; } -$record = $dbo->fetchArray('SELECT * FROM co_documenti WHERE id='.prepare($id_record)); -$numero = ($record[0]['numero_esterno'] != '') ? $record[0]['numero_esterno'] : $record[0]['numero']; -$idanagrafica = $record[0]['idanagrafica']; +$info = $dbo->fetchOne('SELECT * FROM co_documenti WHERE id='.prepare($id_record)); +$numero = ($info['numero_esterno'] != '') ? $info['numero_esterno'] : $info['numero']; +$idanagrafica = $info['idanagrafica']; // Preventivo echo ' diff --git a/modules/fatture/add_preventivo.php b/modules/fatture/add_preventivo.php index bcac2fd82..a2140cbb2 100644 --- a/modules/fatture/add_preventivo.php +++ b/modules/fatture/add_preventivo.php @@ -12,9 +12,9 @@ if ($module['name'] == 'Fatture di vendita') { $conti = 'conti-acquisti'; } -$record = $dbo->fetchArray('SELECT * FROM co_documenti WHERE id='.prepare($id_record)); -$numero = ($record[0]['numero_esterno'] != '') ? $record[0]['numero_esterno'] : $record[0]['numero']; -$idanagrafica = $record[0]['idanagrafica']; +$info = $dbo->fetchOne('SELECT * FROM co_documenti WHERE id='.prepare($id_record)); +$numero = ($info['numero_esterno'] != '') ? $info['numero_esterno'] : $info['numero']; +$idanagrafica = $info['idanagrafica']; $idconto = ($dir == 'entrata') ? setting('Conto predefinito fatture di vendita') : setting('Conto predefinito fatture di acquisto'); diff --git a/modules/utenti/edit.php b/modules/utenti/edit.php index 04db96cd8..0fb90ec86 100644 --- a/modules/utenti/edit.php +++ b/modules/utenti/edit.php @@ -2,8 +2,6 @@ include_once __DIR__.'/../../core.php'; -$record = $records[0]; - $utenti = $dbo->fetchArray('SELECT *, (SELECT ragione_sociale FROM an_anagrafiche WHERE an_anagrafiche.idanagrafica=zz_users.idanagrafica ) AS ragione_sociale, (SELECT GROUP_CONCAT(descrizione SEPARATOR ", ") FROM an_tipianagrafiche INNER JOIN an_tipianagrafiche_anagrafiche ON an_tipianagrafiche.idtipoanagrafica=an_tipianagrafiche_anagrafiche.idtipoanagrafica WHERE idanagrafica=zz_users.idanagrafica GROUP BY idanagrafica) AS tipo FROM zz_users WHERE idgruppo='.prepare($record['id'])); echo ' diff --git a/modules/viste/edit.php b/modules/viste/edit.php index 527f90235..93a8750b8 100644 --- a/modules/viste/edit.php +++ b/modules/viste/edit.php @@ -3,7 +3,6 @@ include_once __DIR__.'/../../core.php'; $enable_readonly = !setting('Modifica Viste di default'); -$record = $records[0]; echo '
diff --git a/src/HTMLBuilder/HTMLBuilder.php b/src/HTMLBuilder/HTMLBuilder.php index 6a1b5e6ee..d4e6cd885 100644 --- a/src/HTMLBuilder/HTMLBuilder.php +++ b/src/HTMLBuilder/HTMLBuilder.php @@ -85,6 +85,9 @@ class HTMLBuilder /** @var int Limite di ricorsione interna */ protected static $max_recursion = 10; + /** @var array Elenco degli elementi abilitati per la sostituzione automatica nei valori ($nome$) */ + protected static $record = []; + /** * Esegue la sostituzione dei tag personalizzati con il relativo codice HTML. * @@ -206,7 +209,7 @@ class HTMLBuilder // Sostituzione delle variabili $nome$ col relativo valore da database elseif (is_string($json[$key]) && preg_match_all('/\$([a-z0-9\_]+)\$/i', $json[$key], $m)) { for ($i = 0; $i < count($m[0]); ++$i) { - $record = isset($records[0][$m[1][$i]]) ? $records[0][$m[1][$i]] : ''; + $record = isset(self::$record[$m[1][$i]]) ? self::$record[$m[1][$i]] : ''; $json[$key] = str_replace($m[0][$i], prepareToField($record), $json[$key]); } } @@ -419,4 +422,15 @@ class HTMLBuilder self::$managers['instances'][$original] = $class; } } + + /** + * Imposta l'oggetto responsabile per la costruzione del codice HTML per il tag personalizzato. + * + * @param string $input + * @param string|mixed $class + */ + public static function setRecord($record) + { + self::$record = $record; + } }