From 72171f24b903006fdda7a6f2ff55d607a0e3b375 Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Tue, 5 Mar 2024 16:01:45 +0100 Subject: [PATCH] Aggiunta tabella zz_modules_lang --- KNOWN-ISSUES.md | 2 +- actions.php | 5 +- controller.php | 2 +- editor.php | 5 +- include/colonne.php | 3 +- include/common/importa.php | 37 +- include/common/riga.php | 3 +- include/init/init.php | 3 +- include/manager.php | 6 +- include/top.php | 3 +- mail.php | 3 +- modules/aggiornamenti/modutil.php | 4 +- .../src/Controlli/ColonneDuplicateViste.php | 2 +- .../src/Controlli/PluginDuplicati.php | 4 +- modules/aggiornamenti/src/UpdateHook.php | 3 +- modules/aggiornamenti/upload_modules.php | 14 +- modules/anagrafiche/ajax/search.php | 3 +- modules/anagrafiche/buttons.php | 26 +- modules/anagrafiche/edit.php | 19 +- modules/anagrafiche/liquida_provvigioni.php | 2 +- modules/anagrafiche/plugins/allegati.php | 39 +- modules/articoli/add.php | 7 +- modules/articoli/ajax/complete.php | 7 +- modules/articoli/ajax/search.php | 4 +- modules/articoli/bulk.php | 7 +- modules/articoli/edit.php | 7 +- .../articoli/plugins/articoli.giacenze.php | 9 +- modules/articoli/plugins/articoli.lotti.php | 19 +- .../articoli/plugins/articoli.movimenti.php | 5 +- modules/articoli/src/Articolo.php | 3 +- modules/articoli/src/Import/CSV.php | 5 +- modules/articoli/widgets/stampa_cespiti.php | 2 +- .../articoli/widgets/stampa_inventario.php | 2 +- modules/automezzi/add_articolo.php | 3 +- modules/automezzi/add_tecnico.php | 3 +- modules/automezzi/ajax/search.php | 3 +- modules/automezzi/edit.php | 4 +- modules/categorie_impianti/actions.php | 3 +- modules/categorie_impianti/edit.php | 4 +- modules/checklists/add.php | 4 +- modules/checklists/edit.php | 4 +- modules/checklists/init.php | 3 +- modules/combinazioni_articoli/add.php | 3 +- modules/combinazioni_articoli/edit.php | 2 +- modules/contratti/actions.php | 3 +- modules/contratti/add.php | 3 +- modules/contratti/bulk.php | 8 +- modules/contratti/edit.php | 5 +- modules/custom_fields/add.php | 4 +- modules/custom_fields/edit.php | 4 +- modules/custom_fields/init.php | 2 +- modules/dashboard/ajax.php | 7 +- modules/dashboard/edit.php | 3 +- modules/dashboard/widgets/notifiche.php | 26 +- modules/ddt/actions.php | 6 +- modules/ddt/add.php | 9 +- modules/ddt/bulk.php | 3 +- modules/ddt/buttons.php | 2 +- modules/ddt/crea_documento.php | 5 +- modules/ddt/edit.php | 18 +- modules/emails/add.php | 2 +- modules/emails/edit.php | 5 +- modules/fatture/actions.php | 7 +- modules/fatture/add.php | 7 +- modules/fatture/add_intervento.php | 5 +- modules/fatture/add_serial.php | 26 +- modules/fatture/ajax/search.php | 3 +- modules/fatture/bulk.php | 6 +- modules/fatture/buttons.php | 7 +- modules/fatture/crea_autofattura.php | 3 +- modules/fatture/edit.php | 30 +- modules/gestione_documentale/add.php | 3 +- modules/giacenze_sedi/init.php | 2 +- modules/impianti/actions.php | 9 +- modules/impianti/add.php | 12 +- modules/impianti/ajax/search.php | 3 +- modules/impianti/edit.php | 7 +- .../plugins/my_impianti.interventi.php | 27 +- modules/impianti/src/Import/CSV.php | 5 +- modules/import/actions.php | 3 +- modules/interventi/actions.php | 7 +- modules/interventi/add.php | 22 +- modules/interventi/ajax/complete.php | 6 +- modules/interventi/ajax/search.php | 3 +- modules/interventi/ajax_tecnici.php | 3 +- modules/interventi/bulk.php | 3 +- modules/interventi/crea_documento.php | 4 +- modules/interventi/edit.php | 14 +- modules/interventi/init.php | 3 +- modules/interventi/row-list.php | 3 +- .../widgets/interventi_da_pianificare.php | 5 +- .../widgets/interventi_da_programmare.php | 5 +- modules/liste_newsletter/edit.php | 2 +- modules/listini_cliente/edit.php | 2 +- modules/mappa/actions.php | 7 +- modules/modelli_primanota/add.php | 3 +- modules/modelli_primanota/edit.php | 3 +- modules/newsletter/ajax/table.php | 4 +- modules/ordini/actions.php | 5 +- modules/ordini/add.php | 7 +- modules/ordini/bulk.php | 15 +- modules/ordini/crea_documento.php | 7 +- modules/ordini/edit.php | 8 +- modules/ordini/row-list.php | 3 +- modules/partitario/add_conto.php | 3 +- modules/partitario/dettagli_conto3.php | 10 +- modules/preventivi/add.php | 3 +- modules/preventivi/ajax/search.php | 3 +- modules/preventivi/bulk.php | 5 +- modules/preventivi/edit.php | 3 +- .../widgets/preventivi.dashboard.php | 3 +- .../preventivi.fatturare.dashboard.php | 3 +- modules/primanota/add.php | 8 +- modules/primanota/dettagli.php | 9 +- modules/primanota/edit.php | 11 +- modules/scadenzario/actions.php | 3 +- modules/scadenzario/add.php | 3 +- modules/scadenzario/bulk.php | 5 +- modules/scadenzario/edit.php | 23 +- modules/scadenzario/src/SollecitoTask.php | 5 +- modules/segmenti/add.php | 2 +- modules/segmenti/edit.php | 2 +- modules/segmenti/init.php | 4 +- modules/smtp/actions.php | 4 +- modules/stampe/edit.php | 5 +- modules/stampe_contabili/stampe_contabili.php | 4 +- modules/stati_intervento/edit.php | 3 +- modules/statistiche/edit.php | 3 +- modules/stato_servizi/actions.php | 8 +- modules/stato_servizi/elenco-hooks.php | 12 +- modules/stato_servizi/elenco-moduli.php | 2 + modules/stato_servizi/elenco-sessioni.php | 18 +- modules/stato_servizi/elenco-widget.php | 3 +- modules/stato_servizi/src/ServicesHook.php | 4 +- .../widgets/spazio_utilizzato.php | 5 +- modules/tipi_documento/edit.php | 6 +- modules/tipi_intervento/add_righe.php | 21 +- modules/tipi_scadenze/actions.php | 5 +- modules/utenti/actions.php | 40 +- modules/utenti/ajax/select.php | 10 +- modules/utenti/components/base.php | 5 +- modules/utenti/info.php | 4 +- modules/viste/actions.php | 4 +- modules/viste/fields.php | 2 +- modules/viste/init.php | 3 +- plugins/checks.php | 3 +- plugins/exportFE/src/FatturaElettronica.php | 7 +- plugins/importFE/generate.php | 3 +- plugins/importFE/src/FatturaElettronica.php | 7 +- plugins/importFE/src/Interaction.php | 2 +- plugins/importFE/src/InvoiceHook.php | 3 +- plugins/listino_clienti/edit.php | 3 +- plugins/listino_fornitori/edit.php | 3 +- plugins/movimenti_contabili/edit.php | 3 +- .../pianificazione_fatturazione/actions.php | 5 +- .../ajax_cadenza.php | 3 +- .../crea_fattura.php | 5 +- .../crea_fattura_multipla.php | 5 +- .../widgets/rate_contrattuali.php | 9 +- plugins/pianificazione_interventi/edit.php | 3 +- .../pianificazione.php | 11 +- .../pianificazione_interventi/row-list.php | 3 +- plugins/presentazioni_bancarie/generate.php | 3 +- plugins/provvigioni/add.php | 3 +- plugins/provvigioni/edit.php | 3 +- plugins/receiptFE/src/Interaction.php | 2 +- .../receiptFE/src/NotificheRicevuteHook.php | 8 +- plugins/receiptFE/src/ReceiptHook.php | 5 +- plugins/receiptFE/src/Ricevuta.php | 3 +- plugins/referenti/add.php | 3 +- plugins/referenti/edit.php | 2 +- plugins/referenti/init.php | 3 +- plugins/registrazioni/edit.php | 4 +- plugins/sedi/add.php | 6 +- plugins/sedi/edit.php | 6 +- plugins/statistiche_anagrafiche/edit.php | 3 +- plugins/statistiche_anagrafiche/info.php | 19 +- plugins/statistiche_articoli/edit.php | 3 +- src/API/App/v1/AllegatiInterventi.php | 7 +- src/API/App/v1/Checklists.php | 118 ++-- src/API/App/v1/Impianti.php | 8 +- src/API/App/v1/SessioniInterventi.php | 6 +- src/API/Common/Allegato.php | 5 +- src/Auth.php | 6 +- src/HTMLBuilder/Manager/WidgetManager.php | 2 +- src/HTMLBuilder/Wrapper/HTMLWrapper.php | 3 +- src/Models/Module.php | 49 ++ src/Models/OperationLog.php | 8 + src/Models/User.php | 4 +- src/Permissions.php | 4 +- src/Prints.php | 7 +- src/Traits/LocalPoolTrait.php | 1 - src/Traits/RecordTrait.php | 2 +- src/Uploads.php | 8 +- templates/interventi/body.php | 5 +- templates/liquidazione_iva/init.php | 3 +- templates/magazzino_inventario/body.php | 7 +- templates/prima_nota/init.php | 6 +- templates/provvigione/init.php | 4 +- templates/registro_iva/init.php | 3 +- templates/riepilogo_interventi/init.php | 6 +- templates/scadenzario/init.php | 3 +- update/2_4_55.sql | 518 ++++++++++++------ update/tables.php | 1 + 204 files changed, 1204 insertions(+), 748 deletions(-) diff --git a/KNOWN-ISSUES.md b/KNOWN-ISSUES.md index c1a46d7c0..7004a6570 100644 --- a/KNOWN-ISSUES.md +++ b/KNOWN-ISSUES.md @@ -10,7 +10,7 @@ Le problematiche saranno raggruppate per release e le relative correzioni (se ap ##### Soluzione Eseguire a database le seguenti query di allineamento: -- UPDATE `zz_modules` SET `icon` = 'fa fa-exchange' WHERE `zz_modules`.`name` = 'Causali movimenti'; +- UPDATE `zz_modules` SET `icon` = 'fa fa-exchange' WHERE `id` = (SELECT `id_record` FROM `zz_modules_lang` WHERE `name` = 'Causali movimenti'); - ALTER TABLE `zz_groups` ADD `id_module_start` INT NULL AFTER `editable`; oppure aggiornare alla **v.2.4.55** di OpenSTAManager. \ No newline at end of file diff --git a/actions.php b/actions.php index 982155748..7eec92fcb 100755 --- a/actions.php +++ b/actions.php @@ -27,6 +27,7 @@ use Modules\Checklists\Checklist; use Modules\Emails\Template; use Notifications\EmailNotification; use Util\Zip; +use Models\Module; if (empty($structure) || empty($structure['enabled'])) { exit(tr('Accesso negato')); @@ -41,7 +42,7 @@ if (filter('op') == 'aggiungi-allegato' || filter('op') == 'rimuovi-allegato') { // Controllo sui permessi di scrittura per il modulo if (Modules::getPermission($id_module) != 'rw') { flash()->error(tr('Non hai permessi di scrittura per il modulo _MODULE_', [ - '_MODULE_' => '"'.Modules::get($id_module)['name'].'"', + '_MODULE_' => '"'.Module::find($id_module)->name.'"', ])); } @@ -73,7 +74,7 @@ if (filter('op') == 'aggiungi-allegato' || filter('op') == 'rimuovi-allegato') { $upload = Uploads::upload($_FILES['upload'], [ 'name' => filter('nome_allegato'), 'category' => filter('categoria'), - 'id_module' => Modules::get('Gestione documentale')['id'], + 'id_module' => (new Module())->getByName('Gestione documentale')->id_record, 'id_record' => $id_record, ]); diff --git a/controller.php b/controller.php index 105de0813..4c0155556 100755 --- a/controller.php +++ b/controller.php @@ -51,7 +51,7 @@ echo ' '; -$plugins = $dbo->fetchArray('SELECT `zz_plugins`.`id`,`title` FROM `zz_plugins` LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins`.`id_lang` = '.setting('Lingua').') WHERE `idmodule_to`='.prepare($id_module)." AND `position`='tab_main' AND `enabled` = 1"); +$plugins = $dbo->fetchArray('SELECT `zz_plugins`.`id`,`title` FROM `zz_plugins` LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins_lang`.`id_lang` = '.setting('Lingua').') WHERE `idmodule_to`='.prepare($id_module)." AND `position`='tab_main' AND `enabled` = 1"); // Tab dei plugin foreach ($plugins as $plugin) { diff --git a/editor.php b/editor.php index 70c1c7548..44fa0f3e2 100755 --- a/editor.php +++ b/editor.php @@ -20,6 +20,7 @@ include_once __DIR__.'/core.php'; use Carbon\Carbon; +use Models\Module; // Disabilitazione dei campi $read_only = $structure->permission == 'r'; @@ -172,7 +173,7 @@ if (empty($record) || !$has_access) { {( "name": "button", "type": "email", "id_module": "'.$id_module.'", "id_plugin": "'.$id_plugin.'", "id_record": "'.$id_record.'" )}'; - if (Modules::get('Account SMS')) { + if (Module::find((new Module())->getByName('Account SMS')->id_record)) { echo ' {( "name": "button", "type": "sms", "id_module": "'.$id_module.'", "id_plugin": "'.$id_plugin.'", "id_record": "'.$id_record.'" )}'; } @@ -333,7 +334,7 @@ if (empty($record) || !$has_access) { echo '
'; - $operations = $dbo->fetchArray('SELECT `zz_operations`.*, `zz_users`.`username` FROM `zz_operations` JOIN `zz_users` ON `zz_operations`.`id_utente` = `zz_users`.`id` WHERE id_module = '.prepare($id_module).' AND id_record = '.prepare($id_record).' ORDER BY `created_at` DESC LIMIT 200'); + $operations = $dbo->fetchArray('SELECT `zz_operations`.*, `zz_users`.`username` FROM `zz_operations` LEFT JOIN `zz_users` ON `zz_operations`.`id_utente` = `zz_users`.`id` WHERE id_module = '.prepare($id_module).' AND id_record = '.prepare($id_record).' ORDER BY `created_at` DESC LIMIT 200'); if (!empty($operations)) { echo ' diff --git a/include/colonne.php b/include/colonne.php index 6746474fb..a888f3bf6 100644 --- a/include/colonne.php +++ b/include/colonne.php @@ -18,9 +18,10 @@ */ include_once __DIR__.'/../core.php'; +use Models\Module; // Compatibilità per controller ed editor -$structure = Modules::get($id_module); +$structure = Module::find($id_module); echo '

'.tr('Trascina le colonne per ordinare la struttura della tabella principale, seleziona e deseleziona le colonne per renderle visibili o meno').'.

diff --git a/include/common/importa.php b/include/common/importa.php index 3bffb7863..81d4a6ff1 100755 --- a/include/common/importa.php +++ b/include/common/importa.php @@ -22,6 +22,7 @@ use Modules\Fatture\Stato as StatoFattura; use Modules\Ordini\Stato as StatoOrdine; use Modules\DDT\Stato; use Plugins\ListinoFornitori\DettaglioFornitore; +use Models\Module; // Inizializzazione $documento = $options['documento']; @@ -32,22 +33,22 @@ if (empty($documento)) { // Informazioni utili $dir = $documento->direzione; -$original_module = Modules::get($documento->module); +$original_module = Module::find((new Module())->getByName($documento->module)->id_record); $name = !empty($documento_finale) ? $documento_finale->module : $options['module']; -$final_module = Modules::get($name); -$id_segment = $_SESSION['module_'.$final_module['id']]['id_segment']; +$final_module = Module::find((new Module())->getByName($name)->id_record); +$id_segment = $_SESSION['module_'.$final_module->id]['id_segment']; // IVA predefinita $id_iva = $id_iva ?: setting('Iva predefinita'); $righe_totali = $documento->getRighe(); -if ($final_module['name'] == 'Interventi') { +if ($final_module->name == 'Interventi') { $righe = $righe_totali->where('is_descrizione', '=', 0) ->where('qta_rimanente', '>', 0); $righe_evase = $righe_totali->where('is_descrizione', '=', 0) ->where('qta_rimanente', '=', 0); -} elseif ($final_module['name'] == 'Ordini fornitore') { +} elseif ($final_module->name == 'Ordini fornitore') { $righe = $righe_totali; $righe_evase = collect(); } else { @@ -62,7 +63,7 @@ if ($righe->isEmpty()) { return; } -$link = !empty($documento_finale) ? base_path().'/editor.php?id_module='.$final_module['id'].'&id_record='.$documento_finale->id : base_path().'/controller.php?id_module='.$final_module['id']; +$link = !empty($documento_finale) ? base_path().'/editor.php?id_module='.$final_module->id.'&id_record='.$documento_finale->id : base_path().'/controller.php?id_module='.$final_module->id; echo '
@@ -91,12 +92,12 @@ if (!empty($options['create_document'])) {
'; // Opzioni aggiuntive per le Fatture - if (in_array($final_module['name'], ['Fatture di vendita', 'Fatture di acquisto'])) { + if (in_array($final_module->name, ['Fatture di vendita', 'Fatture di acquisto'])) { $stato_predefinito = (new StatoFattura())->getByName('Bozza')->id_record; if (!empty($options['reversed'])) { $idtipodocumento = database()->fetchOne('SELECT `co_tipidocumento`.`id` FROM `co_tipidocumento` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento_lang`.`id_record` = `co_tipidocumento`.`id` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(setting('Lingua')).') WHERE `name` = "Nota di credito" AND `dir` = \''.$dir.'\'')['id']; - } elseif (in_array($original_module['name'], ['Ddt di vendita', 'Ddt di acquisto'])) { + } elseif (in_array($original_module->name, ['Ddt di vendita', 'Ddt di acquisto'])) { $idtipodocumento = database()->fetchOne('SELECT `co_tipidocumento`.`id` FROM `co_tipidocumento` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento_lang`.`id_record` = `co_tipidocumento`.`id` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(setting('Lingua')).') WHERE `name` = '.($dir == 'uscita' ? 'Fattura differita di acquisto' : 'Fattura differita di vendita').' AND `dir` = \''.$dir.'\'')['id']; } else { $idtipodocumento = database()->fetchOne('SELECT `co_tipidocumento`.`id` FROM `co_tipidocumento` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento_lang`.`id_record` = `co_tipidocumento`.`id` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(setting('Lingua')).') WHERE `dir` = \''.$dir.'\' AND `predefined` = 1')['id']; @@ -117,7 +118,7 @@ if (!empty($options['create_document'])) { } // Opzioni aggiuntive per gli Interventi - elseif ($final_module['name'] == 'Interventi') { + elseif ($final_module->name == 'Interventi') { echo '
{[ "type": "select", "label": "'.tr('Stato').'", "name": "id_stato_intervento", "required": 1, "values": "query=SELECT `in_statiintervento`.`id`, `in_statiintervento_lang`.`name` as `descrizione`, `colore` AS _bgcolor_ FROM `in_statiintervento` LEFT JOIN `in_statiintervento_lang` ON (`in_statiintervento`.`id` = `in_statiintervento_lang`.`id_record` AND `in_statiintervento_lang`.`id_lang` = '.prepare(setting('Lingua')).') WHERE `deleted_at` IS NULL AND `is_completato` = 0 ORDER BY `name`" ]} @@ -129,7 +130,7 @@ if (!empty($options['create_document'])) { } // Opzioni aggiuntive per i Contratti - elseif ($final_module['name'] == 'Contratti') { + elseif ($final_module->name == 'Contratti') { $stato_predefinito = (new StatoContratto())->getByName('Bozza')->id_record; echo ' @@ -139,7 +140,7 @@ if (!empty($options['create_document'])) { } // Opzioni aggiuntive per i DDT - elseif (in_array($final_module['name'], ['Ddt di vendita', 'Ddt di acquisto'])) { + elseif (in_array($final_module->name, ['Ddt di vendita', 'Ddt di acquisto'])) { $stato_predefinito = (new Stato())->getByName('Bozza')->id_record; echo ' @@ -148,12 +149,12 @@ if (!empty($options['create_document'])) {
- {[ "type": "select", "label": "'.tr('Causale trasporto').'", "name": "id_causale_trasporto", "required": 1, "ajax-source": "causali", "icon-after": "add|'.Modules::get('Causali')['id'].'", "help": "'.tr('Definisce la causale del trasporto').'" ]} + {[ "type": "select", "label": "'.tr('Causale trasporto').'", "name": "id_causale_trasporto", "required": 1, "ajax-source": "causali", "icon-after": "add|'.(new Module())->getByname('Causali')->id_record.'", "help": "'.tr('Definisce la causale del trasporto').'" ]}
'; } // Opzioni aggiuntive per gli Ordini - elseif (in_array($final_module['name'], ['Ordini cliente', 'Ordini fornitore'])) { + elseif (in_array($final_module->name, ['Ordini cliente', 'Ordini fornitore'])) { $stato_predefinito = (new StatoOrdine())->getByName('Bozza')->id_record; echo ' @@ -169,13 +170,13 @@ if (!empty($options['create_document'])) { echo '
- {[ "type": "select", "label": "'.$tipo_anagrafica.'", "name": "idanagrafica", "required": 1, "ajax-source": "'.$ajax.'", "icon-after": "add|'.Modules::get('Anagrafiche')['id'].'|tipoanagrafica='.$tipo_anagrafica.'" ]} + {[ "type": "select", "label": "'.$tipo_anagrafica.'", "name": "idanagrafica", "required": 1, "ajax-source": "'.$ajax.'", "icon-after": "add|'.(new Module())->getByName('Anagrafiche')->id_record.'|tipoanagrafica='.$tipo_anagrafica.'" ]}
'; } echo '
- {[ "type": "select", "label": "'.tr('Sezionale').'", "name": "id_segment", "required": 1, "ajax-source": "segmenti", "select-options": '.json_encode(['id_module' => $final_module['id'], 'is_sezionale' => 1]).', "value": "'.$database->selectOne('co_tipidocumento', 'id_segment', ['id' => $idtipodocumento])['id_segment'].'" ]} + {[ "type": "select", "label": "'.tr('Sezionale').'", "name": "id_segment", "required": 1, "ajax-source": "segmenti", "select-options": '.json_encode(['id_module' => $final_module->id, 'is_sezionale' => 1]).', "value": "'.$database->selectOne('co_tipidocumento', 'id_segment', ['id' => $idtipodocumento])['id_segment'].'" ]}
@@ -183,7 +184,7 @@ if (!empty($options['create_document'])) { } // Conto, rivalsa INPS, ritenuta d'acconto e ritenuta previdenziale -if (in_array($final_module['name'], ['Fatture di vendita', 'Fatture di acquisto']) && !in_array($original_module['name'], ['Fatture di vendita', 'Fatture di acquisto'])) { +if (in_array($final_module->name, ['Fatture di vendita', 'Fatture di acquisto']) && !in_array($original_module->name, ['Fatture di vendita', 'Fatture di acquisto'])) { $id_rivalsa_inps = setting('Cassa previdenziale predefinita'); if ($dir == 'uscita') { $id_ritenuta_acconto = $documento->anagrafica->id_ritenuta_acconto_acquisti; @@ -293,14 +294,14 @@ echo ' '; foreach ($righe as $i => $riga) { - if ($final_module['name'] == 'Ordini fornitore') { + if ($final_module->name == 'Ordini fornitore') { $qta_rimanente = $riga['qta']; } else { $qta_rimanente = $riga['qta_rimanente']; } $attr = 'checked="checked"'; - if ($original_module['name'] == 'Preventivi') { + if ($original_module->name == 'Preventivi') { if (empty($riga['confermato']) && $riga['is_descrizione'] == 0) { $attr = ''; } diff --git a/include/common/riga.php b/include/common/riga.php index f781d0191..0b7427bec 100755 --- a/include/common/riga.php +++ b/include/common/riga.php @@ -18,6 +18,7 @@ */ use Modules\Articoli\Articolo; +use Models\Module; $articolo = Articolo::find($result['idarticolo']); $width = $options['dir'] == 'uscita' && $articolo->fattore_um_secondaria ? 3 : 4; @@ -44,7 +45,7 @@ echo ' // Unità di misura echo '
- {[ "type": "select", "label": "'.tr('Unità di misura').'", "icon-after": "add|'.Modules::get('Unità di misura')['id'].'", "name": "um", "value": "'.$result['um'].'", "ajax-source": "misure" ]} + {[ "type": "select", "label": "'.tr('Unità di misura').'", "icon-after": "add|'.(new Module())->getByName('Unità di misura')->id_record.'", "name": "um", "value": "'.$result['um'].'", "ajax-source": "misure" ]}
'; // Unità di misura diff --git a/include/init/init.php b/include/init/init.php index 23c531d63..7698d1eee 100755 --- a/include/init/init.php +++ b/include/init/init.php @@ -20,6 +20,7 @@ include_once __DIR__.'/../../core.php'; use Modules\Anagrafiche\Tipo; +use Models\Module; if (Update::isUpdateAvailable() || !$dbo->isInstalled()) { return; @@ -69,7 +70,7 @@ if (post('action') == 'init') { // Azienda predefinita if (!$has_azienda) { Filter::set('post', 'op', 'add'); - $id_module = Modules::get('Anagrafiche')['id']; + $id_module = (new Module())->getByName('Anagrafiche')->id_record; include base_dir().'/modules/anagrafiche/actions.php'; // Logo stampe diff --git a/include/manager.php b/include/manager.php index 09aea527c..ef8233960 100755 --- a/include/manager.php +++ b/include/manager.php @@ -18,14 +18,16 @@ */ use HTMLBuilder\HTMLBuilder; +use Models\Module; +use Models\Plugin; include_once __DIR__.'/../core.php'; // Compatibilità per controller ed editor if (!empty($id_plugin)) { - $structure = Plugins::get($id_plugin); + $structure = Plugin::find($id_plugin); } else { - $structure = Modules::get($id_module); + $structure = Module::find($id_module); } if (!empty($id_plugin)) { diff --git a/include/top.php b/include/top.php index fc42d52f1..b3df5b69f 100755 --- a/include/top.php +++ b/include/top.php @@ -18,6 +18,7 @@ */ use Util\FileSystem; +use Models\Module; include_once __DIR__.'/../core.php'; @@ -236,7 +237,7 @@ if (Auth::check()) { { name: "tools", items : [ "Maximize", "ShowBlocks" ] }, { name: "about", items: [ "About" ] } ], - order_manager_id: "'.($dbo->isInstalled() ? Modules::get('Stato dei servizi')['id'] : '').'", + order_manager_id: "'.($dbo->isInstalled() ? (new Module())->getByName('Stato dei servizi')->id_record : '').'", dataload_page_buffer: '.setting('Lunghezza in pagine del buffer Datatables').', tempo_attesa_ricerche: '.setting('Tempo di attesa ricerche in secondi').', restrict_summables_to_selected: '.setting('Totali delle tabelle ristretti alla selezione').', diff --git a/mail.php b/mail.php index 0029cc025..686de747d 100755 --- a/mail.php +++ b/mail.php @@ -18,6 +18,7 @@ */ use Modules\Emails\Template; +use Models\Module; include_once __DIR__.'/core.php'; @@ -163,7 +164,7 @@ if ($smtp['pec'] == 1 && $module['name'] == 'Fatture di vendita') { echo '
- {[ "type": "select", "multiple": "1", "label": "'.tr('Allegati').'", "name": "uploads[]", "value": "'.implode(',', $uploads).'", "help": "'.tr('Allegati del documento o caricati nell\'anagrafica dell\'azienda.').'", "values": "query=SELECT id, name AS text FROM zz_files WHERE id_module = '.prepare($id_module).' AND id_record = '.prepare($id_record).' UNION SELECT id, CONCAT(name, \' (Azienda)\') AS text FROM zz_files WHERE id_module = '.prepare(Modules::get('Anagrafiche')['id']).' AND id_record = (SELECT valore FROM zz_settings WHERE nome = \'Azienda predefinita\')", "link": "allegato" ]} + {[ "type": "select", "multiple": "1", "label": "'.tr('Allegati').'", "name": "uploads[]", "value": "'.implode(',', $uploads).'", "help": "'.tr('Allegati del documento o caricati nell\'anagrafica dell\'azienda.').'", "values": "query=SELECT `id`, `name` AS text FROM `zz_files` WHERE `id_module` = '.prepare($id_module).' AND `id_record` = '.prepare($id_record).' UNION SELECT `id`, CONCAT(`name`, \' (Azienda)\') AS text FROM `zz_files` WHERE `id_module` = '.(new Module())->getByName('Anagrafiche')->id_record.' AND `id_record` = (SELECT `valore` FROM `zz_settings` WHERE `nome` = \'Azienda predefinita\')", "link": "allegato" ]}
'; diff --git a/modules/aggiornamenti/modutil.php b/modules/aggiornamenti/modutil.php index 3d9521615..fc355a245 100755 --- a/modules/aggiornamenti/modutil.php +++ b/modules/aggiornamenti/modutil.php @@ -103,8 +103,8 @@ if (!function_exists('customDatabase')) { function customDatabase() { $database = database(); - $modules = $database->fetchArray("SELECT name, CONCAT('modules/', `directory`) AS directory FROM `zz_modules` WHERE `options2` != ''"); - $plugins = $database->fetchArray("SELECT `name`, CONCAT('plugins/', `directory`) AS directory FROM `zz_plugins` LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins`.`id_lang` = ".setting('Lingua').") WHERE `options2` != ''"); + $modules = $database->fetchArray("SELECT `name`, CONCAT('modules/', `directory`) AS directory FROM `zz_modules` LEFT JOIN `zz_modules_lang` ON (`zz_modules`.`id` = `zz_modules_lang`.`id_record` AND `zz_modules_lang`.`id_lang` = ".setting('Lingua').") WHERE `options2` != ''"); + $plugins = $database->fetchArray("SELECT `name`, CONCAT('plugins/', `directory`) AS directory FROM `zz_plugins` LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins_lang`.`id_lang` = ".setting('Lingua').") WHERE `options2` != ''"); $results = array_merge($modules, $plugins); diff --git a/modules/aggiornamenti/src/Controlli/ColonneDuplicateViste.php b/modules/aggiornamenti/src/Controlli/ColonneDuplicateViste.php index 532b90921..51646c4fe 100644 --- a/modules/aggiornamenti/src/Controlli/ColonneDuplicateViste.php +++ b/modules/aggiornamenti/src/Controlli/ColonneDuplicateViste.php @@ -38,7 +38,7 @@ class ColonneDuplicateViste extends Controllo $duplicati = database()->fetchArray('SELECT `id_module`, `name` FROM `zz_views` GROUP BY `id_module`, `name` HAVING COUNT(`name`) > 1'); foreach ($duplicati as $colonna) { - $modulo = Module::pool($colonna['id_module']); + $modulo = Module::find($colonna['id_module']); $this->addResult([ 'id' => $colonna['name'], diff --git a/modules/aggiornamenti/src/Controlli/PluginDuplicati.php b/modules/aggiornamenti/src/Controlli/PluginDuplicati.php index 02f213b13..618146fe0 100644 --- a/modules/aggiornamenti/src/Controlli/PluginDuplicati.php +++ b/modules/aggiornamenti/src/Controlli/PluginDuplicati.php @@ -35,10 +35,10 @@ class PluginDuplicati extends Controllo public function check() { - $duplicati = database()->fetchArray('SELECT `idmodule_to`, `name` FROM `zz_plugins` LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins`.`id_lang` = '.prepare(setting('Lingua')).') GROUP BY `idmodule_to`, `name` HAVING COUNT(`name`) > 1'); + $duplicati = database()->fetchArray('SELECT `idmodule_to`, `name` FROM `zz_plugins` LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins_lang`.`id_lang` = '.prepare(setting('Lingua')).') GROUP BY `idmodule_to`, `name` HAVING COUNT(`name`) > 1'); foreach ($duplicati as $plugin) { - $modulo = Module::pool($plugin['idmodule_to']); + $modulo = Module::find($plugin['idmodule_to']); $this->addResult([ 'id' => $plugin->name, diff --git a/modules/aggiornamenti/src/UpdateHook.php b/modules/aggiornamenti/src/UpdateHook.php index c82118d26..ba2b4bc68 100755 --- a/modules/aggiornamenti/src/UpdateHook.php +++ b/modules/aggiornamenti/src/UpdateHook.php @@ -21,6 +21,7 @@ namespace Modules\Aggiornamenti; use GuzzleHttp\Client; use Hooks\CachedManager; +use Models\Module; /** * Hook dedicato all'individuazione di nuove versioni del gestionale, pubblicate sulla repository ufficiale di GitHub. @@ -46,7 +47,7 @@ class UpdateHook extends CachedManager $update = null; } - $module = \Modules::get('Aggiornamenti'); + $module = Module::find((new Module())->getByName('Aggiornamenti')->id_record); $link = base_path().'/controller.php?id_module='.$module->id; $message = tr("E' disponibile la versione _VERSION_ del gestionale", [ diff --git a/modules/aggiornamenti/upload_modules.php b/modules/aggiornamenti/upload_modules.php index 465dcbca6..c4c2c362b 100755 --- a/modules/aggiornamenti/upload_modules.php +++ b/modules/aggiornamenti/upload_modules.php @@ -20,6 +20,8 @@ include_once __DIR__.'/../../core.php'; use Util\Zip; +use Models\Module; +use Models\Plugin; if (!setting('Attiva aggiornamenti')) { exit(tr('Accesso negato')); @@ -66,8 +68,8 @@ if (file_exists($extraction_dir.'/VERSION')) { $directory = 'modules'; $table = 'zz_modules'; - $installed = Modules::get($info['name']); - $insert['parent'] = Modules::get($info['parent'])['id']; + $installed = Module::find((new Module())->getByName($info['name'])->id_record); + $insert['parent'] = (new Module())->getByName($info['parent'])->id_record; $insert['icon'] = $info['icon']; } @@ -114,9 +116,9 @@ if (file_exists($extraction_dir.'/VERSION')) { $directory = 'plugins'; $table = 'zz_plugins'; - $installed = Plugins::get($info['name']); - $insert['idmodule_from'] = Modules::get($info['module_from'])['id']; - $insert['idmodule_to'] = Modules::get($info['module_to'])['id']; + $installed = Plugin::find((new Plugin())->getByName($info['name'])->id_record); + $insert['idmodule_from'] = (new Module())->getByName($info['module_from'])->id_record; + $insert['idmodule_to'] = (new Module())->getByName($info['module_to'])->id_record; $insert['position'] = $info['position']; } @@ -126,7 +128,7 @@ if (file_exists($extraction_dir.'/VERSION')) { $table = 'zz_prints'; $installed = Prints::getPrints()[$info['name']]; - $insert['id_module'] = Modules::get($info['module'])['id']; + $insert['id_module'] = (new Module())->getByName($info['module'])->id_record; $insert['is_record'] = $info['is_record']; $insert['filename'] = $info['filename']; $insert['icon'] = $info['icon']; diff --git a/modules/anagrafiche/ajax/search.php b/modules/anagrafiche/ajax/search.php index 967664bec..9069452fc 100755 --- a/modules/anagrafiche/ajax/search.php +++ b/modules/anagrafiche/ajax/search.php @@ -18,12 +18,13 @@ */ include_once __DIR__.'/../../../core.php'; +use Models\Module; /* Anagrafiche */ -$link_id = Modules::get('Anagrafiche')['id']; +$link_id = (new Module())->getByName('Anagrafiche')->id_record; $fields = [ 'Codice' => 'codice', diff --git a/modules/anagrafiche/buttons.php b/modules/anagrafiche/buttons.php index ebfd4c812..cd87a3d0d 100755 --- a/modules/anagrafiche/buttons.php +++ b/modules/anagrafiche/buttons.php @@ -17,6 +17,8 @@ * along with this program. If not, see . */ +use Models\Module; + if (in_array($id_cliente, $tipi_anagrafica) or in_array($id_fornitore, $tipi_anagrafica)) { echo '
@@ -29,45 +31,45 @@ if (in_array($id_cliente, $tipi_anagrafica) or in_array($id_fornitore, $tipi_ana // Aggiunta utente per i tecnici if (in_array($id_tecnico, $tipi_anagrafica)) { echo ' -
  • '.tr('Nuovo utente').' +
  • '.tr('Nuovo utente').'
  • '; } if (in_array($id_cliente, $tipi_anagrafica)) { echo ' -
  • '.tr('Nuova attività').' +
  • '.tr('Nuova attività').'
  • -
  • '.tr('Nuovo preventivo').' +
  • '.tr('Nuovo preventivo').'
  • -
  • '.tr('Nuovo contratto').' +
  • '.tr('Nuovo contratto').'
  • -
  • '.tr('Nuovo ordine cliente').' +
  • '.tr('Nuovo ordine cliente').'
  • -
  • '.tr('Nuovo ddt in uscita').' +
  • '.tr('Nuovo ddt in uscita').'
  • -
  • '.tr('Nuova fattura di vendita').' +
  • '.tr('Nuova fattura di vendita').'
  • -
  • '.tr('Nuova registrazione contabile (cliente)').' +
  • '.tr('Nuova registrazione contabile (cliente)').'
  • '; } if (in_array($id_fornitore, $tipi_anagrafica)) { - echo '
  • '.tr('Nuovo ordine fornitore').' + echo '
  • '.tr('Nuovo ordine fornitore').'
  • -
  • '.tr('Nuovo ddt in entrata').' +
  • '.tr('Nuovo ddt in entrata').'
  • -
  • '.tr('Nuova fattura di acquisto').' +
  • '.tr('Nuova fattura di acquisto').'
  • -
  • '.tr('Nuova registrazione contabile (fornitore)').' +
  • '.tr('Nuova registrazione contabile (fornitore)').'
  • '; } diff --git a/modules/anagrafiche/edit.php b/modules/anagrafiche/edit.php index d4aeea312..ed5dac92d 100755 --- a/modules/anagrafiche/edit.php +++ b/modules/anagrafiche/edit.php @@ -20,6 +20,7 @@ use Carbon\Carbon; use Modules\Anagrafiche\Anagrafica; use Modules\Banche\Banca; +use Models\Module; include_once __DIR__.'/../../core.php'; @@ -30,7 +31,7 @@ $is_agente = in_array($id_agente, $tipi_anagrafica); $is_azienda = in_array($id_azienda, $tipi_anagrafica); if (!$is_cliente && !$is_fornitore && !$is_azienda && $is_tecnico) { - $ignore = $dbo->fetchArray("SELECT `zz_plugins`.`id` FROM `zz_plugins` LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins`.`id_lang` = ".prepare(setting('Lingua')).") WHERE `name`='Sedi' OR `name`='Referenti' OR `name`='Dichiarazioni d\'intento'"); + $ignore = $dbo->fetchArray("SELECT `zz_plugins`.`id` FROM `zz_plugins` LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins_lang`.`id_lang` = ".prepare(setting('Lingua')).") WHERE `name`='Sedi' OR `name`='Referenti' OR `name`='Dichiarazioni d\'intento'"); foreach ($ignore as $plugin) { echo ' @@ -41,7 +42,7 @@ if (!$is_cliente && !$is_fornitore && !$is_azienda && $is_tecnico) { } if (!$is_cliente) { - $ignore = $dbo->fetchArray("SELECT `zz_plugins`.`id` FROM `zz_plugins` LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins`.`id_lang` = ".prepare(setting('Lingua')).") WHERE `name` IN ('Impianti del cliente','Contratti del cliente','Ddt del cliente')"); + $ignore = $dbo->fetchArray("SELECT `zz_plugins`.`id` FROM `zz_plugins` LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins_lang`.`id_lang` = ".prepare(setting('Lingua')).") WHERE `name` IN ('Impianti del cliente','Contratti del cliente','Ddt del cliente')"); foreach ($ignore as $plugin) { echo ' @@ -223,7 +224,7 @@ if (in_array($id_azienda, $tipi_anagrafica)) {
    - {[ "type": "select", "label": "", "name": "idzona", "values": "query=SELECT id, CONCAT_WS( ' - ', nome, descrizione) AS descrizione FROM an_zone ORDER BY descrizione ASC", "value": "$idzona$", "placeholder": "", "icon-after": "add|" ]} + {[ "type": "select", "label": "", "name": "idzona", "values": "query=SELECT id, CONCAT_WS( ' - ', nome, descrizione) AS descrizione FROM an_zone ORDER BY descrizione ASC", "value": "$idzona$", "placeholder": "", "icon-after": "add|getByName('Zone')->id_record; ?>" ]}
    @@ -452,7 +453,7 @@ if ($is_cliente or $is_fornitore or $is_tecnico) {
    - {[ "type": "select", "label": "'.tr('Relazione').'", "name": "idrelazione", "ajax-source": "relazioni", "value": "$idrelazione$", "icon-after": "add|'.Modules::get('Relazioni')['id'].'" ]} + {[ "type": "select", "label": "'.tr('Relazione').'", "name": "idrelazione", "ajax-source": "relazioni", "value": "$idrelazione$", "icon-after": "add|'.(new Module())->getByName('Relazioni')->id_record.'" ]}
    @@ -468,18 +469,18 @@ if ($is_cliente or $is_fornitore or $is_tecnico) { $banca_predefinita = $banche->first(function ($item) { return !empty($item['predefined']); }); - $modulo_banche = Modules::get('Banche'); + $modulo_banche = (new Module())->getByName('Banche')->id_record; if (!$banche->isEmpty()) { echo '
    @@ -497,7 +498,7 @@ if ($is_cliente or $is_fornitore or $is_tecnico) {
    - {[ "type": "select", "label": "'.tr('Provenienza cliente').'", "name": "id_provenienza", "ajax-source": "provenienze", "value": "$id_provenienza$", "icon-after": "add|'.Modules::get('Provenienze')['id'].'" ]} + {[ "type": "select", "label": "'.tr('Provenienza cliente').'", "name": "id_provenienza", "ajax-source": "provenienze", "value": "$id_provenienza$", "icon-after": "add|'.(new Module())->getByName('Provenienze')->id_record.'" ]}
    @@ -687,7 +688,7 @@ if ($is_cliente or $is_fornitore or $is_tecnico) {
    - {[ "type": "select", "label": "", "name": "id_settore", "ajax-source": "settori", "value": "$id_settore$", "icon-after": "add|" ]} + {[ "type": "select", "label": "", "name": "id_settore", "ajax-source": "settori", "value": "$id_settore$", "icon-after": "add|getByName('Settori')->id_record; ?>" ]}
    diff --git a/modules/anagrafiche/liquida_provvigioni.php b/modules/anagrafiche/liquida_provvigioni.php index 7e84753bf..e2168d9b9 100644 --- a/modules/anagrafiche/liquida_provvigioni.php +++ b/modules/anagrafiche/liquida_provvigioni.php @@ -26,7 +26,7 @@ $id_record = filter('id_record'); $dir = filter('dir'); $nome_stampa = filter('nome_stampa'); $id_print = $dbo->fetchOne('SELECT id FROM zz_prints WHERE name='.prepare($nome_stampa))['id']; -$id_module = Module::pool('Stampe contabili')->id; +$id_module = (new Module())->getByName('Stampe contabili')->id_record; $year = (new Carbon($_SESSION['period_end']))->format('Y'); diff --git a/modules/anagrafiche/plugins/allegati.php b/modules/anagrafiche/plugins/allegati.php index 4e5247fbc..481b971c9 100755 --- a/modules/anagrafiche/plugins/allegati.php +++ b/modules/anagrafiche/plugins/allegati.php @@ -19,6 +19,7 @@ use Models\Upload; use Modules\Anagrafiche\Anagrafica; +use Models\Module; include_once __DIR__.'/../../../core.php'; @@ -59,53 +60,53 @@ if (empty($_GET['visualizza_allegati'])) { } // Interventi dell'anagrafica - if ($user->is_admin || in_array(Modules::get('Interventi')['id'], $permessi)) { - $interventi = $dbo->fetcharray('SELECT '.prepare(Modules::get('Interventi')['id'])." AS id_module, id AS id_record, CONCAT('Intervento num. ',codice,' del ',DATE_FORMAT(data_richiesta,'%d/%m/%Y')) AS descrizione FROM in_interventi WHERE idanagrafica=".prepare($id_record)); + if ($user->is_admin || in_array((new Module())->getByName('Interventi')->id_record, $permessi)) { + $interventi = $dbo->fetcharray('SELECT '.prepare((new Module())->getByName('Interventi')->id_record)." AS id_module, `id` AS id_record, CONCAT('Intervento num. ',codice,' del ',DATE_FORMAT(`data_richiesta`,'%d/%m/%Y')) AS descrizione FROM `in_interventi` WHERE `idanagrafica`=".prepare($id_record)); $documenti = array_merge($documenti, $interventi); } // Preventivi dell'anagrafica - if ($user->is_admin || in_array(Modules::get('Preventivi')['id'], $permessi)) { - $preventivi = $dbo->fetcharray('SELECT '.prepare(Modules::get('Preventivi')['id'])." AS id_module, id AS id_record, CONCAT('Preventivo num. ',numero,' del ',DATE_FORMAT(data_bozza,'%d/%m/%Y')) AS descrizione FROM co_preventivi WHERE idanagrafica=".prepare($id_record)); + if ($user->is_admin || in_array((new Module())->getByName('Preventivi')->id_record, $permessi)) { + $preventivi = $dbo->fetcharray('SELECT '.prepare((new Module())->getByName('Preventivi')->id_record)." AS id_module, id AS id_record, CONCAT('Preventivo num. ',numero,' del ',DATE_FORMAT(data_bozza,'%d/%m/%Y')) AS descrizione FROM co_preventivi WHERE idanagrafica=".prepare($id_record)); $documenti = array_merge($documenti, $preventivi); } // Contratti dell'anagrafica - if ($user->is_admin || in_array(Modules::get('Contratti')['id'], $permessi)) { - $contratti = $dbo->fetcharray('SELECT '.prepare(Modules::get('Contratti')['id'])." AS id_module, id AS id_record, CONCAT('Preventivo num. ',numero,' del ',DATE_FORMAT(data_bozza,'%d/%m/%Y')) AS descrizione FROM co_contratti WHERE idanagrafica=".prepare($id_record)); + if ($user->is_admin || in_array((new Module())->getByName('Contratti')->id_record, $permessi)) { + $contratti = $dbo->fetcharray('SELECT '.prepare((new Module())->getByName('Contratti')->id_record)." AS id_module, id AS id_record, CONCAT('Preventivo num. ',numero,' del ',DATE_FORMAT(data_bozza,'%d/%m/%Y')) AS descrizione FROM co_contratti WHERE idanagrafica=".prepare($id_record)); $documenti = array_merge($documenti, $contratti); } // DDT dell'anagrafica - if ($user->is_admin || in_array(Modules::get('Ddt di vendita')['id'], $permessi)) { - $ddt_vendita = $dbo->fetcharray('SELECT '.prepare(Modules::get('Ddt di vendita')['id'])." AS id_module, id AS id_record, CONCAT('Ddt di vendita num. ',IFNULL(numero_esterno,numero),' del ',DATE_FORMAT(data,'%d/%m/%Y')) AS descrizione FROM dt_ddt WHERE idanagrafica=".prepare($id_record)); + if ($user->is_admin || in_array((new Module())->getByName('Ddt di vendita')->id_record, $permessi)) { + $ddt_vendita = $dbo->fetcharray('SELECT '.prepare((new Module())->getByName('Ddt di vendita')->id_record)." AS id_module, id AS id_record, CONCAT('Ddt di vendita num. ',IFNULL(numero_esterno,numero),' del ',DATE_FORMAT(data,'%d/%m/%Y')) AS descrizione FROM dt_ddt WHERE idanagrafica=".prepare($id_record)); $documenti = array_merge($documenti, $ddt_vendita); } - if ($user->is_admin || in_array(Modules::get('Ddt di acquisto')['id'], $permessi)) { - $ddt_acquisto = $dbo->fetcharray('SELECT '.prepare(Modules::get('Ddt di acquisto')['id'])." AS id_module, id AS id_record, CONCAT('Ddt di acquisto num. ',IFNULL(numero_esterno,numero),' del ',DATE_FORMAT(data,'%d/%m/%Y')) AS descrizione FROM dt_ddt WHERE idanagrafica=".prepare($id_record)); + if ($user->is_admin || in_array((new Module())->getByName('Ddt di acquisto')->id_record, $permessi)) { + $ddt_acquisto = $dbo->fetcharray('SELECT '.prepare((new Module())->getByName('Ddt di acquisto')->id_record)." AS id_module, id AS id_record, CONCAT('Ddt di acquisto num. ',IFNULL(numero_esterno,numero),' del ',DATE_FORMAT(data,'%d/%m/%Y')) AS descrizione FROM dt_ddt WHERE idanagrafica=".prepare($id_record)); $documenti = array_merge($documenti, $ddt_acquisto); } // Fatture dell'anagrafica - if ($user->is_admin || in_array(Modules::get('Fatture di vendita')['id'], $permessi)) { - $fatture_vendita = $dbo->fetcharray('SELECT '.prepare(Modules::get('Fatture di vendita')['id'])." AS id_module, id AS id_record, CONCAT('Fattura di vendita num. ',IFNULL(numero_esterno,numero),' del ',DATE_FORMAT(data_registrazione,'%d/%m/%Y')) AS descrizione FROM co_documenti WHERE idanagrafica=".prepare($id_record)); + if ($user->is_admin || in_array((new Module())->getByName('Fatture di vendita')->id_record, $permessi)) { + $fatture_vendita = $dbo->fetcharray('SELECT '.prepare((new Module())->getByName('Fatture di vendita')->id_record)." AS id_module, id AS id_record, CONCAT('Fattura di vendita num. ',IFNULL(numero_esterno,numero),' del ',DATE_FORMAT(data_registrazione,'%d/%m/%Y')) AS descrizione FROM co_documenti WHERE idanagrafica=".prepare($id_record)); $documenti = array_merge($documenti, $fatture_vendita); } - if ($user->is_admin || in_array(Modules::get('Fatture di acquisto')['id'], $permessi)) { - $fatture_acquisto = $dbo->fetcharray('SELECT '.prepare(Modules::get('Fatture di acquisto')['id'])." AS id_module, id AS id_record, CONCAT('Fattura di acquisto num. ',IFNULL(numero_esterno,numero),' del ',DATE_FORMAT(data_registrazione,'%d/%m/%Y')) AS descrizione FROM co_documenti WHERE idanagrafica=".prepare($id_record)); + if ($user->is_admin || in_array((new Module())->getByName('Fatture di acquisto')->id_record, $permessi)) { + $fatture_acquisto = $dbo->fetcharray('SELECT '.prepare((new Module())->getByName('Fatture di acquisto')->id_record)." AS id_module, id AS id_record, CONCAT('Fattura di acquisto num. ',IFNULL(numero_esterno,numero),' del ',DATE_FORMAT(data_registrazione,'%d/%m/%Y')) AS descrizione FROM co_documenti WHERE idanagrafica=".prepare($id_record)); $documenti = array_merge($documenti, $fatture_acquisto); } // Ordini dell'anagrafica - if ($user->is_admin || in_array(Modules::get('Ordini cliente')['id'], $permessi)) { - $ordini_vendita = $dbo->fetcharray('SELECT '.prepare(Modules::get('Ordini cliente')['id'])." AS id_module, id AS id_record, CONCAT('Ordine cliente num. ',IFNULL(numero_esterno,numero),' del ',DATE_FORMAT(data,'%d/%m/%Y')) AS descrizione FROM or_ordini WHERE idanagrafica=".prepare($id_record)); + if ($user->is_admin || in_array((new Module())->getByName('Ordini cliente')->id_record, $permessi)) { + $ordini_vendita = $dbo->fetcharray('SELECT '.prepare((new Module())->getByName('Ordini cliente')->id_record)." AS id_module, id AS id_record, CONCAT('Ordine cliente num. ',IFNULL(numero_esterno,numero),' del ',DATE_FORMAT(data,'%d/%m/%Y')) AS descrizione FROM or_ordini WHERE idanagrafica=".prepare($id_record)); $documenti = array_merge($documenti, $ordini_vendita); } - if ($user->is_admin || in_array(Modules::get('Ordini fornitore')['id'], $permessi)) { - $ordini_acquisto = $dbo->fetcharray('SELECT '.prepare(Modules::get('Ordini fornitore')['id'])." AS id_module, id AS id_record, CONCAT('Ordine fornitore num. ',IFNULL(numero_esterno,numero),' del ',DATE_FORMAT(data,'%d/%m/%Y')) AS descrizione FROM or_ordini WHERE idanagrafica=".prepare($id_record)); + if ($user->is_admin || in_array((new Module())->getByName('Ordini fornitore')->id_record, $permessi)) { + $ordini_acquisto = $dbo->fetcharray('SELECT '.prepare((new Module())->getByName('Ordini fornitore')->id_record)." AS id_module, id AS id_record, CONCAT('Ordine fornitore num. ',IFNULL(numero_esterno,numero),' del ',DATE_FORMAT(data,'%d/%m/%Y')) AS descrizione FROM or_ordini WHERE idanagrafica=".prepare($id_record)); $documenti = array_merge($documenti, $ordini_acquisto); } @@ -152,7 +153,7 @@ if (empty($_GET['visualizza_allegati'])) { '.$file->name.' - '.Modules::link(Modules::get($allegato['id_module'])['name'], $file->id_record, $documento['descrizione']).' + '.Modules::link(Module::find($allegato['id_module']->name), $file->id_record, $documento['descrizione']).' '.Translator::dateToLocale($file->created_at).' '; } diff --git a/modules/articoli/add.php b/modules/articoli/add.php index f4461fb5d..64a380535 100755 --- a/modules/articoli/add.php +++ b/modules/articoli/add.php @@ -20,6 +20,7 @@ include_once __DIR__.'/../../core.php'; use Modules\Iva\Aliquota; +use Models\Module; $prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA'); $iva_predefinita = setting('Iva predefinita'); @@ -45,11 +46,11 @@ $aliquota_predefinita = floatval(Aliquota::find($iva_predefinita)->percentuale);
    - {[ "type": "select", "label": "", "name": "categoria", "required": 0, "ajax-source": "categorie", "icon-after": "add|" ]} + {[ "type": "select", "label": "", "name": "categoria", "required": 0, "ajax-source": "categorie", "icon-after": "add|GetByName('Categorie articoli')->id_record; ?>" ]}
    - {[ "type": "select", "label": "", "name": "subcategoria", "id": "subcategoria_add", "ajax-source": "sottocategorie", "icon-after": "add|||hide" ]} + {[ "type": "select", "label": "", "name": "subcategoria", "id": "subcategoria_add", "ajax-source": "sottocategorie", "icon-after": "add|GetByName('Categorie articoli')->id_record; ?>||hide" ]}
    @@ -103,7 +104,7 @@ $aliquota_predefinita = floatval(Aliquota::find($iva_predefinita)->percentuale);
    - {[ "type": "select", "label": "", "name": "um", "value": "", "ajax-source": "misure", "icon-after": "add|" ]} + {[ "type": "select", "label": "", "name": "um", "value": "", "ajax-source": "misure", "icon-after": "add|GetByName('Unità di misura articoli')->id_record; ?>" ]}
    {[ "type": "select", "label": "", "name": "um_secondaria", "value": "", "ajax-source": "misure", "help": "" ]} diff --git a/modules/articoli/ajax/complete.php b/modules/articoli/ajax/complete.php index c6069f128..854ac40a6 100755 --- a/modules/articoli/ajax/complete.php +++ b/modules/articoli/ajax/complete.php @@ -18,6 +18,7 @@ */ include_once __DIR__.'/../../../core.php'; +use Models\Module; $idarticolo = get('idarticolo'); $limit = get('limit'); @@ -75,7 +76,7 @@ switch ($resource) { for ($i = 0; $i < sizeof($documenti); ++$i) { ($documenti[$i]['n2_documento'] != '') ? $n_documento = $documenti[$i]['n2_documento'] : $n_documento = $documenti[$i]['n_documento']; - $link_id = Modules::get($documenti[$i]['modulo'])['id']; + $link_id = (new Module())->GetByName($documenti[$i]['modulo'])->id_record; echo "".$documenti[$i]['tipo'].'. n. '.$n_documento.' del '.Translator::dateToLocale($documenti[$i]['data_documento'])." \n"; echo "".moneyFormat($documenti[$i]['costo_unitario'])."\n"; $ids[] = '"'.$documenti[$i]['id'].'"'; @@ -136,7 +137,7 @@ switch ($resource) { for ($i = 0; $i < sizeof($documenti); ++$i) { ($documenti[$i]['n2_documento'] != '') ? $n_documento = $documenti[$i]['n2_documento'] : $n_documento = $documenti[$i]['n_documento']; - $link_id = Modules::get($documenti[$i]['modulo'])['id']; + $link_id = (new Module())->GetByName($documenti[$i]['modulo'])->id_record; echo "".$documenti[$i]['tipo'].' n. '.$n_documento.' del '.Translator::dateToLocale($documenti[$i]['data_documento'])." \n"; echo "".moneyFormat($documenti[$i]['costo_unitario'])."\n"; $ids[] = '"'.$documenti[$i]['id'].'"'; @@ -196,7 +197,7 @@ switch ($resource) { for ($i = 0; $i < sizeof($documenti); ++$i) { ($documenti[$i]['n2_documento'] != '') ? $n_documento = $documenti[$i]['n2_documento'] : $n_documento = $documenti[$i]['n_documento']; - $link_id = Modules::get($documenti[$i]['modulo'])['id']; + $link_id = (new Module())->GetByName($documenti[$i]['modulo'])->id_record; echo "".$documenti[$i]['tipo'].' n. '.$n_documento.' del '.Translator::dateToLocale($documenti[$i]['data_documento'])." \n"; echo "".moneyFormat($documenti[$i]['costo_unitario'])."\n"; $ids[] = '"'.$documenti[$i]['id'].'"'; diff --git a/modules/articoli/ajax/search.php b/modules/articoli/ajax/search.php index 33922d94f..128e3a216 100755 --- a/modules/articoli/ajax/search.php +++ b/modules/articoli/ajax/search.php @@ -18,9 +18,9 @@ */ include_once __DIR__.'/../../../core.php'; +use Models\Module; -$link_id = Modules::get('Articoli')['id']; - +$link_id = (new Module())->GetByName('Articoli')->id_record; $prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA'); $show_prezzi = Auth::user()['gruppo'] != 'Tecnici' || (Auth::user()['gruppo'] == 'Tecnici' && setting('Mostra i prezzi al tecnico')); diff --git a/modules/articoli/bulk.php b/modules/articoli/bulk.php index 5f4b48b20..6fd62143a 100755 --- a/modules/articoli/bulk.php +++ b/modules/articoli/bulk.php @@ -26,13 +26,12 @@ use Modules\Preventivi\Components\Articolo as ArticoloPreventivo; use Modules\Preventivi\Preventivo; use Modules\TipiIntervento\Tipo as TipoSessione; use Plugins\ListinoClienti\DettaglioPrezzo; +use Models\Module; include_once __DIR__.'/../../core.php'; -$module_preventivi = 'Preventivi'; - // Segmenti -$id_preventivi = Modules::get($module_preventivi)['id']; +$id_preventivi =(new Module())->GetByName('Preventivi')->id_record; $id_segment = $_SESSION['module_'.$id_preventivi]['id_segment']; switch (post('op')) { @@ -218,7 +217,7 @@ switch (post('op')) { } $database->commitTransaction(); - redirect(base_path().'/editor.php?id_module='.Modules::get('Preventivi')['id'].'&id_record='.$id_preventivo); + redirect(base_path().'/editor.php?id_module='.$id_preventivi.'&id_record='.$id_preventivo); exit; case 'export-csv': diff --git a/modules/articoli/edit.php b/modules/articoli/edit.php index 8a8b396bc..43528b58f 100755 --- a/modules/articoli/edit.php +++ b/modules/articoli/edit.php @@ -20,6 +20,7 @@ include_once __DIR__.'/../../core.php'; use Modules\Iva\Aliquota; +use Models\Module; ?> @@ -52,11 +53,11 @@ use Modules\Iva\Aliquota;
    - {[ "type": "select", "label": "", "name": "categoria", "required": 0, "value": "$id_categoria$", "ajax-source": "categorie", "icon-after": "add|" ]} + {[ "type": "select", "label": "", "name": "categoria", "required": 0, "value": "$id_categoria$", "ajax-source": "categorie", "icon-after": "add|GetByName('Categorie articoli')->id_record; ?>" ]}
    - {[ "type": "select", "label": "", "name": "subcategoria", "value": "$id_sottocategoria$", "ajax-source": "sottocategorie", "select-options": $record['id_categoria']]); ?>, "icon-after": "add||id_original=" ]} + {[ "type": "select", "label": "", "name": "subcategoria", "value": "$id_sottocategoria$", "ajax-source": "sottocategorie", "select-options": $record['id_categoria']]); ?>, "icon-after": "add|GetByName('Categorie articoli')->id_record; ?>|id_original=" ]}
    @@ -85,7 +86,7 @@ use Modules\Iva\Aliquota;
    - {[ "type": "select", "label": "", "name": "um", "value": "$um$", "ajax-source": "misure", "icon-after": "add|" ]} + {[ "type": "select", "label": "", "name": "um", "value": "$um$", "ajax-source": "misure", "icon-after": "add|GetByName('Unità di misura')->id_record; ?>" ]}
    diff --git a/modules/articoli/plugins/articoli.giacenze.php b/modules/articoli/plugins/articoli.giacenze.php index f3d9e4874..85cbfab45 100755 --- a/modules/articoli/plugins/articoli.giacenze.php +++ b/modules/articoli/plugins/articoli.giacenze.php @@ -18,6 +18,7 @@ */ include_once __DIR__.'/../../../core.php'; +use Models\Module; $impegnato = 0; $ordinato = 0; @@ -90,7 +91,7 @@ if (!empty($ordini)) { '; - $modulo = Modules::get('Ordini cliente'); + $id_modulo = (new Module())->GetByName('Ordini cliente')->id_record; foreach ($ordini as $documento) { $numero = !empty($documento['numero_esterno']) ? $documento['numero_esterno'] : $documento['numero']; $qta = $documento['qta_impegnata']; @@ -99,7 +100,7 @@ if (!empty($ordini)) { - '.Modules::link($modulo['id'], $documento['id'], tr('Ordine num. _NUM_ del _DATE_', [ + '.Modules::link($id_modulo, $documento['id'], tr('Ordine num. _NUM_ del _DATE_', [ '_NUM_' => $numero, '_DATE_' => dateFormat($documento['data']), ])).' @@ -158,7 +159,7 @@ if (!empty($ordini)) { '; - $modulo = Modules::get('Ordini fornitore'); + $id_modulo = (new Module())->GetByName('Ordini fornitore')->id_record; foreach ($ordini as $documento) { $numero = !empty($documento['numero_esterno']) ? $documento['numero_esterno'] : $documento['numero']; $qta = $documento['qta_ordinata']; @@ -167,7 +168,7 @@ if (!empty($ordini)) { - '.Modules::link($modulo['id'], $documento['id'], tr('Ordine num. _NUM_ del _DATE_', [ + '.Modules::link($id_modulo, $documento['id'], tr('Ordine num. _NUM_ del _DATE_', [ '_NUM_' => $numero, '_DATE_' => dateFormat($documento['data']), ])).' diff --git a/modules/articoli/plugins/articoli.lotti.php b/modules/articoli/plugins/articoli.lotti.php index 9e4a83c05..4c3158803 100755 --- a/modules/articoli/plugins/articoli.lotti.php +++ b/modules/articoli/plugins/articoli.lotti.php @@ -18,6 +18,7 @@ */ include_once __DIR__.'/../../../core.php'; +use Models\Module; $record['abilita_serial'] = ($record['serial'] > 0) ? 1 : $record['abilita_serial']; if (empty($record['abilita_serial'])) { @@ -151,7 +152,7 @@ if (empty(get('modal'))) { foreach ($acquisti as $acquisto) { // Acquistato su fatture if (!empty($acquisto['id_riga_documento'])) { - $module_id = Modules::get('Fatture di acquisto')['id']; + $module_id = (new Module())->GetByName('Fatture di acquisto')->id_record; // Ricerca vendite su fatture $query = 'SELECT *, `co_tipidocumento_lang`.`name` AS tipo_documento, `co_tipidocumento`.`dir`, `co_documenti`.`numero`, `co_documenti`.`numero_esterno`, `co_documenti`.`data` FROM `co_righe_documenti` INNER JOIN `co_documenti` ON `co_righe_documenti`.`iddocumento` = `co_documenti`.`id` INNER JOIN `co_tipidocumento` ON `co_documenti`.`idtipodocumento` = `co_tipidocumento`.`id` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento`.`id` = `co_tipidocumento_lang`.`id_record` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(setting('Lingua')).') WHERE `co_righe_documenti`.`id`='.prepare($acquisto['id_riga_documento']); @@ -162,7 +163,7 @@ if (empty(get('modal'))) { // Acquistato su ddt elseif (!empty($acquisto['id_riga_ddt'])) { - $module_id = Modules::get('Ddt di acquisto')['id']; + $module_id = (new Module())->GetByName('Ddt di acquisto')->id_record; $query = 'SELECT *, @@ -185,7 +186,7 @@ if (empty(get('modal'))) { // Inserito su ordini elseif (!empty($acquisto['id_riga_ordine'])) { - $module_id = Modules::get('Ordini cliente')['id']; + $module_id = (new Module())->GetByName('Ordini cliente')->id_record; // Ricerca inserimenti su ordini $query = 'SELECT @@ -261,7 +262,7 @@ if (empty(get('modal'))) { foreach ($vendite as $vendita) { // Venduto su fatture if (!empty($vendita['id_riga_documento'])) { - $module_id = Modules::get('Fatture di vendita')['id']; + $module_id = (new Module())->GetByName('Fatture di vendita')->id_record; // Ricerca vendite su fatture $query = 'SELECT *, `co_tipidocumento_lang`.`name` AS tipo_documento, `co_tipidocumento`.`dir`, `co_documenti`.`numero`, `co_documenti`.`numero_esterno`,`co_documenti`.`data` FROM `co_righe_documenti` INNER JOIN `co_documenti` ON `co_righe_documenti`.`iddocumento`=`co_documenti`.`id` INNER JOIN `co_tipidocumento` ON `co_documenti`.`idtipodocumento`=`co_tipidocumento`.`id` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento`.`id`=`co_tipidocumento_lang`.`id_record` AND `co_tipidocumento_lang`.`id_lang`='.prepare(setting('Lingua')).') WHERE `co_righe_documenti`.`id`='.prepare($vendita['id_riga_documento']); @@ -272,7 +273,7 @@ if (empty(get('modal'))) { // Venduto su ddt elseif (!empty($vendita['id_riga_ddt'])) { - $module_id = Modules::get('Ddt di vendita')['id']; + $module_id = (new Module())->GetByName('Ddt di vendita')->id_record; $query = 'SELECT *, @@ -295,7 +296,7 @@ if (empty(get('modal'))) { // Inserito su ordini elseif (!empty($vendita['id_riga_ordine'])) { - $module_id = Modules::get('Ordini cliente')['id']; + $module_id = (new Module())->GetByName('Ordini cliente')->id_record; // Ricerca inserimenti su ordini $query = 'SELECT @@ -319,7 +320,7 @@ if (empty(get('modal'))) { // Inserito su intervento elseif (!empty($vendita['id_riga_intervento'])) { - $module_id = Modules::get('Interventi')['id']; + $module_id = (new Module())->GetByName('Interventi')->id_record; // Ricerca inserimenti su interventi $query = 'SELECT in_righe_interventi.*, in_interventi.codice, ( SELECT orario_inizio FROM in_interventi_tecnici WHERE idintervento=in_righe_interventi.idintervento LIMIT 0,1 ) AS data FROM in_righe_interventi JOIN in_interventi ON in_interventi.id = in_righe_interventi.idintervento WHERE in_righe_interventi.id='.prepare($vendita['id_riga_intervento']); @@ -332,7 +333,7 @@ if (empty(get('modal'))) { // Inserito su contratto elseif (!empty($vendita['id_riga_contratto'])) { - $module_id = Modules::get('Contratti')['id']; + $module_id = (new Module())->GetByName('Contratti')->id_record; // Ricerca vendite su contratti $query = 'SELECT *, "Contratto" AS tipo_documento, ( SELECT data_bozza FROM co_contratti WHERE id=idcontratto ) AS data, ( SELECT numero FROM co_contratti WHERE id=idcontratto ) AS numero FROM co_righe_contratti WHERE co_righe_contratti.id='.prepare($vendita['id_riga_contratto']); @@ -343,7 +344,7 @@ if (empty(get('modal'))) { // Inserito su vendita banco elseif (!empty($vendita['id_riga_venditabanco'])) { - $module_id = Modules::get('Vendita al banco')['id']; + $module_id = (new Module())->GetByName('Vendita al banco')->id_record; // Ricerca vendite su contratti $query = 'SELECT *, "Vendita al banco" AS tipo_documento, ( SELECT data FROM vb_venditabanco WHERE id=idvendita ) AS data, ( SELECT numero FROM vb_venditabanco WHERE id=idvendita ) AS numero FROM vb_righe_venditabanco WHERE vb_righe_venditabanco.id='.prepare($vendita['id_riga_venditabanco']); diff --git a/modules/articoli/plugins/articoli.movimenti.php b/modules/articoli/plugins/articoli.movimenti.php index 2e8b66f0d..448b1cc05 100755 --- a/modules/articoli/plugins/articoli.movimenti.php +++ b/modules/articoli/plugins/articoli.movimenti.php @@ -20,6 +20,7 @@ include_once __DIR__.'/../../../core.php'; use Modules\Anagrafiche\Anagrafica; +use Models\Module; echo '
    @@ -48,7 +49,7 @@ echo '
    '; echo ' - + '.tr('Movimenta articolo').' '; @@ -68,7 +69,7 @@ if (empty($_GET['movimentazione_completa'])) { } echo ' - + '.tr('Visualizza dettagli').' '; diff --git a/modules/articoli/src/Articolo.php b/modules/articoli/src/Articolo.php index 129fc6dff..c8b0fa56a 100755 --- a/modules/articoli/src/Articolo.php +++ b/modules/articoli/src/Articolo.php @@ -28,6 +28,7 @@ use Modules\Interventi\Components\Articolo as ArticoloIntervento; use Modules\Iva\Aliquota; use Plugins\ListinoFornitori\DettaglioFornitore; use Traits\RecordTrait; +use Models\Module; class Articolo extends Model { @@ -202,7 +203,7 @@ class Articolo extends Model return null; } - $module = \Modules::get($this->module); + $module = Module::find((new Module())->getByName($this->module)->id_record); $fileinfo = \Uploads::fileInfo($this->immagine); $directory = '/'.$module->upload_directory.'/'; diff --git a/modules/articoli/src/Import/CSV.php b/modules/articoli/src/Import/CSV.php index f3ca730c8..5840531c8 100644 --- a/modules/articoli/src/Import/CSV.php +++ b/modules/articoli/src/Import/CSV.php @@ -30,6 +30,7 @@ use Modules\Articoli\Categoria; use Modules\Iva\Aliquota; use Plugins\ListinoClienti\DettaglioPrezzo; use Plugins\ListinoFornitori\DettaglioFornitore; +use Models\Module; /** * Struttura per la gestione delle operazioni di importazione (da CSV) degli Articoli. @@ -366,7 +367,7 @@ class CSV extends CSVImporter if (!empty($file_content)) { if ($record['import_immagine'] == 2 || $record['import_immagine'] == 4) { \Uploads::deleteLinked([ - 'id_module' => \Modules::get('Articoli')['id'], + 'id_module' => (new Module())->getByName('Articoli')->id_record, 'id_record' => $articolo->id, ]); @@ -383,7 +384,7 @@ class CSV extends CSVImporter 'name' => 'Immagine', 'category' => 'Immagini', 'original_name' => $name, - 'id_module' => \Modules::get('Articoli')['id'], + 'id_module' => (new Module())->getByName('Articoli')->id_record, 'id_record' => $articolo->id, ], [ 'thumbnails' => true, diff --git a/modules/articoli/widgets/stampa_cespiti.php b/modules/articoli/widgets/stampa_cespiti.php index edb5f8f51..589017581 100755 --- a/modules/articoli/widgets/stampa_cespiti.php +++ b/modules/articoli/widgets/stampa_cespiti.php @@ -22,7 +22,7 @@ include_once __DIR__.'/../../../core.php'; // Trovo id_print della stampa if(!empty(setting('Magazzino cespiti'))){ - $id_print = $dbo->fetchOne('SELECT zz_prints.id FROM zz_prints INNER JOIN zz_modules ON zz_prints.id_module=zz_modules.id WHERE zz_modules.name="Articoli" AND zz_prints.name="Inventario cespiti"')['id']; + $id_print = $dbo->fetchOne('SELECT `zz_prints`.`id` FROM `zz_prints` INNER JOIN `zz_modules` ON `zz_prints`.`id_module`=`zz_modules`.`id` LEFT JOIN `zz_modules_lang` ON (`zz_modules`.`id` = `zz_modules_lang`.`id_record` AND `zz_modules_lang`.`id_lang` = '.setting('Lingua').') WHERE `zz_modules_lang`.`name`="Articoli" AND `zz_prints`.`name`="Inventario cespiti"')['id']; echo ' diff --git a/modules/articoli/widgets/stampa_inventario.php b/modules/articoli/widgets/stampa_inventario.php index 36604af42..3bf93f89c 100755 --- a/modules/articoli/widgets/stampa_inventario.php +++ b/modules/articoli/widgets/stampa_inventario.php @@ -20,7 +20,7 @@ include_once __DIR__.'/../../../core.php'; // Trovo id_print della stampa -$id_print = $dbo->fetchOne('SELECT `zz_prints`.`id` FROM `zz_prints` INNER JOIN `zz_modules` ON `zz_prints`.`id_module`=`zz_modules`.`id` WHERE `zz_modules`.`name`="Articoli" AND `zz_prints`.`name`="Inventario magazzino"')['id']; +$id_print = $dbo->fetchOne('SELECT `zz_prints`.`id` FROM `zz_prints` INNER JOIN `zz_modules` ON `zz_prints`.`id_module`=`zz_modules`.`id` LEFT JOIN `zz_modules_lang` ON (`zz_modules`.`id` = `zz_modules_lang`.`id_record` AND `zz_modules_lang`.`id_lang` = '.setting('Lingua').') WHERE `zz_modules_lang`.`name`="Articoli" AND `zz_prints`.`name`="Inventario magazzino"')['id']; echo ' diff --git a/modules/automezzi/add_articolo.php b/modules/automezzi/add_articolo.php index a91cfb937..51b557e98 100644 --- a/modules/automezzi/add_articolo.php +++ b/modules/automezzi/add_articolo.php @@ -1,6 +1,7 @@ + '; diff --git a/modules/automezzi/add_tecnico.php b/modules/automezzi/add_tecnico.php index 6158fe6d8..845f4fe8c 100644 --- a/modules/automezzi/add_tecnico.php +++ b/modules/automezzi/add_tecnico.php @@ -1,12 +1,13 @@ + diff --git a/modules/automezzi/ajax/search.php b/modules/automezzi/ajax/search.php index 62c6c3a7f..54bd7531a 100644 --- a/modules/automezzi/ajax/search.php +++ b/modules/automezzi/ajax/search.php @@ -1,8 +1,9 @@ getByName('Automezzi')->id_record; $fields = [ 'Nome' => 'nome', diff --git a/modules/automezzi/edit.php b/modules/automezzi/edit.php index 9e8b423a6..dc538252e 100644 --- a/modules/automezzi/edit.php +++ b/modules/automezzi/edit.php @@ -1,6 +1,8 @@ @@ -50,7 +52,7 @@ unset($_SESSION['superselect']['idautomezzo']);
    - + diff --git a/modules/categorie_impianti/actions.php b/modules/categorie_impianti/actions.php index 890631d4b..754265e00 100755 --- a/modules/categorie_impianti/actions.php +++ b/modules/categorie_impianti/actions.php @@ -20,8 +20,9 @@ include_once __DIR__.'/../../core.php'; use Modules\Checklists\Check; +use Models\Module; -$modulo_impianti = Modules::get('Impianti'); +$modulo_impianti = (new Module())->getByName('Impianti')->id_record; switch (filter('op')) { case 'update': diff --git a/modules/categorie_impianti/edit.php b/modules/categorie_impianti/edit.php index fa203e072..eb6d7e042 100755 --- a/modules/categorie_impianti/edit.php +++ b/modules/categorie_impianti/edit.php @@ -19,6 +19,8 @@ include_once __DIR__.'/../../core.php'; +use Models\Module; + ?> @@ -73,7 +75,7 @@ include_once __DIR__.'/../../core.php'; - + directory.'/row-list.php'; ?>
    diff --git a/modules/checklists/add.php b/modules/checklists/add.php index 9307942e3..2d4eb549a 100755 --- a/modules/checklists/add.php +++ b/modules/checklists/add.php @@ -30,11 +30,11 @@ echo '
    - {[ "type": "select", "label": "'.tr('Modulo del template').'", "name": "module", "values": "query=SELECT id, title AS descrizione FROM zz_modules WHERE enabled = 1", "value": "'.$record['id_module'].'", "disabled": "'.!empty($record['id_plugin']).'" ]} + {[ "type": "select", "label": "'.tr('Modulo del template').'", "name": "module", "values": "query=SELECT `zz_modules`.`id`, `title` AS descrizione FROM `zz_modules` LEFT JOIN `zz_modules_lang` ON (`zz_modules`.`id` = `zz_modules_lang`.`id_record` AND `zz_modules_lang`.`id_lang` = '.prepare(setting('Lingua')).') WHERE `enabled` = 1", "value": "'.$record['id_module'].'", "disabled": "'.!empty($record['id_plugin']).'" ]}
    - {[ "type": "select", "label": "'.tr('Plugin del template').'", "name": "plugin", "values": "query=SELECT `zz_plugins`.`id`, `title` AS descrizione FROM `zz_plugins` LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins`.`id_lang` = '.prepare(setting('Lingua')).') WHERE `enabled` = 1", "value": "'.$record['id_plugin'].'", "disabled": "'.!empty($record['id_module']).'" ]} + {[ "type": "select", "label": "'.tr('Plugin del template').'", "name": "plugin", "values": "query=SELECT `zz_plugins`.`id`, `title` AS descrizione FROM `zz_plugins` LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins_lang`.`id_lang` = '.prepare(setting('Lingua')).') WHERE `enabled` = 1", "value": "'.$record['id_plugin'].'", "disabled": "'.!empty($record['id_module']).'" ]}
    diff --git a/modules/checklists/edit.php b/modules/checklists/edit.php index d50cf69ac..18754a0a4 100755 --- a/modules/checklists/edit.php +++ b/modules/checklists/edit.php @@ -37,11 +37,11 @@ echo '
    - {[ "type": "select", "label": "'.tr('Modulo del template').'", "name": "module", "values": "query=SELECT id, title AS descrizione FROM zz_modules WHERE enabled = 1", "value": "'.$record['id_module'].'", "disabled": "'.!empty($record['id_plugin']).'" ]} + {[ "type": "select", "label": "'.tr('Modulo del template').'", "name": "module", "values": "query=SELECT `zz_modules`.`id`, `title` AS descrizione FROM `zz_modules` LEFT JOIN `zz_modules_lang` ON (`zz_modules`.`id` = `zz_modules_lang`.`id_record` AND `zz_modules_lang`.`id_lang` = '.prepare(setting('Lingua')).') WHERE `enabled` = 1", "value": "'.$record['id_module'].'", "disabled": "'.!empty($record['id_plugin']).'" ]}
    - {[ "type": "select", "label": "'.tr('Plugin del template').'", "name": "plugin", "values": "query=SELECT `zz_plugins`.`id`, `title` AS descrizione, `zz_modules`.`name` AS optgroup FROM zz_plugins INNER JOIN `zz_modules` ON (`zz_plugins`.`id_module_to` = `zz_modules`.`id`) LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins`.`id_lang` = '.prepare(setting('Lingua')).') WHERE `enabled` = 1", "value": "'.$record['id_plugin'].'", "disabled": "'.!empty($record['id_module']).'" ]} + {[ "type": "select", "label": "'.tr('Plugin del template').'", "name": "plugin", "values": "query=SELECT `zz_plugins`.`id`, `zz_plugins_lang`.`title` AS descrizione, `zz_modules_lang`.`name` AS optgroup FROM zz_plugins INNER JOIN `zz_modules` ON `zz_plugins`.`id_module_to` = `zz_modules`.`id` LEFT JOIN `zz_modules_lang` ON (`zz_modules`.`id` = `zz_modules_lang`.`id_record` AND `zz_modules_lang`.`id_lang` = '.prepare(setting('Lingua')).') LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins_lang`.`id_lang` = '.prepare(setting('Lingua')).') WHERE `enabled` = 1", "value": "'.$record['id_plugin'].'", "disabled": "'.!empty($record['id_module']).'" ]}
    diff --git a/modules/checklists/init.php b/modules/checklists/init.php index ed339edde..82cf4c95b 100755 --- a/modules/checklists/init.php +++ b/modules/checklists/init.php @@ -20,8 +20,9 @@ include_once __DIR__.'/../../core.php'; use Modules\Checklists\Checklist; +use Models\Module; -$checklist_module = Modules::get('Checklists'); +$checklist_module = (new Module())->getByName('Checklists')->id_record; if (isset($id_record)) { $record = Checklist::find($id_record); diff --git a/modules/combinazioni_articoli/add.php b/modules/combinazioni_articoli/add.php index f080cd77d..f130a02cf 100644 --- a/modules/combinazioni_articoli/add.php +++ b/modules/combinazioni_articoli/add.php @@ -1,6 +1,7 @@ @@ -21,7 +22,7 @@ echo '
    - {[ "type": "select", "label": "'.tr('Categoria').'", "name": "id_categoria", "required": 0, "value": "$id_categoria$", "ajax-source": "categorie", "icon-after": "add|'.Modules::get('Categorie articoli')['id'].'" ]} + {[ "type": "select", "label": "'.tr('Categoria').'", "name": "id_categoria", "required": 0, "value": "$id_categoria$", "ajax-source": "categorie", "icon-after": "add|'.(new Module())->getByName('Categorie articoli')->id_record.'" ]}
    diff --git a/modules/combinazioni_articoli/edit.php b/modules/combinazioni_articoli/edit.php index 749a5f79b..a1482d015 100644 --- a/modules/combinazioni_articoli/edit.php +++ b/modules/combinazioni_articoli/edit.php @@ -32,7 +32,7 @@ if (!empty($record['id_categoria'])) { '.Modules::link('Categorie articoli', $record['id_categoria'], null, null, 'class="pull-right"'); } echo ' - {[ "type": "select", "label": "'.tr('Categoria').'", "name": "id_categoria", "required": 0, "value": "$id_categoria$", "ajax-source": "categorie", "icon-after": "add|'.Modules::get('Categorie articoli')['id'].'" ]} + {[ "type": "select", "label": "'.tr('Categoria').'", "name": "id_categoria", "required": 0, "value": "$id_categoria$", "ajax-source": "categorie", "icon-after": "add|'.(new Module())->getByName('Categorie articoli')->id_record.'" ]}
    diff --git a/modules/contratti/actions.php b/modules/contratti/actions.php index d3df10ba8..b97335706 100644 --- a/modules/contratti/actions.php +++ b/modules/contratti/actions.php @@ -30,6 +30,7 @@ use Modules\Contratti\Contratto; use Modules\Contratti\Stato; use Modules\Iva\Aliquota; use Plugins\PianificazioneInterventi\Promemoria; +use Models\Plugin; switch (post('op')) { case 'add': @@ -451,7 +452,7 @@ switch (post('op')) { foreach ($allegati as $allegato) { $allegato->copia([ 'id_module' => $id_module, - 'id_plugin' => Plugins::get('Pianificazione interventi')['id'], + 'id_plugin' => (new Plugin())->getByName('Pianificazione interventi')->id_record, 'id_record' => $id_promemoria, ]); } diff --git a/modules/contratti/add.php b/modules/contratti/add.php index 0e587d258..6735bab79 100755 --- a/modules/contratti/add.php +++ b/modules/contratti/add.php @@ -19,6 +19,7 @@ include_once __DIR__.'/../../core.php'; use Modules\Contratti\Stato; +use Models\Module; $id_anagrafica = !empty(get('idanagrafica')) ? get('idanagrafica') : ''; @@ -40,7 +41,7 @@ echo '
    - {[ "type": "select", "label": "'.tr('Cliente').'", "name": "idanagrafica", "required": 1, "value": "'.$id_anagrafica.'", "ajax-source": "clienti", "icon-after": "add|'.Modules::get('Anagrafiche')['id'].'|tipoanagrafica=Cliente&readonly_tipo=1", "readonly": "'.((empty(get('idanagrafica'))) ? 0 : 1).'" ]} + {[ "type": "select", "label": "'.tr('Cliente').'", "name": "idanagrafica", "required": 1, "value": "'.$id_anagrafica.'", "ajax-source": "clienti", "icon-after": "add|'.(new Module())->getByName('Anagrafiche')->id_record.'|tipoanagrafica=Cliente&readonly_tipo=1", "readonly": "'.((empty(get('idanagrafica'))) ? 0 : 1).'" ]}
    diff --git a/modules/contratti/bulk.php b/modules/contratti/bulk.php index 15f92e824..6f5395b72 100755 --- a/modules/contratti/bulk.php +++ b/modules/contratti/bulk.php @@ -27,11 +27,11 @@ use Modules\Fatture\Fattura; use Modules\Fatture\Stato; use Modules\Fatture\Tipo; use Plugins\PianificazioneInterventi\Promemoria; - -$module_fatture = 'Fatture di vendita'; +use Models\Module; +use Models\Plugin; // Segmenti -$id_fatture = Modules::get($module_fatture)['id']; +$id_fatture = (new Module())->getByName('Fatture di vendita')->id_record; if (!isset($_SESSION['module_'.$id_fatture]['id_segment'])) { $segments = Modules::getSegments($id_fatture); $_SESSION['module_'.$id_fatture]['id_segment'] = isset($segments[0]['id']) ? $segments[0]['id'] : null; @@ -216,7 +216,7 @@ switch (post('op')) { foreach ($allegati as $allegato) { $allegato->copia([ 'id_module' => $id_module, - 'id_plugin' => Plugins::get('Pianificazione interventi')['id'], + 'id_plugin' => (new Plugin())->getByName('Pianificazione interventi')->id_record, 'id_record' => $id_promemoria, ]); } diff --git a/modules/contratti/edit.php b/modules/contratti/edit.php index 80a6f326a..5a21bbf1b 100755 --- a/modules/contratti/edit.php +++ b/modules/contratti/edit.php @@ -18,6 +18,7 @@ */ include_once __DIR__.'/../../core.php'; +use Models\Module; $block_edit = $record['is_completato']; @@ -112,7 +113,7 @@ echo '
    - {[ "type": "select", "multiple": "1", "label": "", "name": "matricolaimpianto[]", "values": "query=SELECT idanagrafica, id AS id, IF(nome = '', matricola, CONCAT(matricola, ' - ', nome)) AS descrizione FROM my_impianti WHERE idanagrafica='$idanagrafica$' ORDER BY descrizione", "value": "$idimpianti$", "icon-after": "add||||" ]} + {[ "type": "select", "multiple": "1", "label": "", "name": "matricolaimpianto[]", "values": "query=SELECT idanagrafica, id AS id, IF(nome = '', matricola, CONCAT(matricola, ' - ', nome)) AS descrizione FROM my_impianti WHERE idanagrafica='$idanagrafica$' ORDER BY descrizione", "value": "$idimpianti$", "icon-after": "add|getByName('Impianti')->id_record; ?>|||" ]}
    @@ -346,7 +347,7 @@ if (!$block_edit) {
    - {[ "type": "select", "label": "'.tr('Articolo').'", "name": "id_articolo", "value": "", "ajax-source": "articoli", "select-options": {"permetti_movimento_a_zero": 1}, "icon-after": "add|'.Modules::get('Articoli')['id'].'" ]} + {[ "type": "select", "label": "'.tr('Articolo').'", "name": "id_articolo", "value": "", "ajax-source": "articoli", "select-options": {"permetti_movimento_a_zero": 1}, "icon-after": "add|'.(new Module())->getByName('Articoli')->id_record.'" ]}
    diff --git a/modules/custom_fields/add.php b/modules/custom_fields/add.php index bcbf3e933..50ef562c1 100755 --- a/modules/custom_fields/add.php +++ b/modules/custom_fields/add.php @@ -25,11 +25,11 @@ include_once __DIR__.'/../../core.php';
    - {[ "type": "select", "label": "", "name": "module_id", "values": "query=SELECT id, name as text FROM zz_modules WHERE enabled = 1" ]} + {[ "type": "select", "label": "", "name": "module_id", "values": "query=SELECT `zz_modules`.`id`, `name` as text FROM `zz_modules` LEFT JOIN `zz_modules_lang` ON (`zz_modules`.`id` = `zz_modules_lang`.`id_record` AND `zz_modules_lang`.`id_lang` = ) WHERE `enabled` = 1" ]}
    - {[ "type": "select", "label": "", "name": "plugin_id", "values": "query=SELECT `zz_plugins`.`id`, `name` as text FROM `zz_plugins` LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins`.`id_lang` = ) WHERE `enabled` = 1" ]} + {[ "type": "select", "label": "", "name": "plugin_id", "values": "query=SELECT `zz_plugins`.`id`, `name` as text FROM `zz_plugins` LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins_lang`.`id_lang` = ) WHERE `enabled` = 1" ]}
    diff --git a/modules/custom_fields/edit.php b/modules/custom_fields/edit.php index a59cb9673..958a9f74c 100755 --- a/modules/custom_fields/edit.php +++ b/modules/custom_fields/edit.php @@ -27,11 +27,11 @@ include_once __DIR__.'/../../core.php';
    - {[ "type": "select", "label": "", "name": "module_id", "values": "query=SELECT id, name as text FROM zz_modules WHERE enabled = 1", "value": "" ]} + {[ "type": "select", "label": "", "name": "module_id", "values": "query=SELECT `zz_modules`.`id`, `name` as text FROM `zz_modules` LEFT JOIN `zz_modules_lang` ON (`zz_modules`.`id` = `zz_modules_lang`.`id_record` AND `zz_modules_lang`.`id_lang` = ) WHERE `enabled` = 1", "value": "" ]}
    - {[ "type": "select", "label": "", "name": "plugin_id", "values": "query=SELECT `zz_plugins`.`id`, `name` as text FROM `zz_plugins` LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins`.`id_lang` = ) WHERE `enabled` = 1", "value": "" ]} + {[ "type": "select", "label": "", "name": "plugin_id", "values": "query=SELECT `zz_plugins`.`id`, `name` as text FROM `zz_plugins` LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins_lang`.`id_lang` = ) WHERE `enabled` = 1", "value": "" ]}
    diff --git a/modules/custom_fields/init.php b/modules/custom_fields/init.php index fea41e80f..1b992e45a 100755 --- a/modules/custom_fields/init.php +++ b/modules/custom_fields/init.php @@ -20,7 +20,7 @@ include_once __DIR__.'/../../core.php'; if (isset($id_record)) { - $records = $dbo->fetchArray('SELECT * FROM zz_fields WHERE id='.prepare($id_record)); + $records = $dbo->fetchArray('SELECT * FROM `zz_fields` WHERE `id`='.prepare($id_record)); } // TODO: prevedere un utilizzo pratico del campo options diff --git a/modules/dashboard/ajax.php b/modules/dashboard/ajax.php index 974235c09..7904ce94a 100644 --- a/modules/dashboard/ajax.php +++ b/modules/dashboard/ajax.php @@ -18,10 +18,11 @@ */ include_once __DIR__.'/../../core.php'; +use Models\Module; -$modulo_interventi = Modules::get('Interventi'); -$modulo_preventivi = Modules::get('Preventivi'); -$modulo_eventi = Modules::get('Eventi'); +$modulo_interventi = Module::find((new Module())->getByName('Interventi')->id_record); +$modulo_preventivi = Module::find((new Module())->getByName('Preventivi')->id_record); +$modulo_eventi = Module::find((new Module())->getByName('Eventi')->id_record); if (!isset($user['idanagrafica'])) { $user['idanagrafica'] = ''; diff --git a/modules/dashboard/edit.php b/modules/dashboard/edit.php index 828898b5b..3295e6994 100755 --- a/modules/dashboard/edit.php +++ b/modules/dashboard/edit.php @@ -18,6 +18,7 @@ */ use Carbon\Carbon; +use Models\Module; include_once __DIR__.'/../../core.php'; @@ -387,7 +388,7 @@ foreach ($days as $key => $day) { } } -$modulo_interventi = Modules::get('Interventi'); +$modulo_interventi =Module::find((new Module())->getByName('Interventi')->id_record); echo ' '; } // Forzo il passaggio della fattura da Bozza ad Emessa per il corretto calcolo del numero. @@ -339,8 +341,9 @@ echo ' if (!empty($record['idreferente'])) { echo Plugins::link('Referenti', $record['idanagrafica'], null, null, 'class="pull-right"'); } +$id_modulo_anagrafiche = (new Module())->getByName('Anagrafiche')->id_record; echo ' - {[ "type": "select", "label": "'.tr('Referente').'", "name": "idreferente", "value": "$idreferente$", "ajax-source": "referenti", "select-options": {"idanagrafica": '.$record['idanagrafica'].', "idsede_destinazione": '.$record['idsede_destinazione'].'}, "icon-after": "add|'.Modules::get('Anagrafiche')['id'].'|id_plugin='.Plugins::get('Referenti')['id'].'&id_parent='.$record['idanagrafica'].'||'.(intval($block_edit) ? 'disabled' : '').'" ]} + {[ "type": "select", "label": "'.tr('Referente').'", "name": "idreferente", "value": "$idreferente$", "ajax-source": "referenti", "select-options": {"idanagrafica": '.$record['idanagrafica'].', "idsede_destinazione": '.$record['idsede_destinazione'].'}, "icon-after": "add|'.$id_modulo_anagrafiche.'|id_plugin='.(new Plugin())->getByName('Referenti')->id_record.'&id_parent='.$record['idanagrafica'].'||'.(intval($block_edit) ? 'disabled' : '').'" ]}
    '; echo ' @@ -348,8 +351,7 @@ echo '
    '; // Conteggio numero articoli fatture $articolo = $dbo->fetchArray('SELECT `mg_articoli`.`id` FROM ((`mg_articoli` INNER JOIN `co_righe_documenti` ON `mg_articoli`.`id`=`co_righe_documenti`.`idarticolo`) INNER JOIN `co_documenti` ON `co_documenti`.`id`=`co_righe_documenti`.`iddocumento`) WHERE `co_documenti`.`id`='.prepare($id_record)); -$id_modulo_anagrafiche = Modules::get('Anagrafiche')['id']; -$id_plugin_sedi = Plugins::get('Sedi')['id']; +$id_plugin_sedi = (new Plugin())->getByName('Sedi')->id_record; if ($dir == 'entrata') { echo '
    @@ -391,19 +393,19 @@ if ($dir == 'entrata') { getByName('Banche')->id_record; if ($dir == 'entrata') { echo ' - {[ "type": "select", "label": "'.tr('Banca accredito').'", "name": "id_banca_azienda", "ajax-source": "banche", "select-options": '.json_encode(['id_anagrafica' => $anagrafica_azienda->id]).', "value": "$id_banca_azienda$", "icon-after": "add|'.Modules::get('Banche')['id'].'|id_anagrafica='.$anagrafica_azienda->id.'", "extra": "'.(intval($block_edit) ? 'disabled' : '').'" ]} + {[ "type": "select", "label": "'.tr('Banca accredito').'", "name": "id_banca_azienda", "ajax-source": "banche", "select-options": '.json_encode(['id_anagrafica' => $anagrafica_azienda->id]).', "value": "$id_banca_azienda$", "icon-after": "add|'.$id_module_banche.'|id_anagrafica='.$anagrafica_azienda->id.'", "extra": "'.(intval($block_edit) ? 'disabled' : '').'" ]}
    - {[ "type": "select", "label": "'.tr('Banca addebito').'", "name": "id_banca_controparte", "ajax-source": "banche", "select-options": '.json_encode(['id_anagrafica' => $record['idanagrafica']]).', "value": "$id_banca_controparte$", "icon-after": "add|'.Modules::get('Banche')['id'].'|idanagrafica='.$record['idanagrafica'].'", "extra": "'.(intval($block_edit) ? 'disabled' : '').'" ]}'; + {[ "type": "select", "label": "'.tr('Banca addebito').'", "name": "id_banca_controparte", "ajax-source": "banche", "select-options": '.json_encode(['id_anagrafica' => $record['idanagrafica']]).', "value": "$id_banca_controparte$", "icon-after": "add|'.$id_module_banche.'|idanagrafica='.$record['idanagrafica'].'", "extra": "'.(intval($block_edit) ? 'disabled' : '').'" ]}'; } else { echo ' - {[ "type": "select", "label": "'.tr('Banca accredito').'", "name": "id_banca_controparte", "ajax-source": "banche", "select-options": '.json_encode(['id_anagrafica' => $record['idanagrafica']]).', "value": "$id_banca_controparte$", "icon-after": "add|'.Modules::get('Banche')['id'].'|idanagrafica='.$record['idanagrafica'].'", "extra": "'.(intval($block_edit) ? 'disabled' : '').'" ]} + {[ "type": "select", "label": "'.tr('Banca accredito').'", "name": "id_banca_controparte", "ajax-source": "banche", "select-options": '.json_encode(['id_anagrafica' => $record['idanagrafica']]).', "value": "$id_banca_controparte$", "icon-after": "add|'.$id_module_banche.'|idanagrafica='.$record['idanagrafica'].'", "extra": "'.(intval($block_edit) ? 'disabled' : '').'" ]}
    - {[ "type": "select", "label": "'.tr('Banca addebito').'", "name": "id_banca_azienda", "ajax-source": "banche", "select-options": '.json_encode(['id_anagrafica' => $anagrafica_azienda->id]).', "value": "$id_banca_azienda$", "icon-after": "add|'.Modules::get('Banche')['id'].'|id_anagrafica='.$anagrafica_azienda->id.'", "extra": "'.(intval($block_edit) ? 'disabled' : '').'" ]}'; + {[ "type": "select", "label": "'.tr('Banca addebito').'", "name": "id_banca_azienda", "ajax-source": "banche", "select-options": '.json_encode(['id_anagrafica' => $anagrafica_azienda->id]).', "value": "$id_banca_azienda$", "icon-after": "add|'.$id_module_banche.'|id_anagrafica='.$anagrafica_azienda->id.'", "extra": "'.(intval($block_edit) ? 'disabled' : '').'" ]}'; } ?>
    @@ -515,7 +517,7 @@ if ($dir == 'entrata') { } echo ' - {[ "type": "select", "label": "'.tr("Dichiarazione d'intento").'", "name": "id_dichiarazione_intento", "help": "'.tr('Elenco delle dichiarazioni d\'intento definite all\'interno dell\'anagrafica del cliente').'.", "ajax-source": "dichiarazioni_intento", "select-options": {"idanagrafica": '.$record['idanagrafica'].', "data": "'.$record['data'].'"},"value": "$id_dichiarazione_intento$", "icon-after": "add|'.Modules::get('Anagrafiche')['id'].'|id_plugin='.Plugins::get('Dichiarazioni d\'Intento')['id'].'&id_parent='.$record['idanagrafica'].'", "extra": "'.((intval($block_edit)) ? 'disabled' : '').'" ]} + {[ "type": "select", "label": "'.tr("Dichiarazione d'intento").'", "name": "id_dichiarazione_intento", "help": "'.tr('Elenco delle dichiarazioni d\'intento definite all\'interno dell\'anagrafica del cliente').'.", "ajax-source": "dichiarazioni_intento", "select-options": {"idanagrafica": '.$record['idanagrafica'].', "data": "'.$record['data'].'"},"value": "$id_dichiarazione_intento$", "icon-after": "add|'.$id_modulo_anagrafiche.'|id_plugin='.(new Plugin())->getByName('Dichiarazioni d\'intento')->id_record.'&id_parent='.$record['idanagrafica'].'", "extra": "'.((intval($block_edit)) ? 'disabled' : '').'" ]}
    '; } echo ' @@ -564,11 +566,11 @@ if ($record['descrizione_tipo'] == 'Fattura accompagnatoria di vendita') {
    - {[ "type": "select", "label": "'.tr('Aspetto beni').'", "name": "idaspettobeni", "placeholder": "", "ajax-source": "aspetto-beni", "value": "$idaspettobeni$", "icon-after": "add|'.Modules::get('Aspetto beni')['id'].'||'.(($record['stato'] != 'Bozza') ? 'disabled' : '').'" ]} + {[ "type": "select", "label": "'.tr('Aspetto beni').'", "name": "idaspettobeni", "placeholder": "", "ajax-source": "aspetto-beni", "value": "$idaspettobeni$", "icon-after": "add|'.(new Module())->getByName('Aspetto beni')->id_record.'||'.(($record['stato'] != 'Bozza') ? 'disabled' : '').'" ]}
    - {[ "type": "select", "label": "'.tr('Causale trasporto').'", "name": "idcausalet", "placeholder": "", "ajax-source": "causali", "value": "$idcausalet$", "icon-after": "add|'.Modules::get('Causali')['id'].'||'.(($record['stato'] != 'Bozza') ? 'disabled' : '').'" ]} + {[ "type": "select", "label": "'.tr('Causale trasporto').'", "name": "idcausalet", "placeholder": "", "ajax-source": "causali", "value": "$idcausalet$", "icon-after": "add|'.(new Module())->getByName('Causali')->id_record.'||'.(($record['stato'] != 'Bozza') ? 'disabled' : '').'" ]}
    @@ -593,7 +595,7 @@ if ($record['descrizione_tipo'] == 'Fattura accompagnatoria di vendita') { 'id' => $record['idspedizione'], ])['esterno']; ?> - {[ "type": "select", "label": "", "name": "idvettore", "ajax-source": "vettori", "value": "$idvettore$", "disabled": , "required": , "icon-after": "add||tipoanagrafica=Vettore&readonly_tipo=1|btn_idvettore|", "class": "" ]} + {[ "type": "select", "label": "", "name": "idvettore", "ajax-source": "vettori", "value": "$idvettore$", "disabled": , "required": , "icon-after": "add||tipoanagrafica=Vettore&readonly_tipo=1|btn_idvettore|", "class": "" ]}
    '; diff --git a/modules/impianti/src/Import/CSV.php b/modules/impianti/src/Import/CSV.php index 0bdb5a368..1ed6f1985 100644 --- a/modules/impianti/src/Import/CSV.php +++ b/modules/impianti/src/Import/CSV.php @@ -25,6 +25,7 @@ use Modules\Anagrafiche\Anagrafica; use Modules\Anagrafiche\Sede; use Modules\Impianti\Categoria; use Modules\Impianti\Impianto; +use Models\Module; /** * Struttura per la gestione delle operazioni di importazione (da CSV) degli Impianti. @@ -163,7 +164,7 @@ class CSV extends CSVImporter if (!empty($file_content)) { if ($record['import_immagine'] == 2 || $record['import_immagine'] == 4) { \Uploads::deleteLinked([ - 'id_module' => \Modules::get('Impianti')['id'], + 'id_module' => Module::find('Impianti')->id, 'id_record' => $impianto->id, ]); @@ -180,7 +181,7 @@ class CSV extends CSVImporter 'name' => 'Immagine', 'category' => 'Immagini', 'original_name' => $name, - 'id_module' => \Modules::get('Impianti')['id'], + 'id_module' => Module::find('Impianti')->id, 'id_record' => $impianto->id, ], [ 'thumbnails' => true, diff --git a/modules/import/actions.php b/modules/import/actions.php index 17bbfa950..52425dfc3 100755 --- a/modules/import/actions.php +++ b/modules/import/actions.php @@ -18,10 +18,11 @@ */ use Modules\Importazione\Import; +use Models\Module; include_once __DIR__.'/../../core.php'; -$modulo_import = Modules::get($id_module); +$modulo_import = Module::find($id_module); switch (filter('op')) { case 'add': diff --git a/modules/interventi/actions.php b/modules/interventi/actions.php index 5ade279c0..e5d627b2a 100644 --- a/modules/interventi/actions.php +++ b/modules/interventi/actions.php @@ -39,8 +39,9 @@ use Modules\TipiIntervento\Tipo as TipoSessione; use Plugins\ComponentiImpianti\Componente; use Plugins\ListinoClienti\DettaglioPrezzo; use Plugins\PianificazioneInterventi\Promemoria; +use Models\Module; -$modulo_impianti = Modules::get('Impianti'); +$id_modulo_impianti = (new Module())->getByName('Impianti')->id_record; $plugin_impianti = (new Plugin())->getByName('Impianti')->id_record; switch (post('op')) { @@ -235,14 +236,14 @@ switch (post('op')) { 'idimpianto' => $impianto, ]); - $checks_impianti = $dbo->fetchArray('SELECT * FROM zz_checks WHERE id_module = '.prepare($modulo_impianti['id']).' AND id_record = '.prepare($impianto)); + $checks_impianti = $dbo->fetchArray('SELECT * FROM zz_checks WHERE id_module = '.prepare($id_modulo_impianti).' AND id_record = '.prepare($impianto)); foreach ($checks_impianti as $check_impianto) { $id_parent_new = null; if ($check_impianto['id_parent']) { $parent = $dbo->selectOne('zz_checks', '*', ['id' => $check_impianto['id_parent']]); $id_parent_new = $dbo->selectOne('zz_checks', '*', ['content' => $parent['content'], 'id_module' => $id_module, 'id_record' => $id_record])['id']; } - $check = Check::build($user, $structure, $id_record, $check_impianto['content'], $id_parent_new, $check_impianto['is_titolo'], $check_impianto['order'], $modulo_impianti['id'], $impianto); + $check = Check::build($user, $structure, $id_record, $check_impianto['content'], $id_parent_new, $check_impianto['is_titolo'], $check_impianto['order'], $id_modulo_impianti, $impianto); $check->id_module = $id_module; $check->id_plugin = $plugin_impianti; $check->note = $check_impianto['note']; diff --git a/modules/interventi/add.php b/modules/interventi/add.php index 4a36e7730..aaf9427d8 100755 --- a/modules/interventi/add.php +++ b/modules/interventi/add.php @@ -17,8 +17,8 @@ * along with this program. If not, see . */ -use Modules\Interventi\Intervento; - +use Models\Module; +use Models\Plugin; include_once __DIR__.'/../../core.php'; // Lettura dei parametri di interesse @@ -29,8 +29,8 @@ $descrizione = filter('descrizione'); $id_tipo = filter('id_tipo'); $origine_dashboard = get('ref') == 'dashboard' ? true : false; -$module_anagrafiche = Modules::get('Anagrafiche'); -$id_plugin_sedi = Plugins::get('Sedi')['id']; +$id_modulo_anagrafiche = (new Module())->getByName('Anagrafiche')->id_record; +$id_plugin_sedi = (new Plugin())->getByName('Sedi')->id_record; // Calcolo dell'orario di inizio e di fine sulla base delle informazioni fornite $orario_inizio = filter('orario_inizio'); @@ -156,11 +156,11 @@ if (!empty($id_intervento)) { echo '
    - {[ "type": "select", "label": "'.tr('Cliente').'", "name": "idanagrafica", "required": 1, "value": "'.(!$id_cliente ? $id_anagrafica : $id_cliente).'", "ajax-source": "clienti", "icon-after": "add|'.$module_anagrafiche['id'].'|tipoanagrafica=Cliente&readonly_tipo=1", "readonly": "'.((empty($id_anagrafica) && empty($id_cliente)) ? 0 : 1).'" ]} + {[ "type": "select", "label": "'.tr('Cliente').'", "name": "idanagrafica", "required": 1, "value": "'.(!$id_cliente ? $id_anagrafica : $id_cliente).'", "ajax-source": "clienti", "icon-after": "add|'.$id_modulo_anagrafiche.'|tipoanagrafica=Cliente&readonly_tipo=1", "readonly": "'.((empty($id_anagrafica) && empty($id_cliente)) ? 0 : 1).'" ]}
    - {[ "type": "select", "label": "'.tr('Sede destinazione').'", "name": "idsede_destinazione", "value": "'.$id_sede.'", "ajax-source": "sedi", "select-options": '.json_encode(['idanagrafica' => $id_anagrafica]).', "icon-after": "add|'.$module_anagrafiche['id'].'|id_plugin='.$id_plugin_sedi.'&id_parent='.$id_anagrafica.'" ]} + {[ "type": "select", "label": "'.tr('Sede destinazione').'", "name": "idsede_destinazione", "value": "'.$id_sede.'", "ajax-source": "sedi", "select-options": '.json_encode(['idanagrafica' => $id_anagrafica]).', "icon-after": "add|'.$id_modulo_anagrafiche.'|id_plugin='.$id_plugin_sedi.'&id_parent='.$id_anagrafica.'" ]}
    @@ -170,7 +170,7 @@ echo '
    - {[ "type": "select", "label": "'.tr('Impianto').'", "multiple": 1, "name": "idimpianti[]", "value": "'.$impianti_collegati.'", "ajax-source": "impianti-cliente", "select-options": {"idanagrafica": '.($id_anagrafica ?: '""').', "idsede_destinazione": '.($id_sede ?: '""').'}, "icon-after": "add|'.Modules::get('Impianti')['id'].'|id_anagrafica='.$id_anagrafica.'" ]} + {[ "type": "select", "label": "'.tr('Impianto').'", "multiple": 1, "name": "idimpianti[]", "value": "'.$impianti_collegati.'", "ajax-source": "impianti-cliente", "select-options": {"idanagrafica": '.($id_anagrafica ?: '""').', "idsede_destinazione": '.($id_sede ?: '""').'}, "icon-after": "add|'.(new Module())->getByName('Impianti')->id_record.'|id_anagrafica='.$id_anagrafica.'" ]}
    @@ -188,7 +188,7 @@ echo '
    - {[ "type": "select", "label": "'.tr('Contratto').'", "name": "idcontratto", "value": "'.$id_contratto.'", "ajax-source": "contratti", "readonly": "'.(empty($id_contratto) ? 0 : 1).'", "select-options": '.json_encode(['idanagrafica' => $id_anagrafica]).', "icon-after": "add|'.Modules::get('Contratti')['id'].'|pianificabile=1&idanagrafica='.$id_anagrafica.'" ]} + {[ "type": "select", "label": "'.tr('Contratto').'", "name": "idcontratto", "value": "'.$id_contratto.'", "ajax-source": "contratti", "readonly": "'.(empty($id_contratto) ? 0 : 1).'", "select-options": '.json_encode(['idanagrafica' => $id_anagrafica]).', "icon-after": "add|'.(new Module())->getByName('Contratti')->id_record.'|pianificabile=1&idanagrafica='.$id_anagrafica.'" ]}
    @@ -272,7 +272,7 @@ echo '
    - {[ "type": "select", "label": "'.tr('Referente').'", "name": "idreferente", "ajax-source": "referenti", "select-options": '.json_encode(['idanagrafica' => $id_anagrafica, 'idclientefinale' => $id_cliente_finale]).', "icon-after": "add|'.Modules::get('Anagrafiche')['id'].'|id_plugin='.Plugins::get('Referenti')['id'].'&id_parent='.$id_anagrafica.'" ]} + {[ "type": "select", "label": "'.tr('Referente').'", "name": "idreferente", "ajax-source": "referenti", "select-options": '.json_encode(['idanagrafica' => $id_anagrafica, 'idclientefinale' => $id_cliente_finale]).', "icon-after": "add|'.(new Module())->getByName('Anagrafiche')->id_record.'|id_plugin='.(new Plugin())->getByName('Referenti')->id_record.'&id_parent='.$id_anagrafica.'" ]}
    @@ -294,7 +294,7 @@ echo '
    - {[ "type": "select", "label": "'.tr('Tecnici assegnati').'", "multiple": "1", "name": "tecnici_assegnati[]", "ajax-source": "tecnici", "value": "'.$tecnici_assegnati.'", "icon-after": "add|'.$module_anagrafiche['id'].'|tipoanagrafica=Tecnico&readonly_tipo=1", "readonly": '.intval($id_intervento).' ]} + {[ "type": "select", "label": "'.tr('Tecnici assegnati').'", "multiple": "1", "name": "tecnici_assegnati[]", "ajax-source": "tecnici", "value": "'.$tecnici_assegnati.'", "icon-after": "add|'.$id_modulo_anagrafiche.'|tipoanagrafica=Tecnico&readonly_tipo=1", "readonly": '.intval($id_intervento).' ]}
    @@ -343,7 +343,7 @@ echo '
    - {[ "type": "select", "label": "'.tr('Tecnici').'", "multiple": "1", "name": "idtecnico[]", "required": '.($origine_dashboard ? 1 : 0).', "ajax-source": "tecnici", "value": "'.$id_tecnico.'", "icon-after": "add|'.$module_anagrafiche['id'].'|tipoanagrafica=Tecnico&readonly_tipo=1||'.(empty($id_tecnico) ? '' : 'disabled').'" ]} + {[ "type": "select", "label": "'.tr('Tecnici').'", "multiple": "1", "name": "idtecnico[]", "required": '.($origine_dashboard ? 1 : 0).', "ajax-source": "tecnici", "value": "'.$id_tecnico.'", "icon-after": "add|'.$id_modulo_anagrafiche.'|tipoanagrafica=Tecnico&readonly_tipo=1||'.(empty($id_tecnico) ? '' : 'disabled').'" ]}
    diff --git a/modules/interventi/ajax/complete.php b/modules/interventi/ajax/complete.php index caede2934..e2fac97b4 100644 --- a/modules/interventi/ajax/complete.php +++ b/modules/interventi/ajax/complete.php @@ -16,7 +16,7 @@ $numero_documenti = 5; switch ($op) { case 'dettagli': // Informazioni sui contratti - $modulo_contratti = Module::pool('Contratti'); + $modulo_contratti = Module::find((new Module())->getByName('Contratti')->id_record); if ($modulo_contratti->permission != '-') { // Contratti attivi per l'anagrafica $contratti = Contratto::where('idanagrafica', '=', $id_anagrafica) @@ -44,7 +44,7 @@ switch ($op) { } // Informazioni sui preventivi - $modulo_preventivi = Module::pool('Preventivi'); + $modulo_preventivi = Module::find((new Module())->getByName('Preventivi')->id_record); if ($modulo_preventivi->permission != '-') { // Preventivi attivi $preventivi = Preventivo::where('idanagrafica', '=', $id_anagrafica) @@ -70,7 +70,7 @@ switch ($op) { } // Informazioni sui preventivi - $modulo_fatture_vendita = Module::pool('Fatture di vendita'); + $modulo_fatture_vendita =Module::find((new Module())->getByName('Fatture di vendita')->id_record); if ($modulo_fatture_vendita->permission != '-') { // Fatture attive $fatture = Fattura::where('idanagrafica', '=', $id_anagrafica) diff --git a/modules/interventi/ajax/search.php b/modules/interventi/ajax/search.php index 89b22572d..6cde1c620 100755 --- a/modules/interventi/ajax/search.php +++ b/modules/interventi/ajax/search.php @@ -18,8 +18,9 @@ */ include_once __DIR__.'/../../../core.php'; +use Models\Module; -$link_id = Modules::get('Interventi')['id']; +$link_id = (new Module())->getByName('Interventi')->id_record; $fields = [ 'Codice intervento' => 'codice', diff --git a/modules/interventi/ajax_tecnici.php b/modules/interventi/ajax_tecnici.php index ed3ee9aca..2eda5ac80 100755 --- a/modules/interventi/ajax_tecnici.php +++ b/modules/interventi/ajax_tecnici.php @@ -19,6 +19,7 @@ include_once __DIR__.'/../../core.php'; use Models\User; +use Models\Module; $show_costi = true; // Limitazione delle azioni dei tecnici @@ -269,7 +270,7 @@ if (!$is_completato) {
    - {[ "type": "select", "label": "'.tr('Tecnico').'", "name": "nuovo_tecnico", "placeholder": "'.tr('Seleziona un tecnico').'", "ajax-source": "tecnici", "icon-after": "add|'.Modules::get('Anagrafiche')['id'].'|tipoanagrafica=Tecnico&readonly_tipo=1" ]} + {[ "type": "select", "label": "'.tr('Tecnico').'", "name": "nuovo_tecnico", "placeholder": "'.tr('Seleziona un tecnico').'", "ajax-source": "tecnici", "icon-after": "add|'.(new Module())->getByName('Anagrafiche')->id_record.'|tipoanagrafica=Tecnico&readonly_tipo=1" ]}
    diff --git a/modules/interventi/bulk.php b/modules/interventi/bulk.php index 0e8ef4b67..34fe6c78f 100755 --- a/modules/interventi/bulk.php +++ b/modules/interventi/bulk.php @@ -28,9 +28,10 @@ use Modules\Fatture\Tipo; use Modules\Interventi\Intervento; use Modules\Interventi\Stato; use Util\Zip; +use Models\Module; // Segmenti -$id_fatture = Modules::get('Fatture di vendita')['id']; +$id_fatture = (new Module())->getByName('Fatture di vendita')->id_record; if (!isset($_SESSION['module_'.$id_fatture]['id_segment'])) { $segments = Modules::getSegments($id_fatture); $_SESSION['module_'.$id_fatture]['id_segment'] = isset($segments[0]['id']) ? $segments[0]['id'] : null; diff --git a/modules/interventi/crea_documento.php b/modules/interventi/crea_documento.php index 3457c4d17..bc2c15dff 100644 --- a/modules/interventi/crea_documento.php +++ b/modules/interventi/crea_documento.php @@ -23,10 +23,10 @@ use Modules\DDT\DDT; use Modules\Fatture\Fattura; use Modules\Interventi\Intervento; use Modules\Ordini\Ordine; +use Models\Module; $documento = Intervento::find($id_record); - -$module = Modules::get($documento->module); +$id_module = (new Module())->getByName($documento->module)->id_record; if (get('documento') == 'fattura') { $final_module = 'Fatture di vendita'; diff --git a/modules/interventi/edit.php b/modules/interventi/edit.php index 5f9c507e8..7835fc607 100755 --- a/modules/interventi/edit.php +++ b/modules/interventi/edit.php @@ -19,11 +19,13 @@ use Modules\Anagrafiche\Anagrafica; use Modules\Anagrafiche\Sede; +use Models\Module; +use Models\Plugin; include_once __DIR__.'/../../core.php'; $block_edit = $record['flag_completato']; -$module_anagrafiche = Modules::get('Anagrafiche'); +$id_modulo_anagrafiche = (new Module())->getByName('Anagrafiche')->id_record; // Verifica aggiuntive sulla sequenzialità dei numeri $numero_previsto = verifica_numero_intervento($intervento); @@ -96,7 +98,7 @@ echo '
    - {[ "type": "select", "label": "'.tr('Referente').'", "name": "idreferente", "value": "$idreferente$", "ajax-source": "referenti", "select-options": '.json_encode(['idanagrafica' => $record['idanagrafica'], 'idclientefinale' => $record['idclientefinale'], 'idsede_destinazione' => $record['idsede_destinazione']]).', "readonly": "'.intval($record['flag_completato']).'", "icon-after": "add|'.Modules::get('Anagrafiche')['id'].'|id_plugin='.Plugins::get('Referenti')['id'].'&id_parent='.$record['idanagrafica'].'" ]} + {[ "type": "select", "label": "'.tr('Referente').'", "name": "idreferente", "value": "$idreferente$", "ajax-source": "referenti", "select-options": '.json_encode(['idanagrafica' => $record['idanagrafica'], 'idclientefinale' => $record['idclientefinale'], 'idsede_destinazione' => $record['idsede_destinazione']]).', "readonly": "'.intval($record['flag_completato']).'", "icon-after": "add|'.$id_modulo_anagrafiche.'|id_plugin='.(new Plugin())->getByName('Referenti')->id_record.'&id_parent='.$record['idanagrafica'].'" ]}
    @@ -108,7 +110,7 @@ if (!empty($record['idpreventivo'])) { '.Modules::link('Preventivi', $record['idpreventivo'], null, null, 'class="pull-right"'); } echo ' - {[ "type": "select", "label": "'.tr('Preventivo').'", "name": "idpreventivo", "value": "'.$record['id_preventivo'].'", "ajax-source": "preventivi", "select-options": '.json_encode(['idanagrafica' => $record['idanagrafica']]).', "readonly": "'.$record['flag_completato'].'", "icon-after": "add|'.Modules::get('Preventivi')['id'].'|pianificabile=1&idanagrafica='.$record['idanagrafica'].'" ]} + {[ "type": "select", "label": "'.tr('Preventivo').'", "name": "idpreventivo", "value": "'.$record['id_preventivo'].'", "ajax-source": "preventivi", "select-options": '.json_encode(['idanagrafica' => $record['idanagrafica']]).', "readonly": "'.$record['flag_completato'].'", "icon-after": "add|'.(new Module())->getByName('Preventivi')->id_record.'|pianificabile=1&idanagrafica='.$record['idanagrafica'].'" ]}
    '; @@ -121,7 +123,7 @@ if (!empty($record['idcontratto'])) { } echo ' - {[ "type": "select", "label": "'.tr('Contratto').'", "name": "idcontratto", "value": "'.$record['id_contratto'].'", "ajax-source": "contratti", "select-options": '.json_encode(['idanagrafica' => $record['idanagrafica']]).', "readonly": "'.$record['flag_completato'].'", "icon-after": "add|'.Modules::get('Contratti')['id'].'|pianificabile=1&idanagrafica='.$record['idanagrafica'].'" ]} + {[ "type": "select", "label": "'.tr('Contratto').'", "name": "idcontratto", "value": "'.$record['id_contratto'].'", "ajax-source": "contratti", "select-options": '.json_encode(['idanagrafica' => $record['idanagrafica']]).', "readonly": "'.$record['flag_completato'].'", "icon-after": "add|'.(new Module())->getByName('Contratti')->id_record.'|pianificabile=1&idanagrafica='.$record['idanagrafica'].'" ]}
    @@ -350,7 +352,7 @@ $tecnici_assegnati = $database->fetchArray('SELECT id_tecnico FROM in_interventi $tecnici_assegnati = array_column($tecnici_assegnati, 'id_tecnico'); echo '
    - {[ "type": "select", "label": "'.tr('Tecnici assegnati').'", "multiple": "1", "name": "tecnici_assegnati[]", "ajax-source": "tecnici", "value": "'.implode(',', $tecnici_assegnati).'", "icon-after": "add|'.$module_anagrafiche['id'].'|tipoanagrafica=Tecnico&readonly_tipo=1" ]} + {[ "type": "select", "label": "'.tr('Tecnici assegnati').'", "multiple": "1", "name": "tecnici_assegnati[]", "ajax-source": "tecnici", "value": "'.implode(',', $tecnici_assegnati).'", "icon-after": "add|'.$id_modulo_anagrafiche.'|tipoanagrafica=Tecnico&readonly_tipo=1" ]}
    @@ -529,7 +531,7 @@ if (!$block_edit) {
    - {[ "type": "select", "label": "'.tr('Articolo').'", "name": "id_articolo", "value": "", "ajax-source": "articoli", "select-options": '.json_encode(['idsede_partenza' => $record['idsede_partenza']]).', "icon-after": "add|'.Modules::get('Articoli')['id'].'" ]} + {[ "type": "select", "label": "'.tr('Articolo').'", "name": "id_articolo", "value": "", "ajax-source": "articoli", "select-options": '.json_encode(['idsede_partenza' => $record['idsede_partenza']]).', "icon-after": "add|'.(new Module())->getByName('Articoli')->id_record.'" ]}
    diff --git a/modules/interventi/init.php b/modules/interventi/init.php index 434a5707e..9c50e508a 100755 --- a/modules/interventi/init.php +++ b/modules/interventi/init.php @@ -20,6 +20,7 @@ include_once __DIR__.'/../../core.php'; use Modules\Interventi\Intervento; +use Models\Module; if (isset($id_record)) { $intervento = Intervento::find($id_record); @@ -46,7 +47,7 @@ if (isset($id_record)) { //Pulsante Precedente e Successivo all'interno della scheda attività // RISULTATI VISIBILI - $structure = Modules::get($id_module); + $structure = Module::find($id_module); $where = []; diff --git a/modules/interventi/row-list.php b/modules/interventi/row-list.php index 492d8adf8..e4fefb9ce 100755 --- a/modules/interventi/row-list.php +++ b/modules/interventi/row-list.php @@ -18,6 +18,7 @@ */ include_once __DIR__.'/init.php'; +use Models\Module; $block_edit = $record['flag_completato']; $righe = $intervento->getRighe(); @@ -92,7 +93,7 @@ foreach ($righe as $riga) { '; echo ' - '.Modules::link($riga->isArticolo() ? Modules::get('Articoli')['id'] : null, $riga->isArticolo() ? $riga['idarticolo'] : null, $descrizione); + '.Modules::link($riga->isArticolo() ? (new Module())->getByName('Articoli')->id_record : null, $riga->isArticolo() ? $riga['idarticolo'] : null, $descrizione); if ($riga->isArticolo()) { if (!empty($mancanti)) { diff --git a/modules/interventi/widgets/interventi_da_pianificare.php b/modules/interventi/widgets/interventi_da_pianificare.php index de4be0409..52c0b3e02 100755 --- a/modules/interventi/widgets/interventi_da_pianificare.php +++ b/modules/interventi/widgets/interventi_da_pianificare.php @@ -18,6 +18,7 @@ */ use Modules\Interventi\Intervento; +use Models\Module; include_once __DIR__.'/../../../core.php'; @@ -77,8 +78,8 @@ foreach ($raggruppamenti as $mese => $raggruppamento) { echo ' - '.Modules::link(Modules::get('Interventi')['id'], $r['id'], $r['codice']).' - '.Modules::link(Modules::get('Anagrafiche')['id'], $r['idanagrafica'], $dbo->fetchOne('SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica='.prepare($r['idanagrafica']))['ragione_sociale']).'
    Presso: '; +
    '.Modules::link((new Module())->getByName('Interventi')->id_record, $r['id'], $r['codice']).' + '.Modules::link((new Module())->getByName('Anagrafiche')->id_record, $r['idanagrafica'], $dbo->fetchOne('SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica='.prepare($r['idanagrafica']))['ragione_sociale']).'
    Presso: '; // Sede promemoria if ($r['idsede'] == '-1') { echo '- Nessuna -'; diff --git a/modules/interventi/widgets/interventi_da_programmare.php b/modules/interventi/widgets/interventi_da_programmare.php index 54c5ed53a..c9806bb6c 100755 --- a/modules/interventi/widgets/interventi_da_programmare.php +++ b/modules/interventi/widgets/interventi_da_programmare.php @@ -20,6 +20,7 @@ include_once __DIR__.'/../../../core.php'; use Modules\Interventi\Stato; +use Models\Module; $stato = (new Stato())->getByName('TODO')->id_record; $rs = $dbo->fetchArray('SELECT * FROM `in_interventi` WHERE `in_interventi`.`idstatointervento` = '.prepare($stato).' ORDER BY `data_richiesta` ASC'); @@ -41,8 +42,8 @@ if (!empty($rs)) { echo ' -
    '.Modules::link(Modules::get('Interventi')['id'], $r['id'], $r['codice']).' - '.Modules::link(Modules::get('Anagrafiche')['id'], $r['idanagrafica'], $dbo->fetchOne('SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica='.prepare($r['idanagrafica']))['ragione_sociale']).'
    Presso: '; +
    '.Modules::link((new Module())->getByName('Interventi')->id_record, $r['id'], $r['codice']).' + '.Modules::link((new Module())->getByName('Anagrafiche')->id_record, $r['idanagrafica'], $dbo->fetchOne('SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica='.prepare($r['idanagrafica']))['ragione_sociale']).'
    Presso: '; // Sede promemoria if ($r['idsede'] == '-1') { echo '- Nessuna -'; diff --git a/modules/liste_newsletter/edit.php b/modules/liste_newsletter/edit.php index 564e6bd26..e6f6ae831 100755 --- a/modules/liste_newsletter/edit.php +++ b/modules/liste_newsletter/edit.php @@ -142,7 +142,7 @@ if ($lista) { '; if ($permetti_modelli) { - $variables = Modules::get('Anagrafiche')->getPlaceholders($id_anagrafica); + $variables = Module::find((new Module())->getByName('Anagrafiche')->id_record)->getPlaceholders($id_anagrafica); echo ' @@ -343,7 +344,7 @@ if (!empty($articoli)) { echo ' '; - echo "

    ".Modules::link('Articoli', null, tr('Vedi tutto...'), null, null, false, 'tab_'.Plugins::get('Statistiche vendita')['id']).'

    '; + echo "

    ".Modules::link('Articoli', null, tr('Vedi tutto...'), null, null, false, 'tab_'.(new Plugin())->getByName('Statistiche vendita')->id_record).'

    '; } else { echo '

    '.tr('Nessun articolo venduto').'...

    '; diff --git a/modules/stato_servizi/actions.php b/modules/stato_servizi/actions.php index 46c545c41..40d768144 100755 --- a/modules/stato_servizi/actions.php +++ b/modules/stato_servizi/actions.php @@ -124,9 +124,9 @@ switch (filter('op')) { } // Disabilitazione modulo/plugin indicato - $moduli_sempre_attivi = ['Utenti e permessi', 'Stato dei servizi']; + $moduli_sempre_attivi = [(new Module())->getByName('Utenti e permessi')->id_record, (new Module())->getByName('Stato dei servizi')->id_record]; $database->table('zz_modules') - ->whereIn('name', $moduli_sempre_attivi) + ->whereIn('id', $moduli_sempre_attivi) ->update(['enabled' => 1]); // Messaggio informativo @@ -189,7 +189,7 @@ switch (filter('op')) { ])); } } else { - $modulo = Modules::get($id); + $modulo = Module::find($id); flash()->info(tr('Moduli sotto a "_NAME_" abilitati!', [ '_NAME_' => $struttura->title, ])); @@ -273,7 +273,7 @@ switch (filter('op')) { $order = explode(',', post('order', true)); foreach ($order as $i => $id) { - $dbo->query('UPDATE zz_modules SET `order`='.prepare($i).' WHERE id='.prepare($id)); + $dbo->query('UPDATE `zz_modules` SET `order`='.prepare($i).' WHERE `id`='.prepare($id)); } break; diff --git a/modules/stato_servizi/elenco-hooks.php b/modules/stato_servizi/elenco-hooks.php index 18881f5ce..3c48b9a34 100644 --- a/modules/stato_servizi/elenco-hooks.php +++ b/modules/stato_servizi/elenco-hooks.php @@ -29,10 +29,14 @@ echo ' '; -$hooks = $dbo->fetchArray('SELECT zz_hooks.*, zz_modules.name AS modulo -FROM zz_hooks - INNER JOIN zz_modules ON zz_hooks.id_module = zz_modules.id -ORDER BY `id_module` ASC, `zz_hooks`.`id` ASC'); +$hooks = $dbo->fetchArray('SELECT + `zz_hooks`.*, + `zz_modules_lang`.`name` AS modulo + FROM `zz_hooks` + INNER JOIN `zz_modules` ON `zz_hooks`.`id_module` = `zz_modules`.`id` + LEFT JOIN `zz_modules_lang` ON (`zz_modules`.`id` = `zz_modules_lang`.`id_record` AND `zz_modules_lang`.`id_lang` = '.prepare(setting('Lingua')).') + ORDER BY + `id_module` ASC, `zz_hooks`.`id` ASC'); $gruppi = collect($hooks)->groupBy('modulo'); foreach ($gruppi as $modulo => $hooks) { diff --git a/modules/stato_servizi/elenco-moduli.php b/modules/stato_servizi/elenco-moduli.php index 19869b237..55e56ea73 100644 --- a/modules/stato_servizi/elenco-moduli.php +++ b/modules/stato_servizi/elenco-moduli.php @@ -272,6 +272,8 @@ function renderElencoModuli($elenco, $depth = 0) $elenco_plugin = null; if (empty($record['idmodule_to'])) { $plugins = database()->table('zz_plugins') + ->selectRaw('zz_plugins.*, zz_plugins_lang.title as title') + ->join('zz_plugins_lang', 'zz_plugins_lang.id_record', '=', 'zz_plugins.id') ->where('idmodule_to', '=', $record['id']) ->get()->map(function ($i) { return (array) $i; diff --git a/modules/stato_servizi/elenco-sessioni.php b/modules/stato_servizi/elenco-sessioni.php index c0b3e16cd..cd660b753 100644 --- a/modules/stato_servizi/elenco-sessioni.php +++ b/modules/stato_servizi/elenco-sessioni.php @@ -33,11 +33,19 @@ echo ' '; -$sessioni = $dbo->fetchArray('SELECT zz_semaphores.*, SUBSTRING_INDEX(posizione, ",", -1) AS id_record, zz_modules.name AS modulo, TIMESTAMPDIFF(SECOND, zz_semaphores.created_at, zz_semaphores.updated) AS permanenza, zz_users.username AS utente -FROM zz_semaphores - INNER JOIN zz_modules ON SUBSTRING_INDEX(posizione, ",", 1) = zz_modules.id - INNER JOIN zz_users ON zz_semaphores.id_utente = zz_users.id -ORDER BY `utente` ASC, SUBSTRING_INDEX(posizione, ",", -1) ASC'); +$sessioni = $dbo->fetchArray('SELECT + `zz_semaphores`.*, + SUBSTRING_INDEX(`posizione`, ",", -1) AS id_record, + `zz_modules_lang`.`name` AS modulo, + TIMESTAMPDIFF(SECOND, `zz_semaphores`.`created_at`, `zz_semaphores`.`updated`) AS permanenza, + `zz_users`.`username` AS utente + FROM + `zz_semaphores` + INNER JOIN `zz_modules` ON SUBSTRING_INDEX(`posizione`, ",", 1) = `zz_modules`.`id` + LEFT JOIN `zz_modules_lang` ON (`zz_modules`.`id` = `zz_modules_lang`.`id_record` AND `zz_modules_lang`.`id_lang` = '.prepare(setting('Lingua')).') + INNER JOIN `zz_users` ON `zz_semaphores`.`id_utente` = `zz_users`.`id` + ORDER BY + `utente` ASC, SUBSTRING_INDEX(`posizione`, ",", -1) ASC'); $gruppi = collect($sessioni)->groupBy('utente'); $i = 0; diff --git a/modules/stato_servizi/elenco-widget.php b/modules/stato_servizi/elenco-widget.php index ab6422384..3e0594b35 100644 --- a/modules/stato_servizi/elenco-widget.php +++ b/modules/stato_servizi/elenco-widget.php @@ -34,10 +34,11 @@ echo ' $widgets = $dbo->fetchArray('SELECT `zz_widgets`.*, `zz_widgets_lang`.`name` as name, - `zz_modules`.`name` AS modulo + `zz_modules_lang`.`name` AS modulo FROM zz_widgets LEFT JOIN `zz_widgets_lang` ON (`zz_widgets`.`id` = `zz_widgets_lang`.`id_record` AND `zz_widgets_lang`.`id_lang` = "'.setting('Lingua').'") INNER JOIN `zz_modules` ON `zz_widgets`.`id_module` = `zz_modules`.`id` + LEFT JOIN `zz_modules_lang` ON (`zz_modules`.`id` = `zz_modules_lang`.`id_record` AND `zz_modules_lang`.`id_lang` = '.setting('Lingua').') ORDER BY `id_module` ASC, `zz_widgets`.`order` ASC'); diff --git a/modules/stato_servizi/src/ServicesHook.php b/modules/stato_servizi/src/ServicesHook.php index 98c73444b..1608ba73e 100644 --- a/modules/stato_servizi/src/ServicesHook.php +++ b/modules/stato_servizi/src/ServicesHook.php @@ -68,13 +68,13 @@ class ServicesHook extends Manager ]).''; } - $module = Module::pool('Stato dei servizi'); + $id_module = (new Module())->getByName('Stato dei servizi')->id_record; } return [ 'icon' => null, 'message' => $message, - 'link' => base_path().'/controller.php?id_module='.$module->id, + 'link' => base_path().'/controller.php?id_module='.$id_module, 'show' => Services::isEnabled() && !empty($message), ]; } diff --git a/modules/stato_servizi/widgets/spazio_utilizzato.php b/modules/stato_servizi/widgets/spazio_utilizzato.php index 08a6027e8..ba1a0c9b4 100755 --- a/modules/stato_servizi/widgets/spazio_utilizzato.php +++ b/modules/stato_servizi/widgets/spazio_utilizzato.php @@ -18,8 +18,9 @@ */ include_once __DIR__.'/../../../core.php'; +use Models\Module; -$module = Modules::get('Stato dei servizi'); +$id_module = (new Module())->getByName('Stato dei servizi')->id_record; echo ' '; @@ -35,7 +36,7 @@ $(document).ready(function() { url: globals.rootdir + "/actions.php", type: "get", data: { - id_module: '.$module->id.', + id_module: '.$id_module.', op: "sizes", }, success: function(data) { diff --git a/modules/tipi_documento/edit.php b/modules/tipi_documento/edit.php index 8cc861e9d..d358dbf3e 100644 --- a/modules/tipi_documento/edit.php +++ b/modules/tipi_documento/edit.php @@ -19,6 +19,8 @@ include_once __DIR__.'/../../core.php'; +use Models\Module; + ?> @@ -51,8 +53,8 @@ echo ($record['dir'] == 'entrata') ? tr('Vendita') : tr('Acquisto'); ?>." ]} fetchOne('SELECT id FROM zz_modules WHERE title = "Fatture di acquisto"')['id']; -$id_module_vendite = database()->fetchOne('SELECT id FROM zz_modules WHERE title = "Fatture di vendita"')['id']; +$id_module_acquisti = (new Module())->getByName('Fatture di acquisto')->id_record; +$id_module_vendite = (new Module())->getByName('Fatture di vendita')->id_record; echo '
    diff --git a/modules/tipi_intervento/add_righe.php b/modules/tipi_intervento/add_righe.php index 684cbb19e..f608618c6 100755 --- a/modules/tipi_intervento/add_righe.php +++ b/modules/tipi_intervento/add_righe.php @@ -1,4 +1,23 @@ . + */ + +use Models\Module; if (file_exists(__DIR__.'/../../../core.php')) { include_once __DIR__.'/../../../core.php'; @@ -63,7 +82,7 @@ echo ' // Unità di misura echo '
    - {[ "type": "select", "label": "'.tr('Unità di misura').'", "icon-after": "add|'.Modules::get('Unità di misura')['id'].'", "name": "um", "value": "'.$um.'", "ajax-source": "misure" ]} + {[ "type": "select", "label": "'.tr('Unità di misura').'", "icon-after": "add|'.(new Module())->getByName('Unità di misura')->id_record.'", "name": "um", "value": "'.$um.'", "ajax-source": "misure" ]}
    '; // Iva diff --git a/modules/tipi_scadenze/actions.php b/modules/tipi_scadenze/actions.php index 467bf469e..f54e44bf8 100755 --- a/modules/tipi_scadenze/actions.php +++ b/modules/tipi_scadenze/actions.php @@ -18,6 +18,7 @@ */ include_once __DIR__.'/../../core.php'; +use Models\Module; switch (filter('op')) { case 'update': @@ -42,7 +43,7 @@ switch (filter('op')) { ], [ 'clause' => 'co_scadenziario.tipo="'.$nome_prev.'"', 'name' => 'Scadenzario '.$nome_prev, - 'id_module' => Modules::get('Scadenzario')['id'], + 'id_module' => (new Module())->getByName('Scadenzario')->id_record, ]); flash()->info(tr('Salvataggio completato!')); @@ -73,7 +74,7 @@ switch (filter('op')) { // Aggiungo anche il segmento $dbo->insert('zz_segments', [ - 'id_module' => Modules::get('Scadenzario')['id'], + 'id_module' => (new Module())->getByName('Scadenzario')->id_record, 'name' => 'Scadenzario '.$nome, 'clause' => 'co_scadenziario.tipo="'.$nome.'"', 'position' => 'WHR', diff --git a/modules/utenti/actions.php b/modules/utenti/actions.php index e7a332376..9ecc2386a 100755 --- a/modules/utenti/actions.php +++ b/modules/utenti/actions.php @@ -20,6 +20,7 @@ include_once __DIR__.'/../../core.php'; use Models\User; +use Models\Module; $id_utente = filter('id_utente'); @@ -148,13 +149,42 @@ switch (filter('op')) { // Elimina utente + disattivazione token case 'delete_user': - if ($dbo->query('DELETE FROM zz_users WHERE id='.prepare($id_utente))) { - flash()->info(tr('Utente eliminato!')); + $utente = User::find($id_utente); - if ($dbo->query('DELETE FROM zz_tokens WHERE id_utente='.prepare($id_utente))) { - flash()->info(tr('Token eliminato!')); + /* Controlla che non posso auto eliminarmi */ + if (Auth::user()->id != $utente->id) { + + /* Controlla che l'utente che voglio eliminare non presenti logs associati */ + if (count($utente->logs)>0){ + + if ($dbo->query('DELETE FROM zz_users WHERE id='.prepare($id_utente))) { + flash()->info(tr('Utente eliminato!')); + + if ($dbo->query('DELETE FROM zz_tokens WHERE id_utente='.prepare($id_utente))) { + flash()->info(tr('Token eliminato!')); + } + } } + else { + flash()->error(tr('L\'utente _USER_ presenta dei log attivi. Impossibile eliminare utente.', ['_USER_' => $utente->username])); + + $dbo->update('zz_users', [ + 'enabled' => 0, + ], ['id' => $id_utente]); + + + flash()->info(tr('Utente disabilitato!')); + + if ($dbo->query('DELETE FROM zz_tokens WHERE id_utente='.prepare($id_utente))) { + flash()->info(tr('Token eliminato!')); + } flash()->info(tr('Token eliminato!')); + } + + }else{ + flash()->error(tr('L\'utente _USER_ è l\'utente attuale. Impossibile eliminare utente.', ['_USER_' => $utente->username])); } + + break; // Abilita API utente @@ -222,7 +252,7 @@ switch (filter('op')) { $dbo->query('DELETE FROM zz_permissions WHERE idgruppo='.prepare($id_record)); foreach ($permessi as $module_name => $permesso) { - $module_id = $dbo->fetchArray('SELECT `id` FROM `zz_modules` WHERE `name` = "'.$module_name.'"')[0]['id']; + $module_id = (new Module())->getByName($module_name)->id_record; $dbo->insert('zz_permissions', [ 'idgruppo' => $id_record, diff --git a/modules/utenti/ajax/select.php b/modules/utenti/ajax/select.php index e83337c47..3f6481861 100755 --- a/modules/utenti/ajax/select.php +++ b/modules/utenti/ajax/select.php @@ -129,19 +129,19 @@ switch ($resource) { break; case 'moduli_gruppo': - $query = 'SELECT zz_modules.id, zz_modules.title AS descrizione FROM zz_modules LEFT JOIN zz_permissions ON zz_permissions.idmodule=zz_modules.id |where| GROUP BY id ORDER BY descrizione'; + $query = 'SELECT `zz_modules`.`id`, `zz_modules_lang`.`title` AS descrizione FROM `zz_modules` LEFT JOIN `zz_modules_lang` ON `zz_modules`.`id`=`zz_modules_lang`.`id_record` AND `zz_modules_lang`.`id_lang`='.prepare(setting('Lingua')).' LEFT JOIN `zz_permissions` ON `zz_permissions`.`idmodule`=`zz_modules`.`id` |where| GROUP BY `zz_modules`.`id` ORDER BY `title`'; - $where[] = 'zz_modules.enabled=1'; + $where[] = '`zz_modules`.`enabled`=1'; if (isset($superselect['idgruppo']) && $superselect['idgruppo'] != 1) { - $where[] = 'zz_permissions.idgruppo='.prepare($superselect['idgruppo']); + $where[] = '`zz_permissions`.`idgruppo`='.prepare($superselect['idgruppo']); } foreach ($elements as $element) { - $filter[] = 'zz_modules.id='.prepare($element); + $filter[] = '`zz_modules`.`id`='.prepare($element); } if (!empty($search)) { - $search_fields[] = 'zz_modules.title LIKE '.prepare('%'.$search.'%'); + $search_fields[] = '`zz_modules_lang`.`title` LIKE '.prepare('%'.$search.'%'); } break; diff --git a/modules/utenti/components/base.php b/modules/utenti/components/base.php index 864f9404e..b28f4a0a8 100755 --- a/modules/utenti/components/base.php +++ b/modules/utenti/components/base.php @@ -18,6 +18,7 @@ */ include_once __DIR__.'/../../core.php'; +use Models\Module; if (!empty(filter('idanagrafica'))) { $utente['id_anagrafica'] = filter('idanagrafica'); @@ -29,7 +30,7 @@ echo '
    - {[ "type": "select", "label": "'.tr('Gruppo di appartenenza').'", "name": "idgruppo", "required": 1, "ajax-source": "gruppi", "value": "'.(!empty($utente['idgruppo']) ? $utente['idgruppo'] : $current_idgruppo).'", "icon-after": "add|'.Modules::get('Utenti e permessi')['id'].'", "readonly": "'.(($utente['id'] == '1') ? 1 : 0).'" ]} + {[ "type": "select", "label": "'.tr('Gruppo di appartenenza').'", "name": "idgruppo", "required": 1, "ajax-source": "gruppi", "value": "'.(!empty($utente['idgruppo']) ? $utente['idgruppo'] : $current_idgruppo).'", "icon-after": "add|'.(new Module())->getByName('Utenti e permessi')->id_record.'", "readonly": "'.(($utente['id'] == '1') ? 1 : 0).'" ]}
    '; @@ -52,7 +53,7 @@ echo '
    - {[ "type": "select", "label": "'.tr('Collega ad una anagrafica').'", "name": "idanag", "required": 1, "ajax-source": "anagrafiche_utenti", "value": "'.$utente['id_anagrafica'].'", "icon-after": "add|'.Modules::get('Anagrafiche')['id'].(isset($gruppo) ? '|tipoanagrafica='.$gruppo : '').'" ]} + {[ "type": "select", "label": "'.tr('Collega ad una anagrafica').'", "name": "idanag", "required": 1, "ajax-source": "anagrafiche_utenti", "value": "'.$utente['id_anagrafica'].'", "icon-after": "add|'.(new Module())->getByName('Anagrafiche')->id_record.(isset($gruppo) ? '|tipoanagrafica='.$gruppo : '').'" ]}
    diff --git a/modules/utenti/info.php b/modules/utenti/info.php index 736cd5040..379bc9a64 100755 --- a/modules/utenti/info.php +++ b/modules/utenti/info.php @@ -17,6 +17,8 @@ * along with this program. If not, see . */ +use Models\Module; + $skip_permissions = true; include_once __DIR__.'/../../core.php'; @@ -38,7 +40,7 @@ if (!empty($rs)) { } $api = base_url().'/api/?token='.$token; -$module = Modules::get('Utenti e permessi'); +$module = Module::find((new Module())->getByName('Utenti e permessi')->id_record); echo '
    diff --git a/modules/viste/actions.php b/modules/viste/actions.php index 638ae4a8b..63687e6b4 100755 --- a/modules/viste/actions.php +++ b/modules/viste/actions.php @@ -26,8 +26,8 @@ switch (filter('op')) { $options2 = htmlspecialchars_decode(post('options2'), ENT_QUOTES); if (check_query($options2)) { - $dbo->query('UPDATE `zz_modules` SET `title`='.prepare(post('title')).', `options2`='.prepare($options2).' WHERE `id`='.prepare($id_record)); - + $dbo->query('UPDATE `zz_modules` SET `options2`='.prepare($options2).' WHERE `id`='.prepare($id_record)); + $dbo->query('UPDATE `zz_modules_lang` SET `title`='.prepare(post('title')).' WHERE (`id_record`='.prepare($id_record).' AND `id_lang`='.prepare(setting('Lingua')).')'); $rs = true; } else { $rs = false; diff --git a/modules/viste/fields.php b/modules/viste/fields.php index 32638eb1b..0f64eacdd 100755 --- a/modules/viste/fields.php +++ b/modules/viste/fields.php @@ -28,7 +28,7 @@ echo '
    '; $key = 0; -$fields = $dbo->fetchArray('SELECT * FROM zz_views WHERE id_module='.prepare($record['id']).' ORDER BY `order` ASC, updated_at DESC '); +$fields = $dbo->fetchArray('SELECT * FROM `zz_views` WHERE `id_module`='.prepare($record->id).' ORDER BY `order` ASC, `updated_at` DESC '); foreach ($fields as $key => $field) { $editable = !($field['default'] && $enable_readonly); diff --git a/modules/viste/init.php b/modules/viste/init.php index 3deac71b6..6162ecec9 100755 --- a/modules/viste/init.php +++ b/modules/viste/init.php @@ -18,7 +18,8 @@ */ include_once __DIR__.'/../../core.php'; +use Models\Module; if (isset($id_record)) { - $record = $dbo->fetchOne('SELECT * FROM `zz_modules` WHERE id='.prepare($id_record)); + $record = Module::find($id_record); } diff --git a/plugins/checks.php b/plugins/checks.php index ac938a813..d6cc99fcd 100644 --- a/plugins/checks.php +++ b/plugins/checks.php @@ -18,8 +18,9 @@ */ include_once __DIR__.'/../core.php'; +use Models\Module; -$checklist_module = Modules::get('Checklists'); +$checklist_module = Module::find((new Module())->getByName('Checklists')->id_record); $checks_id = 'checklist_'.$id_module.'_'.$id_plugin; echo ' diff --git a/plugins/exportFE/src/FatturaElettronica.php b/plugins/exportFE/src/FatturaElettronica.php index ffcf9076d..90f979848 100755 --- a/plugins/exportFE/src/FatturaElettronica.php +++ b/plugins/exportFE/src/FatturaElettronica.php @@ -30,6 +30,7 @@ use Modules\Fatture\Gestori\Bollo; use Modules\Iva\Aliquota; use Modules\Pagamenti\Pagamento; use Uploads; +use Models\Module; /** * Classe per la gestione della fatturazione elettronica in XML. @@ -284,7 +285,7 @@ class FatturaElettronica public static function getDirectory() { - return \Uploads::getDirectory(\Modules::get('Fatture di vendita')['id']); + return \Uploads::getDirectory((new Module())->getByName('Fatture di vendita')->id_record); } /** @@ -1709,7 +1710,7 @@ class FatturaElettronica $attachments = []; // Informazioni sul modulo - $id_module = \Modules::get('Fatture di vendita')['id']; + $id_module = (new Module())->getByName('Fatture di vendita')->id_record; $directory = \Uploads::getDirectory($id_module); // Allegati @@ -1856,7 +1857,7 @@ class FatturaElettronica { return [ 'category' => tr('Fattura Elettronica'), - 'id_module' => \Modules::get('Fatture di vendita')['id'], + 'id_module' => (new Module())->getByName('Fattire di vendita')->id_record, 'id_record' => $this->getDocumento()['id'], ]; } diff --git a/plugins/importFE/generate.php b/plugins/importFE/generate.php index de3cb193b..2bc7a6f7a 100755 --- a/plugins/importFE/generate.php +++ b/plugins/importFE/generate.php @@ -22,6 +22,7 @@ use Modules\Fatture\Fattura; use Modules\Pagamenti\Pagamento; use Plugins\ImportFE\FatturaElettronica; use Util\XML; +use Models\Module; include_once __DIR__.'/../../core.php'; @@ -573,7 +574,7 @@ if (!empty($righe)) {
    - {[ "type": "select", "name": "articoli['.$key.']", "ajax-source": "articoli", "select-options": '.json_encode(['permetti_movimento_a_zero' => 1, 'dir' => 'entrata', 'idanagrafica' => $anagrafica ? $anagrafica->id : '']).', "icon-after": "add|'.Modules::get('Articoli')['id'].'|codice='.urlencode($codice_principale).'&descrizione='.urlencode($riga['Descrizione']).'&prezzo_acquisto='.urlencode($riga['PrezzoUnitario']).'", "value": "'.$id_articolo.'", "label": "'.tr('Articolo').'", "extra": "data-id=\''.$key.'\'" ]} + {[ "type": "select", "name": "articoli['.$key.']", "ajax-source": "articoli", "select-options": '.json_encode(['permetti_movimento_a_zero' => 1, 'dir' => 'entrata', 'idanagrafica' => $anagrafica ? $anagrafica->id : '']).', "icon-after": "add|'.(new Module())->getByName('Articoli')->id_record.'|codice='.urlencode($codice_principale).'&descrizione='.urlencode($riga['Descrizione']).'&prezzo_acquisto='.urlencode($riga['PrezzoUnitario']).'", "value": "'.$id_articolo.'", "label": "'.tr('Articolo').'", "extra": "data-id=\''.$key.'\'" ]}
    diff --git a/plugins/importFE/src/FatturaElettronica.php b/plugins/importFE/src/FatturaElettronica.php index 28f7ff9c9..19f2a4d1c 100755 --- a/plugins/importFE/src/FatturaElettronica.php +++ b/plugins/importFE/src/FatturaElettronica.php @@ -27,6 +27,7 @@ use Modules\Fatture\Fattura; use Modules\Fatture\Stato; use Modules\Fatture\Tipo as TipoFattura; use Util\XML; +use Models\Module; /** * Classe per la gestione della fatturazione elettronica in XML. @@ -82,7 +83,7 @@ class FatturaElettronica public static function getImportDirectory() { if (!isset(self::$directory)) { - $module = \Modules::get('Fatture di acquisto'); + $module = Module::find((new Module())->getByName('Fatture di acquisto')->id_record); $plugins = $module->plugins; if (!empty($plugins)) { @@ -166,11 +167,11 @@ class FatturaElettronica { $allegati = $this->getAllegati(); - $module = \Modules::get('Fatture di acquisto'); + $id_module = (new Module())->getByName('Fatture di acquisto')->id_record; $info = [ 'category' => tr('Fattura Elettronica'), - 'id_module' => $module->id, + 'id_module' => $id_module, 'id_record' => $this->fattura->id, ]; diff --git a/plugins/importFE/src/Interaction.php b/plugins/importFE/src/Interaction.php index 6d6ee8109..d2dac92c2 100755 --- a/plugins/importFE/src/Interaction.php +++ b/plugins/importFE/src/Interaction.php @@ -42,7 +42,7 @@ class Interaction extends Services $result = self::getFileList($list); // Aggiornamento cache hook - Cache::pool('Fatture Elettroniche')->set($result); + Cache::pool(Cache::where('name','Fatture Elettroniche')->first()->id)->set($result); return $result; } diff --git a/plugins/importFE/src/InvoiceHook.php b/plugins/importFE/src/InvoiceHook.php index 33cef5123..e4fa59c4f 100755 --- a/plugins/importFE/src/InvoiceHook.php +++ b/plugins/importFE/src/InvoiceHook.php @@ -20,6 +20,7 @@ namespace Plugins\ImportFE; use Hooks\CachedManager; +use Models\Module; /** * Hook dedicato all'importazione automatica delle Fatture Elettroniche di acquisto rilevate dal sistema automatico di gestione. @@ -43,7 +44,7 @@ class InvoiceHook extends CachedManager $count = count($results); $notify = false; - $module = \Modules::get('Fatture di acquisto'); + $module = Module::find((new Module())->getByName('Fatture di acquisto')->id_record); $plugins = $module->plugins; if (!empty($plugins)) { diff --git a/plugins/listino_clienti/edit.php b/plugins/listino_clienti/edit.php index 775e476e9..cd26ce8b6 100644 --- a/plugins/listino_clienti/edit.php +++ b/plugins/listino_clienti/edit.php @@ -19,6 +19,7 @@ use Carbon\Carbon; use Plugins\ListinoClienti\DettaglioPrezzo; +use Models\Module; include_once __DIR__.'/../../core.php'; @@ -33,7 +34,7 @@ echo '
    - {[ "type": "select", "label": "'.tr('Cliente').'", "name": "id_cliente_informazioni", "required":"1", "ajax-source": "clienti", "icon-after": "add|'.Modules::get('Anagrafiche')['id'].'|tipoanagrafica=Cliente&readonly_tipo=1" ]} + {[ "type": "select", "label": "'.tr('Cliente').'", "name": "id_cliente_informazioni", "required":"1", "ajax-source": "clienti", "icon-after": "add|'.(new Module())->getByName('Anagrafiche')->id_record.'|tipoanagrafica=Cliente&readonly_tipo=1" ]}
    diff --git a/plugins/listino_fornitori/edit.php b/plugins/listino_fornitori/edit.php index 2dbfddbac..7d2367424 100644 --- a/plugins/listino_fornitori/edit.php +++ b/plugins/listino_fornitori/edit.php @@ -19,6 +19,7 @@ use Plugins\ListinoClienti\DettaglioPrezzo; use Plugins\ListinoFornitori\DettaglioFornitore; +use Models\Module; include_once __DIR__.'/../../core.php'; @@ -32,7 +33,7 @@ echo '
    - {[ "type": "select", "label": "'.tr('Fornitore').'", "name": "id_fornitore_informazioni", "required":"1", "ajax-source": "fornitori","icon-after": "add|'.Modules::get('Anagrafiche')['id'].'|tipoanagrafica=Fornitore&readonly_tipo=1" ]} + {[ "type": "select", "label": "'.tr('Fornitore').'", "name": "id_fornitore_informazioni", "required":"1", "ajax-source": "fornitori","icon-after": "add|'.(new Module())->getByName('Anagrafiche')->id_record.'|tipoanagrafica=Fornitore&readonly_tipo=1" ]}
    diff --git a/plugins/movimenti_contabili/edit.php b/plugins/movimenti_contabili/edit.php index 312026e90..1d9a83a41 100644 --- a/plugins/movimenti_contabili/edit.php +++ b/plugins/movimenti_contabili/edit.php @@ -21,6 +21,7 @@ include_once __DIR__.'/../../core.php'; include_once __DIR__.'/../init.php'; use Modules\Fatture\Fattura; +use Models\Module; if (empty($_GET['visualizza_movimenti'])) { echo ' @@ -33,7 +34,7 @@ if (empty($_GET['visualizza_movimenti'])) {
    '; } else { - $modulo = Modules::get($id_module)['name']; + $modulo = Module::find($id_module)->name; if ($modulo == 'Anagrafiche') { $movimenti = $dbo->fetchArray('SELECT co_movimenti.*, SUM(totale) AS totale, co_pianodeiconti3.descrizione, co_pianodeiconti3.numero AS conto3, co_pianodeiconti2.numero AS conto2 FROM co_movimenti LEFT JOIN co_pianodeiconti3 ON co_movimenti.idconto=co_pianodeiconti3.id LEFT JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id WHERE id_anagrafica='.prepare($id_record).' GROUP BY idmastrino, idconto ORDER BY data, idmastrino'); } else { diff --git a/plugins/pianificazione_fatturazione/actions.php b/plugins/pianificazione_fatturazione/actions.php index 0c0d5dac6..85a3cd9dd 100755 --- a/plugins/pianificazione_fatturazione/actions.php +++ b/plugins/pianificazione_fatturazione/actions.php @@ -24,6 +24,7 @@ use Modules\Contratti\Contratto; use Modules\Fatture\Fattura; use Modules\Fatture\Tipo; use Plugins\PianificazioneFatturazione\Pianificazione; +use Models\Module; include_once __DIR__.'/../../core.php'; include_once __DIR__.'/../modutil.php'; @@ -199,7 +200,7 @@ switch ($operazione) { flash()->info(tr('Rata fatturata correttamente!')); database()->commitTransaction(); - redirect(base_path().'/controller.php?id_module='.Modules::get('Fatture di vendita')['id'].'&id_record='.$fattura->id); + redirect(base_path().'/controller.php?id_module='.(new Module())->getByName('Fatture di vendita')->id_record.'&id_record='.$fattura->id); exit; case 'add_fattura_multipla': @@ -253,6 +254,6 @@ switch ($operazione) { flash()->info(tr('Rate fatturate correttamente!')); database()->commitTransaction(); - redirect(base_path().'/controller.php?id_module='.Modules::get('Fatture di vendita')['id']); + redirect(base_path().'/controller.php?id_module='.(new Module())->getByName('Fatture di vendita')->id_record); exit; } diff --git a/plugins/pianificazione_fatturazione/ajax_cadenza.php b/plugins/pianificazione_fatturazione/ajax_cadenza.php index 55fa25a20..01b648faf 100755 --- a/plugins/pianificazione_fatturazione/ajax_cadenza.php +++ b/plugins/pianificazione_fatturazione/ajax_cadenza.php @@ -19,6 +19,7 @@ use Carbon\Carbon; use Modules\Contratti\Contratto; +use Models\Module; include_once __DIR__.'/../../core.php'; @@ -57,7 +58,7 @@ while ($data_corrente->lessThanOrEqualTo($data_conclusione)) { $data_fatturazione = ($data_fatturazione ?: date('Y-m', strtotime($data))); unset($checked); - if ($id_module == Modules::get('Contratti')['id']) { + if ($id_module == (new Module())->getByName('Contratti')->id_record) { if ($data == date('Y-m-t', strtotime($timeing, strtotime($data_fatturazione))) || $data_fatturazione == date('Y-m', strtotime($data_corrente))) { $checked = 'checked'; $data_fatturazione = date('Y-m', strtotime($data)); diff --git a/plugins/pianificazione_fatturazione/crea_fattura.php b/plugins/pianificazione_fatturazione/crea_fattura.php index 6fe6bc7aa..7b2a37e52 100644 --- a/plugins/pianificazione_fatturazione/crea_fattura.php +++ b/plugins/pianificazione_fatturazione/crea_fattura.php @@ -18,6 +18,7 @@ */ use Plugins\PianificazioneFatturazione\Pianificazione; +use Models\Module; include_once __DIR__.'/../../core.php'; @@ -34,7 +35,7 @@ foreach ($contratto->pianificazioni as $i => $p) { } } -$module_fattura = Modules::get('Fatture di vendita'); +$id_module_fattura = (new Module())->getByName('Fatture di vendita')->id_record; $id_conto = setting('Conto predefinito fatture di vendita'); $data = date('Y-m', strtotime($pianificazione->data_scadenza)).'-'.date('d', strtotime($contratto->data_accettazione)); @@ -66,7 +67,7 @@ echo ' echo '
    - {[ "type": "select", "label": "'.tr('Sezionale').'", "name": "id_segment", "required": 1, "ajax-source": "segmenti", "select-options": '.json_encode(['id_module' => $module_fattura['id'], 'is_sezionale' => 1]).', "value":"'.$_SESSION['module_'.$module_fattura['id']]['id_segment'].'" ]} + {[ "type": "select", "label": "'.tr('Sezionale').'", "name": "id_segment", "required": 1, "ajax-source": "segmenti", "select-options": '.json_encode(['id_module' => $id_module_fattura, 'is_sezionale' => 1]).', "value":"'.$_SESSION['module_'.$id_module_fattura]['id_segment'].'" ]}
    '; // Conto diff --git a/plugins/pianificazione_fatturazione/crea_fattura_multipla.php b/plugins/pianificazione_fatturazione/crea_fattura_multipla.php index f1ebf5f34..6caee979a 100644 --- a/plugins/pianificazione_fatturazione/crea_fattura_multipla.php +++ b/plugins/pianificazione_fatturazione/crea_fattura_multipla.php @@ -18,6 +18,7 @@ */ use Plugins\PianificazioneFatturazione\Pianificazione; +use Models\Module; include_once __DIR__.'/../../core.php'; @@ -45,7 +46,7 @@ foreach ($records as $j => $record) { } } -$module_fattura = Modules::get('Fatture di vendita'); +$id_module_fattura = (new Module())->getByName('Fatture di vendita')->id_record; $id_conto = setting('Conto predefinito fatture di vendita'); echo ' @@ -73,7 +74,7 @@ echo ' // Sezionale echo '
    - {[ "type": "select", "label": "'.tr('Sezionale').'", "name": "id_segment", "required": 1, "values": "query=SELECT id, name AS descrizione FROM zz_segments WHERE id_module='.$module_fattura['id'].' ORDER BY name", "value":"'.$_SESSION['module_'.$module_fattura['id']]['id_segment'].'" ]} + {[ "type": "select", "label": "'.tr('Sezionale').'", "name": "id_segment", "required": 1, "values": "query=SELECT id, name AS descrizione FROM zz_segments WHERE id_module='.$id_module_fattura.' ORDER BY name", "value":"'.$_SESSION['module_'.$id_module_fattura]['id_segment'].'" ]}
    '; // Conto diff --git a/plugins/pianificazione_fatturazione/widgets/rate_contrattuali.php b/plugins/pianificazione_fatturazione/widgets/rate_contrattuali.php index 8be504db2..2b52addc1 100644 --- a/plugins/pianificazione_fatturazione/widgets/rate_contrattuali.php +++ b/plugins/pianificazione_fatturazione/widgets/rate_contrattuali.php @@ -18,6 +18,7 @@ */ include_once __DIR__.'/../../../core.php'; +use Models\Plugin; $mesi = [ 1 => 'Gennaio', @@ -179,8 +180,8 @@ echo '
    '; -$modulo_pianificazione = Modules::get('Contratti'); -$plugin_pianificazione = Plugins::get('Pianificazione fatturazione'); +$id_modulo_pianificazione = (new Module())->getByName('Contratti')->id_record; +$plugin_pianificazione = Plugin::find((new Plugin())->getByName('Pianificazione fatturazione')->id_record); echo '