Refactoring generale

This commit is contained in:
Thomas Zilio 2018-09-20 12:05:22 +02:00
parent 8e58f81ee0
commit 3e3c97cac5
43 changed files with 160 additions and 144 deletions

View File

@ -114,12 +114,12 @@ if (!empty($result_query) && $result_query != 'menu' && $result_query != 'custom
$value = trim($r[$field]);
// Allineamento a destra se il valore della prima riga risulta numerica
if (Translator::getFormatter()->isStandardNumber($value)) {
if (formatter()->isStandardNumber($value)) {
$align[$field] = 'text-right';
}
// Allineamento al centro se il valore della prima riga risulta relativo a date o icone
elseif (Translator::getFormatter()->isStandardDate($value) || preg_match('/^icon_(.+?)$/', $field)) {
elseif (formatter()->isStandardDate($value) || preg_match('/^icon_(.+?)$/', $field)) {
$align[$field] = 'text-center';
}
}
@ -143,13 +143,13 @@ if (!empty($result_query) && $result_query != 'menu' && $result_query != 'custom
// Formattazione automatica
if (!empty($total['format'][$pos]) && !empty($value)) {
if (Translator::getFormatter()->isStandardDate($value)) {
if (formatter()->isStandardDate($value)) {
$value = Translator::dateToLocale($value);
} elseif (Translator::getFormatter()->isStandardTime($value)) {
} elseif (formatter()->isStandardTime($value)) {
$value = Translator::timeToLocale($value);
} elseif (Translator::getFormatter()->isStandardTimestamp($value)) {
} elseif (formatter()->isStandardTimestamp($value)) {
$value = Translator::timestampToLocale($value);
} elseif (Translator::getFormatter()->isStandardNumber($value)) {
} elseif (formatter()->isStandardNumber($value)) {
$value = Translator::numberToLocale($value);
}
}

View File

@ -31,8 +31,10 @@ $docroot = DOCROOT;
$rootdir = ROOTDIR;
$baseurl = BASEURL;
$config = App::getConfig();
// Redirect al percorso HTTPS se impostato nella configurazione
if (!empty($redirectHTTPS) && !isHTTPS(true)) {
if (!empty($config['redirectHTTPS']) && !isHTTPS(true)) {
header('HTTP/1.1 301 Moved Permanently');
header('Location: https://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
exit();
@ -112,7 +114,7 @@ foreach ($handlers as $handler) {
Monolog\ErrorHandler::register($logger);
// Database
$dbo = $database = Database::getConnection();
$dbo = $database = database();
// Inizializzazione della sessione
if (!API::isAPIRequest()) {
@ -139,9 +141,9 @@ if (!API::isAPIRequest()) {
}
// Istanziamento del gestore delle traduzioni del progetto
$lang = !empty($lang) ? $lang : 'it';
$formatter = !empty($formatter) ? $formatter : [];
$translator = Translator::getInstance();
$lang = !empty($config['lang']) ? $config['lang'] : 'it';
$formatter = !empty($config['formatter']) ? $config['formatter'] : [];
$translator = trans();
$translator->addLocalePath($docroot.'/locale');
$translator->addLocalePath($docroot.'/modules/*/locale');
$translator->setLocale($lang, $formatter);
@ -175,17 +177,17 @@ if (!API::isAPIRequest()) {
csrfProtector::init();
// Aggiunta del wrapper personalizzato per la generazione degli input
if (!empty($HTMLWrapper)) {
HTMLBuilder\HTMLBuilder::setWrapper($HTMLWrapper);
if (!empty($config['HTMLWrapper'])) {
HTMLBuilder\HTMLBuilder::setWrapper($config['HTMLWrapper']);
}
// Aggiunta dei gestori personalizzati per la generazione degli input
foreach ((array) $HTMLHandlers as $key => $value) {
foreach ((array) $config['HTMLHandlers'] as $key => $value) {
HTMLBuilder\HTMLBuilder::setHandler($key, $value);
}
// Aggiunta dei gestori per componenti personalizzate
foreach ((array) $HTMLManagers as $key => $value) {
foreach ((array) $config['HTMLManagers'] as $key => $value) {
HTMLBuilder\HTMLBuilder::setManager($key, $value);
}
@ -199,7 +201,7 @@ if (!API::isAPIRequest()) {
$_SESSION['errors'] = isset($_SESSION['errors']) ? array_unique($_SESSION['errors']) : [];
// Impostazione del tema grafico di default
$theme = !empty($theme) ? $theme : 'default';
$theme = !empty($config['theme']) ? $config['theme'] : 'default';
if ($continue) {
// Periodo di visualizzazione dei record

View File

@ -347,7 +347,7 @@ gulp.task('release', function () {
// Completamento dello zip
archive.finalize();
});;
});
});
// Pulizia

View File

@ -11,7 +11,7 @@ if (!isset($options['edit_articolo']) || !empty($options['edit_articolo'])) {
</div>
</div>';
} else {
$database = Database::getConnection();
$database = database();
$articolo = $database->fetchArray('SELECT codice, descrizione FROM mg_articoli WHERE id = '.prepare($result['idarticolo']))[0];
echo '

View File

@ -105,8 +105,8 @@ if (Auth::check()) {
cifre_decimali: '.setting('Cifre decimali per importi').',
decimals: "'.Translator::getFormatter()->getNumberSeparators()['decimals'].'",
thousands: "'.Translator::getFormatter()->getNumberSeparators()['thousands'].'",
decimals: "'.formatter()->getNumberSeparators()['decimals'].'",
thousands: "'.formatter()->getNumberSeparators()['thousands'].'",
search: search,
translations: translations,

View File

@ -11,7 +11,7 @@ switch ($op) {
$username = post('username');
$password = post('password');
if ($dbo->isConnected() && $dbo->isInstalled() && Auth::getInstance()->attempt($username, $password)) {
if ($dbo->isConnected() && $dbo->isInstalled() && auth()->attempt($username, $password)) {
$_SESSION['keep_alive'] = (filter('keep_alive') != null);
// Rimozione log vecchi
@ -30,7 +30,7 @@ switch ($op) {
}
}
} else {
$status = Auth::getInstance()->getCurrentStatus();
$status = auth()->getCurrentStatus();
flash()->error(Auth::getStatus()[$status]['message']);

View File

@ -26,7 +26,7 @@ function sum($first, $second = null, $decimals = 4)
$result = 0;
$decimals = is_numeric($decimals) ? $decimals : Translator::getFormatter()->getPrecision();
$decimals = is_numeric($decimals) ? $decimals : formatter()->getPrecision();
$bcadd = function_exists('bcadd');
@ -45,7 +45,7 @@ function sum($first, $second = null, $decimals = 4)
function aggiorna_sconto($tables, $fields, $id_record, $options = [])
{
$dbo = Database::getConnection();
$dbo = database();
$descrizione = tr('Sconto', [], ['upper' => true]);
@ -97,7 +97,7 @@ function aggiorna_sconto($tables, $fields, $id_record, $options = [])
function controlla_seriali($field, $id_riga, $old_qta, $new_qta, $dir)
{
$dbo = Database::getConnection();
$dbo = database();
$new_qta = abs($new_qta);
$old_qta = abs($old_qta);
@ -134,7 +134,7 @@ function controlla_seriali($field, $id_riga, $old_qta, $new_qta, $dir)
*/
function seriali_non_rimuovibili($field, $id_riga, $dir)
{
$dbo = Database::getConnection();
$dbo = database();
$results = [];
@ -187,7 +187,7 @@ function calcola_sconto($data)
*/
function doc_references($info, $dir, $ignore = [])
{
$dbo = Database::getConnection();
$dbo = database();
// Rimozione valori da non controllare
foreach ($ignore as $field) {

View File

@ -224,7 +224,7 @@ function translateTemplate()
// Informazioni estese sulle azioni dell'utente
if (Auth::check() && !empty(post('op'))) {
$database = \Database::getConnection();
$database = database();
$database->insert('zz_operations', [
'id_module' => $id_module,

View File

@ -28,7 +28,7 @@ function database()
*/
function prepare($parameter)
{
return \Database::getConnection()->prepare($parameter);
return database()->prepare($parameter);
}
/**

View File

@ -153,7 +153,7 @@ echo '
minLength: 0
}).focus(function() {
$(this).autocomplete("search", $(this).val())
});;
});
});
aggiungi_destinatario();

View File

@ -7,7 +7,7 @@ include_once __DIR__.'/../../core.php';
*/
function add_movimento_magazzino($id_articolo, $qta, $array = [], $descrizone = '', $data = '')
{
$dbo = Database::getConnection();
$dbo = database();
if (empty($qta)) {
return false;

View File

@ -2,6 +2,8 @@
include_once __DIR__.'/../../core.php';
$backup_dir = Backup::getDirectory();
switch (filter('op')) {
case 'getfile':
$file = filter('file');

View File

@ -2,6 +2,8 @@
include_once __DIR__.'/../../core.php';
$backup_dir = Backup::getDirectory();
echo '<p>'.tr('Il backup è <b>molto importante</b> perché permette di creare una copia della propria installazione e relativi dati per poterla poi ripristinare in seguito a errori, cancellazioni accidentali o guasti hardware').'.</p>';
if (!extension_loaded('zip')) {

View File

@ -9,7 +9,7 @@ function get_new_numeroddt($data)
{
global $dir;
$dbo = Database::getConnection();
$dbo = database();
$query = "SELECT IFNULL(MAX(numero),'0') AS max_numeroddt FROM dt_ddt WHERE DATE_FORMAT( data, '%Y' ) = '".date('Y', strtotime($data))."' AND idtipoddt IN(SELECT id FROM dt_tipiddt WHERE dir='".$dir."') ORDER BY CAST(numero AS UNSIGNED) DESC LIMIT 0,1";
$rs = $dbo->fetchArray($query);
@ -24,7 +24,7 @@ function get_new_numerosecondarioddt($data)
{
global $dir;
$dbo = Database::getConnection();
$dbo = database();
// Calcolo il numero secondario se stabilito dalle impostazioni e se documento di vendita
$formato_numero_secondario = setting('Formato numero secondario ddt');
@ -56,7 +56,7 @@ function rimuovi_articolo_daddt($idarticolo, $idddt, $idrigaddt)
{
global $dir;
$dbo = Database::getConnection();
$dbo = database();
// Leggo la quantità di questo articolo in ddt
$query = 'SELECT qta, subtotale FROM dt_righe_ddt WHERE id='.prepare($idrigaddt);
@ -115,7 +115,7 @@ function rimuovi_articolo_daddt($idarticolo, $idddt, $idrigaddt)
*/
function get_imponibile_ddt($idddt)
{
$dbo = Database::getConnection();
$dbo = database();
$query = 'SELECT SUM(subtotale-sconto) AS imponibile FROM dt_righe_ddt GROUP BY idddt HAVING idddt='.prepare($idddt);
$rs = $dbo->fetchArray($query);
@ -128,7 +128,7 @@ function get_imponibile_ddt($idddt)
*/
function get_totale_ddt($idddt)
{
$dbo = Database::getConnection();
$dbo = database();
// Sommo l'iva di ogni riga al totale
$query = 'SELECT SUM(iva) AS iva FROM dt_righe_ddt GROUP BY idddt HAVING idddt='.prepare($idddt);
@ -146,7 +146,7 @@ function get_totale_ddt($idddt)
*/
function get_netto_ddt($idddt)
{
$dbo = Database::getConnection();
$dbo = database();
$query = 'SELECT ritenutaacconto,bollo FROM dt_ddt WHERE id='.prepare($idddt);
$rs = $dbo->fetchArray($query);
@ -159,7 +159,7 @@ function get_netto_ddt($idddt)
*/
function get_ivadetraibile_ddt($idddt)
{
$dbo = Database::getConnection();
$dbo = database();
$query = 'SELECT SUM(iva)-SUM(iva_indetraibile) AS iva_detraibile FROM dt_righe_ddt GROUP BY idddt HAVING idddt='.prepare($idddt);
$rs = $dbo->fetchArray($query);
@ -172,7 +172,7 @@ function get_ivadetraibile_ddt($idddt)
*/
function get_ivaindetraibile_ddt($idddt)
{
$dbo = Database::getConnection();
$dbo = database();
$query = 'SELECT SUM(iva_indetraibile) AS iva_indetraibile FROM dt_righe_ddt GROUP BY idddt HAVING idddt='.prepare($idddt);
$rs = $dbo->fetchArray($query);
@ -192,7 +192,7 @@ function ricalcola_costiagg_ddt($idddt, $idrivalsainps = '', $idritenutaacconto
{
global $dir;
$dbo = Database::getConnection();
$dbo = database();
// Se ci sono righe nel ddt faccio i conteggi, altrimenti azzero gli sconti e le spese aggiuntive (inps, ritenuta, marche da bollo)
$query = "SELECT COUNT(id) AS righe FROM dt_righe_ddt WHERE idddt='$idddt'";
@ -288,7 +288,7 @@ function add_articolo_inddt($idddt, $idarticolo, $descrizione, $idiva, $qta, $id
global $dir;
global $idordine;
$dbo = Database::getConnection();
$dbo = database();
// Lettura unità di misura dell'articolo
if (empty($idum)) {
@ -337,7 +337,7 @@ function add_articolo_inddt($idddt, $idarticolo, $descrizione, $idiva, $qta, $id
*/
function get_stato_ddt($idddt)
{
$dbo = Database::getConnection();
$dbo = database();
$rs = $dbo->fetchArray('SELECT SUM(qta) AS qta, SUM(qta_evasa) AS qta_evasa FROM dt_righe_ddt GROUP BY idddt HAVING idddt='.prepare($idddt));

View File

@ -29,7 +29,7 @@ function get_new_numerosecondariofattura($data)
*/
function elimina_scadenza($iddocumento)
{
$dbo = Database::getConnection();
$dbo = database();
$query2 = 'DELETE FROM co_scadenziario WHERE iddocumento='.prepare($iddocumento);
$dbo->query($query2);
@ -43,7 +43,7 @@ function elimina_scadenza($iddocumento)
*/
function aggiungi_scadenza($iddocumento, $pagamento = '', $pagato = 0)
{
$dbo = Database::getConnection();
$dbo = database();
$totale_da_pagare = 0.00;
$totale_fattura = get_totale_fattura($iddocumento);
@ -155,7 +155,7 @@ function aggiungi_scadenza($iddocumento, $pagamento = '', $pagato = 0)
*/
function aggiorna_scadenziario($iddocumento, $totale_pagato, $data_pagamento)
{
$dbo = Database::getConnection();
$dbo = database();
// Lettura righe scadenziario
$query = "SELECT * FROM co_scadenziario WHERE iddocumento='$iddocumento' AND ABS(pagato) < ABS(da_pagare) ORDER BY scadenza ASC";
@ -211,7 +211,7 @@ function aggiorna_scadenziario($iddocumento, $totale_pagato, $data_pagamento)
*/
function elimina_movimento($iddocumento, $anche_prima_nota = 0)
{
$dbo = Database::getConnection();
$dbo = database();
$query2 = 'DELETE FROM co_movimenti WHERE iddocumento='.prepare($iddocumento).' AND primanota='.prepare($anche_prima_nota);
$dbo->query($query2);
@ -225,7 +225,7 @@ function elimina_movimento($iddocumento, $anche_prima_nota = 0)
*/
function aggiungi_movimento($iddocumento, $dir, $primanota = 0)
{
$dbo = Database::getConnection();
$dbo = database();
// Totale marca da bollo, inps, ritenuta, idagente
$query = 'SELECT data, bollo, ritenutaacconto, rivalsainps FROM co_documenti WHERE id='.prepare($iddocumento);
@ -424,7 +424,7 @@ function aggiungi_movimento($iddocumento, $dir, $primanota = 0)
*/
function get_new_idmastrino($table = 'co_movimenti')
{
$dbo = Database::getConnection();
$dbo = database();
$query = 'SELECT MAX(idmastrino) AS maxidmastrino FROM '.$table;
$rs = $dbo->fetchArray($query);
@ -437,7 +437,7 @@ function get_new_idmastrino($table = 'co_movimenti')
*/
function get_imponibile_fattura($iddocumento)
{
$dbo = Database::getConnection();
$dbo = database();
$query = 'SELECT SUM(co_righe_documenti.subtotale - co_righe_documenti.sconto) AS imponibile FROM co_righe_documenti GROUP BY iddocumento HAVING iddocumento='.prepare($iddocumento);
$rs = $dbo->fetchArray($query);
@ -450,7 +450,7 @@ function get_imponibile_fattura($iddocumento)
*/
function get_totale_fattura($iddocumento)
{
$dbo = Database::getConnection();
$dbo = database();
// Sommo l'iva di ogni riga al totale
$query = 'SELECT SUM(iva) AS iva FROM co_righe_documenti GROUP BY iddocumento HAVING iddocumento='.prepare($iddocumento);
@ -487,7 +487,7 @@ function get_totale_fattura($iddocumento)
*/
function get_netto_fattura($iddocumento)
{
$dbo = Database::getConnection();
$dbo = database();
$query = 'SELECT ritenutaacconto, bollo FROM co_documenti WHERE id='.prepare($iddocumento);
$rs = $dbo->fetchArray($query);
@ -506,7 +506,7 @@ function get_netto_fattura($iddocumento)
*/
function get_ivadetraibile_fattura($iddocumento)
{
$dbo = Database::getConnection();
$dbo = database();
$query = 'SELECT SUM(iva)-SUM(iva_indetraibile) AS iva_detraibile FROM co_righe_documenti GROUP BY iddocumento HAVING iddocumento='.prepare($iddocumento);
$rs = $dbo->fetchArray($query);
@ -519,7 +519,7 @@ function get_ivadetraibile_fattura($iddocumento)
*/
function get_ivaindetraibile_fattura($iddocumento)
{
$dbo = Database::getConnection();
$dbo = database();
$query = 'SELECT SUM(iva_indetraibile) AS iva_indetraibile FROM co_righe_documenti GROUP BY iddocumento HAVING iddocumento='.prepare($iddocumento);
$rs = $dbo->fetchArray($query);
@ -539,7 +539,7 @@ function ricalcola_costiagg_fattura($iddocumento, $idrivalsainps = '', $idritenu
{
global $dir;
$dbo = Database::getConnection();
$dbo = database();
// Se ci sono righe in fattura faccio i conteggi, altrimenti azzero gli sconti e le spese aggiuntive (inps, ritenuta, marche da bollo)
$query = 'SELECT COUNT(id) AS righe FROM co_righe_documenti WHERE iddocumento='.prepare($iddocumento);
@ -579,7 +579,7 @@ function ricalcola_costiagg_fattura($iddocumento, $idrivalsainps = '', $idritenu
// Leggo la marca da bollo se c'è e se il netto a pagare supera la soglia
$bolli = ($dir == 'uscita') ? $bolli : setting('Importo marca da bollo');
$bolli = Translator::getFormatter()->parse($bolli);
$bolli = formatter()->parse($bolli);
$marca_da_bollo = 0;
if (abs($bolli) > 0 && abs($netto_a_pagare > setting("Soglia minima per l'applicazione della marca da bollo"))) {
@ -611,7 +611,7 @@ function add_articolo_infattura($iddocumento, $idarticolo, $descrizione, $idiva,
global $idddt;
global $idordine;
$dbo = Database::getConnection();
$dbo = database();
if (empty($idddt)) {
$idddt = 0;
@ -703,7 +703,7 @@ function rimuovi_articolo_dafattura($idarticolo, $iddocumento, $idrigadocumento)
{
global $dir;
$dbo = Database::getConnection();
$dbo = database();
// Leggo la quantità di questo articolo in fattura
$query = 'SELECT qta, idintervento, idpreventivo, idordine, idddt, subtotale, descrizione FROM co_righe_documenti WHERE id='.prepare($idrigadocumento);
@ -779,7 +779,7 @@ function rimuovi_articolo_dafattura($idarticolo, $iddocumento, $idrigadocumento)
function rimuovi_riga_fattura($id_documento, $id_riga, $dir)
{
$dbo = Database::getConnection();
$dbo = database();
// Leggo la quantità di questo articolo in fattura
$riga = $dbo->fetchOne('SELECT * FROM co_righe_documenti WHERE id='.prepare($id_riga));

View File

@ -190,10 +190,10 @@ switch (post('op')) {
$stato = $dbo->selectOne('in_statiintervento', '*', ['idstatointervento' => post('idstatointervento')]);
// Notifica chiusura intervento
if (!empty($stato['notifica']) && !empty($stato['destinatari'])) {
if (!empty($stato['notifica']) && !empty($stato['destinatari']) && $stato['idstatointervento'] != $record['idstatointervento']) {
$n = new Notifications\EmailNotification();
$n->setTemplate('Stato intervento', $id_record);
$n->setTemplate($stato['id_email'], $id_record);
$n->setReceivers($stato['destinatari']);
$n->send();
@ -614,7 +614,7 @@ switch (post('op')) {
if (!empty($stato['notifica']) && !empty($stato['destinatari'])) {
$n = new Notifications\EmailNotification();
$n->setTemplate('Stato intervento', $id_record);
$n->setTemplate($stato['id_email'], $id_record);
$n->setReceivers($stato['destinatari']);
$n->send();

View File

@ -144,7 +144,7 @@ if (empty($data)) {
if (null !== filter('data')) {
$data = filter('data');
} else {
$data = date(Translator::getFormatter()->getDatePattern());
$data = date(formatter()->getDatePattern());
}
}

View File

@ -9,7 +9,7 @@ include_once __DIR__.'/../../core.php';
*/
function get_ore_intervento($idintervento)
{
$dbo = Database::getConnection();
$dbo = database();
$totale_ore = 0;
$rs = $dbo->fetchArray('SELECT idintervento, TIMESTAMPDIFF( MINUTE, orario_inizio, orario_fine ) / 60 AS tot_ore FROM in_interventi_tecnici WHERE idintervento = '.prepare($idintervento));
@ -31,7 +31,7 @@ function get_ore_intervento($idintervento)
*/
function link_componente_to_articolo($idintervento, $idimpianto, $idarticolo, $qta)
{
$dbo = Database::getConnection();
$dbo = database();
if (!empty($idimpianto) && !empty($idintervento)) {
//Leggo la data dell'intervento
@ -52,7 +52,7 @@ function link_componente_to_articolo($idintervento, $idimpianto, $idarticolo, $q
function add_tecnico($idintervento, $idtecnico, $inizio, $fine, $idcontratto = null)
{
$dbo = Database::getConnection();
$dbo = database();
// Controllo sull'identità del tecnico
$tecnico = $dbo->fetchOne('SELECT an_anagrafiche.idanagrafica, an_anagrafiche.email FROM an_anagrafiche INNER JOIN an_tipianagrafiche_anagrafiche ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica INNER JOIN an_tipianagrafiche ON an_tipianagrafiche.idtipoanagrafica=an_tipianagrafiche_anagrafiche.idtipoanagrafica WHERE an_anagrafiche.idanagrafica = '.prepare($idtecnico)." AND an_tipianagrafiche.descrizione = 'Tecnico'");
@ -176,7 +176,7 @@ function add_tecnico($idintervento, $idtecnico, $inizio, $fine, $idcontratto = n
function get_costi_intervento($id_intervento)
{
$dbo = Database::getConnection();
$dbo = database();
$decimals = setting('Cifre decimali per importi');
@ -354,7 +354,7 @@ function calcola_ore_intervento($orario_inizio, $orario_fine)
function aggiungi_intervento_in_fattura($id_intervento, $id_fattura, $descrizione, $id_iva, $id_conto)
{
$dbo = Database::getConnection();
$dbo = database();
$id_ritenuta_acconto = setting("Percentuale ritenuta d'acconto");
$id_rivalsa_inps = setting('Percentuale rivalsa INPS');

View File

@ -9,7 +9,7 @@ function get_new_numeroordine($data)
{
global $dir;
$dbo = Database::getConnection();
$dbo = database();
$query = "SELECT numero AS max_numeroordine FROM or_ordini WHERE DATE_FORMAT( data, '%Y' ) = ".prepare(date('Y', strtotime($data))).' AND idtipoordine IN(SELECT id FROM or_tipiordine WHERE dir='.prepare($dir).') ORDER BY CAST(numero AS UNSIGNED) DESC LIMIT 0,1';
$rs = $dbo->fetchArray($query);
@ -25,7 +25,7 @@ function get_new_numerosecondarioordine($data)
{
global $dir;
$dbo = Database::getConnection();
$dbo = database();
// Calcolo il numero secondario se stabilito dalle impostazioni e se documento di vendita
$formato_numero_secondario = setting('Formato numero secondario ordine');
@ -53,7 +53,7 @@ function get_new_numerosecondarioordine($data)
*/
function get_imponibile_ordine($idordine)
{
$dbo = Database::getConnection();
$dbo = database();
$query = 'SELECT SUM(subtotale-sconto) AS imponibile FROM or_righe_ordini GROUP BY idordine HAVING idordine='.prepare($idordine);
$rs = $dbo->fetchArray($query);
@ -66,7 +66,7 @@ function get_imponibile_ordine($idordine)
*/
function get_totale_ordine($idordine)
{
$dbo = Database::getConnection();
$dbo = database();
// Sommo l'iva di ogni riga al totale
$query = 'SELECT SUM(iva) AS iva FROM or_righe_ordini GROUP BY idordine HAVING idordine='.prepare($idordine);
@ -84,7 +84,7 @@ function get_totale_ordine($idordine)
*/
function get_netto_ordine($idordine)
{
$dbo = Database::getConnection();
$dbo = database();
$query = 'SELECT ritenutaacconto,bollo FROM or_ordini WHERE id='.prepare($idordine);
$rs = $dbo->fetchArray($query);
@ -97,7 +97,7 @@ function get_netto_ordine($idordine)
*/
function get_ivadetraibile_ordine($idordine)
{
$dbo = Database::getConnection();
$dbo = database();
$query = 'SELECT SUM(iva)-SUM(iva_indetraibile) AS iva_detraibile FROM or_righe_ordini GROUP BY idordine HAVING idordine='.prepare($idordine);
$rs = $dbo->fetchArray($query);
@ -110,7 +110,7 @@ function get_ivadetraibile_ordine($idordine)
*/
function get_ivaindetraibile_ordine($idordine)
{
$dbo = Database::getConnection();
$dbo = database();
$query = 'SELECT SUM(iva_indetraibile) AS iva_indetraibile FROM or_righe_ordini GROUP BY idordine HAVING idordine='.prepare($idordine);
$rs = $dbo->fetchArray($query);
@ -131,7 +131,7 @@ function add_articolo_inordine($idordine, $idarticolo, $descrizione, $idiva, $qt
{
global $dir;
$dbo = Database::getConnection();
$dbo = database();
// Lettura unità di misura dell'articolo
if (empty($idum)) {
@ -162,7 +162,7 @@ function rimuovi_articolo_daordine($idarticolo, $idordine, $idrigaordine)
{
global $dir;
$dbo = Database::getConnection();
$dbo = database();
$non_rimovibili = seriali_non_rimuovibili('id_riga_ordine', $idrigaordine, $dir);
if (!empty($non_rimovibili)) {
@ -190,7 +190,7 @@ function ricalcola_costiagg_ordine($idordine, $idrivalsainps = '', $idritenutaac
{
global $dir;
$dbo = Database::getConnection();
$dbo = database();
// Se ci sono righe nel ordine faccio i conteggi, altrimenti azzero gli sconti e le spese aggiuntive (inps, ritenuta, marche da bollo)
$query = 'SELECT COUNT(id) AS righe FROM or_righe_ordini WHERE idordine='.prepare($idordine);
@ -279,7 +279,7 @@ function ricalcola_costiagg_ordine($idordine, $idrivalsainps = '', $idritenutaac
*/
function get_stato_ordine($idordine)
{
$dbo = Database::getConnection();
$dbo = database();
$rs_ordine = $dbo->fetchArray("SELECT IFNULL(SUM(qta), 0) AS qta FROM or_righe_ordini WHERE idordine='".$idordine."'");
$qta_ordine = $rs_ordine[0]['qta'];

View File

@ -11,7 +11,7 @@ function rimuovi_articolo_dapreventivo($idarticolo, $idpreventivo, $idriga)
{
global $dir;
$dbo = Database::getConnection();
$dbo = database();
// Leggo la quantità di questo articolo nell'ordine
$query = 'SELECT qta, subtotale FROM co_righe_preventivi WHERE id='.prepare($idriga);
@ -35,7 +35,7 @@ function ricalcola_costiagg_preventivo($idpreventivo, $idrivalsainps = '', $idri
{
global $dir;
$dbo = Database::getConnection();
$dbo = database();
// Se ci sono righe nel ordine faccio i conteggi, altrimenti azzero gli sconti e le spese aggiuntive (inps, ritenuta, marche da bollo)
$query = 'SELECT COUNT(id) AS righe FROM co_righe_preventivi WHERE idpreventivo='.prepare($idpreventivo);
@ -99,7 +99,7 @@ function ricalcola_costiagg_preventivo($idpreventivo, $idrivalsainps = '', $idri
function get_imponibile_preventivo($idpreventivo)
{
$dbo = Database::getConnection();
$dbo = database();
$query = 'SELECT SUM(co_righe_preventivi.subtotale - co_righe_preventivi.sconto) AS imponibile FROM co_righe_preventivi GROUP BY idpreventivo HAVING idpreventivo='.prepare($idpreventivo);
$rs = $dbo->fetchArray($query);
@ -112,7 +112,7 @@ function get_imponibile_preventivo($idpreventivo)
*/
function get_stato_preventivo($idpreventivo)
{
$dbo = Database::getConnection();
$dbo = database();
$rs = $dbo->fetchArray('SELECT SUM(qta) AS qta, SUM(qta_evasa) AS qta_evasa FROM co_righe_preventivi GROUP BY idpreventivo HAVING idpreventivo='.prepare($idpreventivo));
@ -134,7 +134,7 @@ function get_stato_preventivo($idpreventivo)
*/
function update_budget_preventivo($idpreventivo)
{
$dbo = Database::getConnection();
$dbo = database();
// Totale articoli
$rs = $dbo->fetchArray('SELECT SUM(subtotale) AS totale FROM co_righe_preventivi GROUP BY idpreventivo HAVING idpreventivo='.prepare($idpreventivo));

View File

@ -37,11 +37,11 @@ if ($record['can_delete']) {
</div>
<div class="col-md-4">
{[ "type": "select", "label": "<?php echo tr('Template email'); ?>", "name": "email", "value": "$id_email$", "values": "query=SELECT id, name AS descrizione FROM zz_emails WHERE id_module = <?php echo Modules::get('Interventi')['id']; ?> AND deleted_at IS NULL" ]}
{[ "type": "select", "label": "<?php echo tr('Template email'); ?>", "name": "email", "value": "$id_email$", "values": "query=SELECT id, name AS descrizione FROM zz_emails WHERE id_module = <?php echo Modules::get('Interventi')['id']; ?> AND deleted_at IS NULL", "disabled": <?php echo intval(empty($record['notifica'])); ?> ]}
</div>
<div class="col-md-6">
{[ "type": "text", "label": "<?php echo tr('Destinatari'); ?>", "name": "destinatari", "value": "$destinatari$" ]}
{[ "type": "text", "label": "<?php echo tr('Destinatari'); ?>", "name": "destinatari", "value": "$destinatari$", "disabled": <?php echo intval(empty($record['notifica'])); ?> ]}
</div>
</div>
</form>

View File

@ -3,9 +3,9 @@
switch ($resource) {
case 'login':
// Controllo sulle credenziali
if (Auth::getInstance()->attempt($request['username'], $request['password'])) {
$user = Auth::getInstance()->getUser();
$token = Auth::getInstance()->getToken();
if (auth()->attempt($request['username'], $request['password'])) {
$user = auth()->getUser();
$token = auth()->getToken();
// Informazioni da restituire tramite l'API
$response['user'] = $dbo->fetchOne('SELECT `ragione_sociale`, `codice`, `piva`, `codice_fiscale`, `indirizzo`, `citta`, `provincia`, (SELECT `nome` FROM `an_nazioni` WHERE `an_nazioni`.`id` = `an_anagrafiche`.`id_nazione`) AS nazione, `telefono`, `fax`, `cellulare`, `an_anagrafiche`.`email` FROM `zz_users` LEFT JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica` = `zz_users`.`idanagrafica` WHERE `id` = :id', [

View File

@ -12,7 +12,7 @@ if (post('op') == 'change_pwd') {
}
$user = Auth::user();
$token = Auth::getInstance()->getToken();
$token = auth()->getToken();
$rs = $dbo->fetchArray('SELECT * FROM an_anagrafiche WHERE idanagrafica = '.prepare($user['idanagrafica']));
$anagrafica = [];

View File

@ -4,7 +4,7 @@ include_once __DIR__.'/../../core.php';
function menuSelection($element, $group_id, $depth, $perms_values, $perms_names)
{
$dbo = Database::getConnection();
$dbo = database();
++$depth;
$name = $element['title'];

View File

@ -122,7 +122,7 @@ class AJAX
$query = str_replace('|where|', !empty($where) ? 'WHERE '.implode(' AND ', $where) : '', $query);
$database = Database::getConnection();
$database = database();
$rs = $database->fetchArray($query);
$results = [];
@ -162,7 +162,7 @@ class AJAX
];
// Database
$dbo = $database = Database::getConnection();
$dbo = $database = database();
require $file;
@ -220,7 +220,7 @@ class AJAX
protected static function getSearchResults($file, $term)
{
// Database
$dbo = $database = Database::getConnection();
$dbo = $database = database();
// Ricerca anagrafiche per ragione sociale per potere mostrare gli interventi, fatture,
// ordini, ecc della persona ricercata
@ -280,7 +280,7 @@ class AJAX
protected static function getCompleteResults($file, $resource)
{
// Database
$dbo = $database = Database::getConnection();
$dbo = $database = database();
ob_start();
require $file;

View File

@ -97,7 +97,7 @@ class API extends \Util\Singleton
$page = isset($request['page']) ? (int) $request['page'] : 0;
$length = setting('Lunghezza pagine per API');
$dbo = $database = Database::getConnection();
$dbo = $database = database();
$kind = 'retrieve';
$resources = self::getResources()[$kind];
@ -225,7 +225,7 @@ class API extends \Util\Singleton
include_once App::filepath('modules/'.$resources[$resource].'|custom|', 'modutil.php');
// Database
$dbo = $database = Database::getConnection();
$dbo = $database = database();
$database->beginTransaction();
@ -415,7 +415,7 @@ class API extends \Util\Singleton
*/
public static function isCompatible()
{
$database = Database::getConnection();
$database = database();
return version_compare($database->getMySQLVersion(), '5.6.5') >= 0;
}

View File

@ -185,7 +185,7 @@ class App
// Impostazione dei percorsi
$paths = self::getPaths();
$lang = Translator::getInstance()->getCurrentLocale();
$lang = trans()->getCurrentLocale();
// Sezioni: nome - percorso
$sections = [
@ -350,7 +350,7 @@ class App
*/
protected static function getViews($element)
{
$database = Database::getConnection();
$database = database();
$user = Auth::user();

View File

@ -52,7 +52,7 @@ class Auth extends \Util\Singleton
protected function __construct()
{
$database = Database::getConnection();
$database = database();
if ($database->isInstalled()) {
// Controllo dell'accesso da API
@ -95,7 +95,7 @@ class Auth extends \Util\Singleton
return false;
}
$database = Database::getConnection();
$database = database();
$log = [];
$log['username'] = $username;
@ -175,7 +175,7 @@ class Auth extends \Util\Singleton
// Controllo in automatico per futuri cambiamenti dell'algoritmo di password
if ($rehash) {
$database = Database::getConnection();
$database = database();
$database->update('zz_users', ['password' => self::hashPassword($password)], ['id' => $user_id]);
}
@ -209,7 +209,7 @@ class Auth extends \Util\Singleton
*/
protected function identifyUser($user_id)
{
$database = Database::getConnection();
$database = database();
try {
$results = $database->fetchArray('SELECT id, idanagrafica, username, (SELECT nome FROM zz_groups WHERE zz_groups.id = zz_users.idgruppo) AS gruppo FROM zz_users WHERE id = :user_id AND enabled = 1 LIMIT 1', [
@ -276,7 +276,7 @@ class Auth extends \Util\Singleton
if ($this->isAuthenticated()) {
$user = self::user();
$database = Database::getConnection();
$database = database();
$tokens = $database->fetchArray('SELECT `token` FROM `zz_tokens` WHERE `enabled` = 1 AND `id_utente` = :user_id', [
':user_id' => $user->id,
]);
@ -332,7 +332,7 @@ class Auth extends \Util\Singleton
$parameters[':group'] = $this->getUser()['gruppo'];
}
$database = Database::getConnection();
$database = database();
$results = $database->fetchArray($query." AND options != '' AND options != 'menu' AND options IS NOT NULL ORDER BY `order` ASC", $parameters);
if (!empty($results)) {
@ -429,7 +429,7 @@ class Auth extends \Util\Singleton
*/
public static function isBrute()
{
$database = Database::getConnection();
$database = database();
if (!$database->isInstalled() || !$database->tableExists('zz_logs') || Update::isUpdateAvailable()) {
return false;
@ -459,7 +459,7 @@ class Auth extends \Util\Singleton
return 0;
}
$database = Database::getConnection();
$database = database();
$results = $database->fetchArray('SELECT TIME_TO_SEC(TIMEDIFF(DATE_ADD(created_at, INTERVAL '.self::$brute_options['timeout'].' SECOND), NOW())) AS diff FROM zz_logs WHERE ip = :ip AND stato = :state AND DATE_ADD(created_at, INTERVAL :timeout SECOND) >= NOW() ORDER BY created_at DESC LIMIT 1', [
':ip' => get_client_ip(),

View File

@ -140,7 +140,7 @@ class Filter
$output[$key] = self::parse($value);
}
} elseif (!is_null($input)) {
$output = Translator::getFormatter()->parse($input);
$output = formatter()->parse($input);
}
return $output;

View File

@ -25,25 +25,25 @@ class DateHandler implements HandlerInterface
// Restrizione dei valori permessi
// Timestamp
if ($values['type'] == 'timestamp' && \Translator::getFormatter()->isStandardTimestamp($values['value'])) {
if ($values['type'] == 'timestamp' && formatter()->isStandardTimestamp($values['value'])) {
$values['value'] = \Translator::timestampToLocale($values['value']);
}
// Data
elseif ($values['type'] == 'date' && \Translator::getFormatter()->isStandardDate($values['value'])) {
elseif ($values['type'] == 'date' && formatter()->isStandardDate($values['value'])) {
$values['value'] = \Translator::dateToLocale($values['value']);
}
// Orario
elseif ($values['type'] == 'time' && \Translator::getFormatter()->isStandardTime($values['value'])) {
elseif ($values['type'] == 'time' && formatter()->isStandardTime($values['value'])) {
$values['value'] = \Translator::timeToLocale($values['value']);
}
// Controllo sulla correttezza sintattica del valore impostato
if (!(
($values['type'] == 'timestamp' && \Translator::getFormatter()->isFormattedTimestamp($values['value'])) ||
($values['type'] == 'date' && \Translator::getFormatter()->isFormattedDate($values['value'])) ||
($values['type'] == 'time' && \Translator::getFormatter()->isFormattedTime($values['value']))
($values['type'] == 'timestamp' && formatter()->isFormattedTimestamp($values['value'])) ||
($values['type'] == 'date' && formatter()->isFormattedDate($values['value'])) ||
($values['type'] == 'time' && formatter()->isFormattedTime($values['value']))
)) {
$values['value'] = '';
}

View File

@ -159,7 +159,7 @@ class DefaultHandler implements HandlerInterface
}
// Controllo sulla correttezza sintattica del valore impostato
$values['value'] = (\Translator::getFormatter()->isStandardNumber($values['value'])) ? \Translator::numberToLocale($values['value'], $decimals) : $values['value'];
$values['value'] = (formatter()->isStandardNumber($values['value'])) ? \Translator::numberToLocale($values['value'], $decimals) : $values['value'];
$values['type'] = 'text';

View File

@ -107,7 +107,7 @@ class SelectHandler implements HandlerInterface
{
// Richiamo del file dedicato alle richieste AJAX per ottenere il valore iniziale del select
ob_start();
$dbo = \Database::getConnection();
$dbo = database();
include DOCROOT.'/ajax_select.php';
$text = ob_get_clean();
@ -208,7 +208,7 @@ class SelectHandler implements HandlerInterface
{
$result = '';
$database = \Database::getConnection();
$database = database();
$array = $database->fetchArray($query);

View File

@ -16,7 +16,7 @@ class FieldManager implements ManagerInterface
public function getInfo($options)
{
$database = \Database::getConnection();
$database = database();
$query = 'SELECT `zz_fields`.*'.(isset($options['id_record']) ? ', `zz_field_record`.`value`' : '').' FROM `zz_fields`';

View File

@ -31,7 +31,7 @@ class FileManager implements ManagerInterface
// Cartella delle anteprime
$directory = \Uploads::getDirectory($options['id_module'], $options['id_plugin']);
$dbo = \Database::getConnection();
$dbo = database();
// Codice HTML
$result = '
@ -201,7 +201,7 @@ $(document).ready(function(){
minLength: 0
}).focus(function() {
$(this).autocomplete("search", $(this).val())
});;
});
data = {
op: "link_file",

View File

@ -22,7 +22,7 @@ class WidgetManager implements ManagerInterface
protected function widget($options)
{
$database = \Database::getConnection();
$database = database();
// Widget richiesto
$widget = $database->fetchArray('SELECT * FROM zz_widgets WHERE id = '.prepare($options['id']))[0];
@ -77,7 +77,7 @@ class WidgetManager implements ManagerInterface
$query = \App::replacePlaceholder($query);
// Individuazione del risultato della query
$database = \Database::getConnection();
$database = database();
$value = null;
if (!empty($query)) {
$value = $database->fetchArray($query)[0]['dato'];
@ -206,7 +206,7 @@ class WidgetManager implements ManagerInterface
$query = str_replace('|position|', $position, $query);
// Indivduazione dei widget interessati
$database = \Database::getConnection();
$database = database();
$widgets = $database->fetchArray($query);
$result = ' ';

View File

@ -20,7 +20,7 @@ class Import
if (empty(self::$imports)) {
$modules = Modules::getModules();
$database = Database::getConnection();
$database = database();
$results = [];
foreach ($modules as $module) {

View File

@ -61,7 +61,7 @@ class Mail extends PHPMailer\PHPMailer\PHPMailer
public static function getTemplates()
{
if (empty(self::$templates)) {
$database = Database::getConnection();
$database = database();
$results = $database->fetchArray('SELECT * FROM zz_emails WHERE deleted_at IS NULL');
@ -116,7 +116,7 @@ class Mail extends PHPMailer\PHPMailer\PHPMailer
{
$template = self::getTemplate($template);
$dbo = $database = Database::getConnection();
$dbo = $database = database();
// Lettura delle variabili nei singoli moduli
$variables = include Modules::filepath($template['id_module'], 'variables.php');

View File

@ -12,6 +12,16 @@ class MailTemplate extends Model
protected $table = 'zz_emails';
public function getVariablesAttribute()
{
$dbo = $database = database();
// Lettura delle variabili del modulo collegato
$variables = include $this->module()->filepath('variables.php');
return (array) $variables;
}
/* Relazioni Eloquent */
public function module()

View File

@ -112,7 +112,7 @@ class Modules
$user = Auth::user();
if (!isset(self::$additionals[$module['id']])) {
$database = Database::getConnection();
$database = database();
$additionals['WHR'] = [];
$additionals['HVN'] = [];
@ -158,7 +158,7 @@ class Modules
$module = self::get($module)['id'];
if (!isset(self::$segments[$module])) {
$database = Database::getConnection();
$database = database();
self::$segments[$module] = $database->fetchArray('SELECT * FROM `zz_segments` WHERE `id_module` = '.prepare($module).' ORDER BY `predefined` DESC, `id` ASC');
}

View File

@ -20,7 +20,7 @@ class Prints
public static function getPrints()
{
if (empty(self::$prints)) {
$database = Database::getConnection();
$database = database();
$results = $database->fetchArray('SELECT * FROM zz_prints WHERE enabled = 1 ORDER BY `order`');
@ -131,7 +131,7 @@ class Prints
}
// Impostazione automatica della precisione a 2 numeri decimali
Translator::getFormatter()->setPrecision(2);
formatter()->setPrecision(2);
// Individuazione della configurazione
$directory = dirname($filename);
@ -212,7 +212,7 @@ class Prints
$options = self::readOptions($infos['options']);
$docroot = DOCROOT;
$dbo = $database = Database::getConnection();
$dbo = $database = database();
$user = Auth::user();
@ -273,7 +273,7 @@ class Prints
$infos = self::get($id_print);
$options = self::readOptions($infos['options']);
$dbo = $database = Database::getConnection();
$dbo = $database = database();
$user = Auth::user();

View File

@ -20,7 +20,7 @@ class Update
*/
protected static function prepareToUpdate()
{
$database = Database::getConnection();
$database = database();
$database_ready = $database->isConnected() && $database->tableExists('updates');
@ -173,7 +173,7 @@ class Update
if (!is_array(self::$updates)) {
self::prepareToUpdate();
$database = Database::getConnection();
$database = database();
$updates = $database->isConnected() ? $database->fetchArray('SELECT * FROM `updates` WHERE `done` != 1 OR `done` IS NULL ORDER BY `done` DESC, `id` ASC') : [];
@ -262,7 +262,7 @@ class Update
*/
public static function getDatabaseVersion()
{
$database = Database::getConnection();
$database = database();
$results = $database->fetchArray("SELECT version FROM `updates` WHERE version NOT LIKE '%\_%' ORDER BY version DESC LIMIT 1");
@ -279,7 +279,7 @@ class Update
$result = self::getFile('VERSION');
if (empty($result)) {
$database = Database::getConnection();
$database = database();
if ($database->isInstalled()) {
$result = self::getDatabaseVersion();
@ -344,7 +344,7 @@ class Update
public static function updateCleanup()
{
if (self::isUpdateCompleted()) {
$database = Database::getConnection();
$database = database();
// Aggiornamento all'ultima release della versione e compatibilità moduli
$database->query('UPDATE `zz_modules` SET `compatibility`='.prepare(self::getVersion()).', `version`='.prepare(self::getVersion()).' WHERE `default` = 1');
@ -376,7 +376,7 @@ class Update
$file = DOCROOT.'/'.$update['directory'].$update['filename'];
$database = Database::getConnection();
$database = database();
try {
// Esecuzione delle query
@ -469,7 +469,7 @@ class Update
set_time_limit(0);
ignore_user_abort(true);
$database = Database::getConnection();
$database = database();
$database->getPDO()->setAttribute(PDO::ATTR_EMULATE_PREPARES, true);
@ -520,7 +520,7 @@ class Update
*/
protected static function executeScript($script)
{
$dbo = $database = Database::getConnection();
$dbo = $database = database();
// Informazioni relative a MySQL
$mysql_ver = $database->getMySQLVersion();

View File

@ -16,7 +16,7 @@ class Uploads
*/
public static function get($data)
{
$database = Database::getConnection();
$database = database();
$uploads = $database->select('zz_files', '*', [
'id_module' => !empty($data['id_module']) && empty($data['id_plugin']) ? $data['id_module'] : null,
@ -125,7 +125,7 @@ class Uploads
*/
public static function register($data)
{
$database = Database::getConnection();
$database = database();
$database->insert('zz_files', [
'name' => !empty($data['name']) ? $data['name'] : $data['original'],
@ -192,7 +192,7 @@ class Uploads
*/
public static function delete($filename, $data)
{
$database = Database::getConnection();
$database = database();
$name = $database->selectOne('zz_files', ['name'], [
'filename' => $filename,

View File

@ -3,4 +3,4 @@
// Individuazione dei percorsi di base
App::definePaths(__DIR__.'/../..');
Database::getConnection();
database();