diff --git a/include/modifica_allegato.php b/include/modifica_allegato.php
index b8d07948d..657a09b0f 100644
--- a/include/modifica_allegato.php
+++ b/include/modifica_allegato.php
@@ -33,7 +33,7 @@ if (sizeof($id_allegati) == 1) {
$allegato = Upload::find($id_allegati[0]);
echo '
- {[ "type": "text", "label": "'.tr('Nome').'", "name": "nome_allegato", "value": "'.$allegato->getTranslation('name').'" ]}
+ {[ "type": "text", "label": "'.tr('Nome').'", "name": "nome_allegato", "value": "'.$allegato->name.'" ]}
{[ "type": "text", "label": "'.tr('Categoria').'", "name": "categoria_allegato", "value": "'.$allegato->category.'", "disabled": "'.intval(in_array($allegato->category, ['Fattura Elettronica'])).'" ]}
diff --git a/include/top.php b/include/top.php
index e2b4e99ab..3dc0e7f35 100755
--- a/include/top.php
+++ b/include/top.php
@@ -47,7 +47,7 @@ echo '
if (file_exists(base_dir().'/manifest.json')) {
echo '
- ';
+ ';
}
// CSS
diff --git a/lib/functions.php b/lib/functions.php
index 427ccba0d..a3e65a6e7 100755
--- a/lib/functions.php
+++ b/lib/functions.php
@@ -236,7 +236,7 @@ function translateTemplate()
];
$template = replace($template, $replaces);
- $template = HTMLBuilder::replace($template);
+ $template = $template ? HTMLBuilder::replace($template) : $template;
$template = replace($template, $replaces);
// Informazioni estese sulle azioni dell'utente
@@ -297,7 +297,7 @@ function slashes($string)
*/
function isAjaxRequest()
{
- return Whoops\Util\Misc::isAjaxRequest() && filter('ajax') !== null;
+ return Whoops\Util\Misc::isAjaxRequest() && filter('ajax') !== null && filter('ajax') !== '';
}
/**
@@ -339,7 +339,7 @@ function redirectOperation($id_module, $id_record)
*/
function prepareToField($string)
{
- return str_replace('"', '"', $string);
+ return $string ? str_replace('"', '"', $string) : $string;
}
/**
@@ -442,7 +442,7 @@ function session_get($name, $default = null)
$session = &$session[$piece];
}
- return isset($session) ? $session : $default;
+ return $session ?? $default;
}
/**
diff --git a/lib/util.php b/lib/util.php
index db0a503f2..49cb81b3f 100755
--- a/lib/util.php
+++ b/lib/util.php
@@ -38,9 +38,7 @@ if (!function_exists('array_column')) {
*/
function array_column($array, $key)
{
- return array_map(function ($v) use ($key) {
- return is_object($v) ? $v->$key : $v[$key];
- }, $array);
+ return array_map(fn ($v) => is_object($v) ? $v->$key : $v[$key], $array);
}
}
@@ -55,9 +53,7 @@ if (!function_exists('array_clean')) {
function array_clean($array)
{
if (!empty($array)) {
- return array_unique(array_values(array_filter($array, function ($value) {
- return !empty($value);
- })));
+ return array_unique(array_values(array_filter($array, fn ($value) => !empty($value))));
}
}
}
@@ -448,8 +444,8 @@ if (!function_exists('color_inverse')) {
$R2 = 255;
$G2 = 255;
$B2 = 255;
- $L1 = 0.2126 * pow($R1 / 255, 2.2) + 0.7152 * pow($G1 / 255, 2.2) + 0.0722 * pow($B1 / 255, 2.2);
- $L2 = 0.2126 * pow($R2 / 255, 2.2) + 0.7152 * pow($G2 / 255, 2.2) + 0.0722 * pow($B2 / 255, 2.2);
+ $L1 = 0.2126 * ($R1 / 255) ** 2.2 + 0.7152 * ($G1 / 255) ** 2.2 + 0.0722 * ($B1 / 255) ** 2.2;
+ $L2 = 0.2126 * ($R2 / 255) ** 2.2 + 0.7152 * ($G2 / 255) ** 2.2 + 0.0722 * ($B2 / 255) ** 2.2;
if ($L1 > $L2) {
$lum = ($L1 + 0.05) / ($L2 + 0.05);
} else {
@@ -602,6 +598,6 @@ if (!function_exists('adjustBrightness')) {
$color = str_pad(dechex($color + $adjustAmount), 2, '0', STR_PAD_LEFT);
}
- return '#'.implode($hexCode);
+ return '#'.implode('', $hexCode);
}
}
diff --git a/modules/adattatori_archiviazione/actions.php b/modules/adattatori_archiviazione/actions.php
index b171c6e50..ce9622420 100644
--- a/modules/adattatori_archiviazione/actions.php
+++ b/modules/adattatori_archiviazione/actions.php
@@ -25,7 +25,7 @@ switch (filter('op')) {
case 'add':
$adapter = new FileAdapter();
- $adapter->setTranslation('name', post('name'));
+ $adapter->name = post('name');
$adapter->class = '\\Modules\\FileAdapters\\Adapters\\'.post('class');
$adapter->save();
@@ -37,10 +37,14 @@ switch (filter('op')) {
break;
case 'update':
- $adapter->setTranslation('name', post('name'));
+ $adapter->name = post('name');
$adapter->class = '\\Modules\\FileAdapters\\Adapters\\'.post('class');
$adapter->options = post('options');
- $adapter->is_default = post('is_default');
+
+ if (post('is_default') == 1) {
+ $dbo->query('UPDATE `zz_storage_adapters` SET `is_default` = 0');
+ $adapter->is_default = post('is_default');
+ }
$adapter->save();
diff --git a/modules/adattatori_archiviazione/edit.php b/modules/adattatori_archiviazione/edit.php
index c2985195c..244f5f638 100644
--- a/modules/adattatori_archiviazione/edit.php
+++ b/modules/adattatori_archiviazione/edit.php
@@ -34,7 +34,7 @@ include_once __DIR__.'/../../core.php';
- {[ "type": "checkbox", "label": "", "name": "is_default", "value": "$is_default$" ]}
+ {[ "type": "checkbox", "label": "", "name": "is_default", "value": "$is_default$", "extra": "" ]}
diff --git a/modules/adattatori_archiviazione/init.php b/modules/adattatori_archiviazione/init.php
index bb5b026f6..335ce5132 100644
--- a/modules/adattatori_archiviazione/init.php
+++ b/modules/adattatori_archiviazione/init.php
@@ -21,7 +21,7 @@ include_once __DIR__.'/../../core.php';
use Modules\FileAdapters\FileAdapter;
-if (isset($id_record)) {
+if (!empty($id_record)) {
$adapter = FileAdapter::find($id_record);
$record = $dbo->fetchOne('SELECT * FROM `zz_storage_adapters` WHERE `id`='.prepare($id_record));
diff --git a/modules/aggiornamenti/database.php b/modules/aggiornamenti/database.php
index 5a2b04fe7..d03390660 100644
--- a/modules/aggiornamenti/database.php
+++ b/modules/aggiornamenti/database.php
@@ -260,7 +260,7 @@ if (!empty($results) || !empty($results_settings) || !empty($results_settings_ad
'.$key.'
- '.($setting['current'] ? $setting['current'] : '⚠️ Impostazione mancante').'
+ '.($setting['current'] ?: '⚠️ Impostazione mancante').'
|
'.$setting['expected'].'
diff --git a/modules/aggiornamenti/edit.php b/modules/aggiornamenti/edit.php
index 1e237e4a0..5a8edd8a2 100755
--- a/modules/aggiornamenti/edit.php
+++ b/modules/aggiornamenti/edit.php
@@ -156,7 +156,7 @@ function database(button) {
}
function controlli(button) {
- openModal("'.tr('Controlli del gestionale').'", "'.$module->fileurl('controlli.php').'?id_module='.$id_module.'");
+ openModal("'.tr('Controlli del gestionale').'", "'.$module->fileurl('controlli.php').'?id_module='.$id_module. '");
}
function search(button) {
@@ -171,9 +171,9 @@ function search(button) {
},
success: function(data){
if (data === "none" || !data) {
- $("#update-search").html("'.tr('Nessun aggiornamento disponibile').'.");
+ $("#update-search").html(" '.tr('Nessun aggiornamento disponibile'). '.");
} else {
- let beta_warning = data.includes("beta") ? " '.tr('Attenzione: la versione individuata è in fase sperimentale, e pertanto può presentare diversi bug e malfunzionamenti').'." : "";
+ let beta_warning = data.includes("beta") ? " '.tr('Attenzione: la versione individuata è in fase sperimentale e potrebbe pertanto presentare diversi malfunzionamenti. Se ne sconsiglia l\'aggiornamento in installazioni di produzione').'." : "";
$("#update-search").html("'.tr("E' stato individuato un nuovo aggiornamento").': " + data + "." + beta_warning + " '.tr('Scaricalo ora: _LINK_', [
'_LINK_' => "https://github.com/devcode-it/openstamanager/releases",
]).'");
diff --git a/modules/aggiornamenti/upload_modules.php b/modules/aggiornamenti/upload_modules.php
index 5fc2b34e4..f478cd158 100755
--- a/modules/aggiornamenti/upload_modules.php
+++ b/modules/aggiornamenti/upload_modules.php
@@ -54,7 +54,7 @@ if (file_exists($extraction_dir.'/VERSION')) {
->ignoreVCS(true)
->in($extraction_dir);
- $files_module = $finder->getTranslation('name')('MODULE');
+ $files_module = $finder->name('MODULE');
foreach ($files_module as $file) {
// Informazioni dal file di configurazione
@@ -69,8 +69,6 @@ if (file_exists($extraction_dir.'/VERSION')) {
$table = 'zz_modules';
$installed = Module::find((new Module())->getByField('name', $info['name']));
- $insert['parent'] = (new Module())->getByField('name', $info['parent']);
- $insert['icon'] = $info['icon'];
}
// Copia dei file nella cartella relativa
@@ -86,6 +84,8 @@ if (file_exists($extraction_dir.'/VERSION')) {
'order' => 100,
'default' => 0,
'enabled' => 1,
+ 'icon' => $info['icon'],
+ 'parent' => (new Module())->getByField('name', $info['parent']),
]));
$id_record = $dbo->lastInsertedID();
$dbo->insert($table.'_lang', array_merge($insert, [
@@ -107,7 +107,7 @@ if (file_exists($extraction_dir.'/VERSION')) {
->ignoreVCS(true)
->in($extraction_dir);
- $files_plugin_template = $finder->getTranslation('name')('PLUGIN')->getTranslation('name')('TEMPLATES');
+ $files_plugin_template = $finder->name('PLUGIN')->name('TEMPLATES');
foreach ($files_plugin_template as $file) {
// Informazioni dal file di configurazione
@@ -115,6 +115,7 @@ if (file_exists($extraction_dir.'/VERSION')) {
// Informazioni aggiuntive per il database
$insert = [];
+ $insert_lang = [];
// Plugin
if (basename($file->getRealPath()) == 'PLUGIN') {
@@ -135,7 +136,7 @@ if (file_exists($extraction_dir.'/VERSION')) {
$installed = Prints::getPrints()[$info['name']];
$insert['id_module'] = (new Module())->getByField('name', $info['module']);
$insert['is_record'] = $info['is_record'];
- $insert['filename'] = $info['filename'];
+ $insert_lang['filename'] = $info['filename'];
$insert['icon'] = $info['icon'];
}
@@ -154,7 +155,7 @@ if (file_exists($extraction_dir.'/VERSION')) {
'enabled' => 1,
]));
$id_record = $dbo->lastInsertedID();
- $dbo->insert($table.'_lang', array_merge($insert, [
+ $dbo->insert($table.'_lang', array_merge($insert_lang, [
'name' => $info['name'],
'title' => !empty($info['title']) ? $info['title'] : $info['name'],
'id_record' => $id_record,
diff --git a/modules/anagrafiche/actions.php b/modules/anagrafiche/actions.php
index f778f05f1..7d40b0fee 100755
--- a/modules/anagrafiche/actions.php
+++ b/modules/anagrafiche/actions.php
@@ -242,9 +242,13 @@ switch (post('op')) {
echo json_encode(['id' => $id_record, 'text' => $anagrafica->ragione_sociale]);
}
- $descrizioni_tipi = $anagrafica->tipi()->get()->pluck('name')->toArray();
+ $descrizioni_tipi = $anagrafica->tipi()->get();
+ foreach ($descrizioni_tipi as $tipo) {
+ $tipi[] = $tipo->getTranslation('name');
+ }
+
flash()->info(tr('Aggiunta nuova anagrafica di tipo _TYPE_', [
- '_TYPE_' => '"'.implode(', ', $descrizioni_tipi).'"',
+ '_TYPE_' => '"'.implode(', ', $tipi).'"',
]));
// Controllo che il Codice Fiscale non sia già presente
@@ -348,7 +352,7 @@ switch (post('op')) {
// Operazioni aggiuntive per il logo e filigrana stampe
if (filter('op') == 'aggiungi-allegato' || filter('op') == 'modifica-allegato') {
- $nome = $upload->getTranslation('name');
+ $nome = $upload->name;
$logo_stampe = ['logo stampe', 'logo_stampe', 'logo stampe.jpg', 'logo stampe.png'];
if (in_array(strtolower($nome), $logo_stampe)) {
diff --git a/modules/anagrafiche/add.php b/modules/anagrafiche/add.php
index e3a28840a..f82fff8c8 100755
--- a/modules/anagrafiche/add.php
+++ b/modules/anagrafiche/add.php
@@ -43,7 +43,7 @@ echo '
- {[ "type": "select", "label": "'.tr('Tipo di anagrafica').'", "name": "idtipoanagrafica[]", "id": "idtipoanagrafica_add", "multiple": "1", "required": 1, "values": "query=SELECT `an_tipianagrafiche`.`id`, `name` as descrizione FROM `an_tipianagrafiche` LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche`.`id` = `an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `an_tipianagrafiche`.`id` NOT IN (SELECT DISTINCT(`x`.`idtipoanagrafica`) FROM `an_tipianagrafiche_anagrafiche` x INNER JOIN `an_tipianagrafiche` t ON `x`.`idtipoanagrafica` = `t`.`id` LEFT JOIN `an_tipianagrafiche_lang` ON (`t`.`id` = `an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica` = `x`.`idanagrafica` WHERE `an_tipianagrafiche`.`id` = '.prepare($id_tipo_azienda).' AND `deleted_at` IS NULL) ORDER BY `name`", "value": "'.(isset($idtipoanagrafica) ? $idtipoanagrafica : null).'", "readonly": '.(!empty(get('readonly_tipo')) ? 1 : 0).' ]}
+ {[ "type": "select", "label": "'.tr('Tipo di anagrafica').'", "name": "idtipoanagrafica[]", "id": "idtipoanagrafica_add", "multiple": "1", "required": 1, "values": "query=SELECT `an_tipianagrafiche`.`id`, `name` as descrizione FROM `an_tipianagrafiche` LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche`.`id` = `an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `an_tipianagrafiche`.`id` NOT IN (SELECT DISTINCT(`x`.`idtipoanagrafica`) FROM `an_tipianagrafiche_anagrafiche` x INNER JOIN `an_tipianagrafiche` t ON `x`.`idtipoanagrafica` = `t`.`id` LEFT JOIN `an_tipianagrafiche_lang` ON (`t`.`id` = `an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica` = `x`.`idanagrafica` WHERE `an_tipianagrafiche`.`id` = '.prepare($id_tipo_azienda).' AND `deleted_at` IS NULL) ORDER BY `name`", "value": "'.($idtipoanagrafica ?? null).'", "readonly": '.(!empty(get('readonly_tipo')) ? 1 : 0).' ]}
diff --git a/modules/anagrafiche/ajax/select.php b/modules/anagrafiche/ajax/select.php
index 9fc007ff0..c1e926d11 100755
--- a/modules/anagrafiche/ajax/select.php
+++ b/modules/anagrafiche/ajax/select.php
@@ -252,7 +252,7 @@ switch ($resource) {
case 'clienti_fornitori':
$id_cliente = Tipo::find((new Tipo())->getByField('name', 'Cliente', Models\Locale::getPredefined()->id))->id;
$id_fornitore = Tipo::find((new Tipo())->getByField('name', 'Fornitore', Models\Locale::getPredefined()->id))->id;
- $id_azienda = Tipo::find((new Tipo())->getByField('name', 'Fornitore', Models\Locale::getPredefined()->id))->id;
+ $id_azienda = Tipo::find((new Tipo())->getByField('name', 'Azienda', Models\Locale::getPredefined()->id))->id;
$query = "SELECT `an_anagrafiche`.`idanagrafica` AS id, CONCAT_WS('', `ragione_sociale`, IF(`citta` !='' OR `provincia` != '', CONCAT(' (', `citta`, IF(`provincia`!='', CONCAT(' ', `provincia`), ''), ')'), ''), IF(`an_anagrafiche`.`deleted_at` IS NULL, '', ' (".tr('eliminata').")'),' - ', `an_anagrafiche`.`codice`) AS descrizione, `an_tipianagrafiche_lang`.`name` AS optgroup, `idtipointervento_default`, `an_tipianagrafiche`.`id` as id_tipo FROM `an_tipianagrafiche` LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche`.`id` = `an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang` = ".prepare(Models\Locale::getDefault()->id).') INNER JOIN `an_tipianagrafiche_anagrafiche` ON `an_tipianagrafiche`.`id`=`an_tipianagrafiche_anagrafiche`.`idtipoanagrafica` INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica`=`an_tipianagrafiche_anagrafiche`.`idanagrafica` |where| ORDER BY `optgroup` ASC, `ragione_sociale` ASC';
@@ -360,9 +360,9 @@ switch ($resource) {
*
FROM
(SELECT '0' AS id, (SELECT `lat` FROM `an_anagrafiche` |where|) AS lat, (SELECT `lng` FROM `an_anagrafiche` |where|) AS lng, (SELECT `idzona` FROM `an_anagrafiche` |where|) AS idzona, CONCAT_WS(' - ', \"".tr('Sede legale')."\" , (SELECT CONCAT (`citta`, IF(`indirizzo`!='',CONCAT(' (', `indirizzo`, ')'), ''), ' (',`ragione_sociale`,')') FROM `an_anagrafiche` |where|)) AS descrizione
-
+
UNION
-
+
SELECT
`id`,
`lat`,
diff --git a/modules/anagrafiche/edit.php b/modules/anagrafiche/edit.php
index 71bd5385f..b3dd2866d 100755
--- a/modules/anagrafiche/edit.php
+++ b/modules/anagrafiche/edit.php
@@ -473,9 +473,7 @@ if ($is_cliente or $is_fornitore or $is_tecnico) {
';
$banche = Banca::where('id_anagrafica', $anagrafica->id)->get();
- $banca_predefinita = $banche->first(function ($item) {
- return !empty($item['predefined']);
- });
+ $banca_predefinita = $banche->first(fn ($item) => !empty($item['predefined']));
$modulo_banche = (new Module())->getByField('name', 'Banche', Models\Locale::getPredefined()->id);
if (!$banche->isEmpty()) {
echo '
diff --git a/modules/anagrafiche/src/Anagrafica.php b/modules/anagrafiche/src/Anagrafica.php
index 365d24e7d..18b099c01 100755
--- a/modules/anagrafiche/src/Anagrafica.php
+++ b/modules/anagrafiche/src/Anagrafica.php
@@ -192,9 +192,7 @@ class Anagrafica extends Model
*/
public function isTipo($type)
{
- return $this->tipi()->get()->search(function ($item, $key) use ($type) {
- return TipoAnagrafica::find($item->id)->getTranslation('name', \Models\Locale::getPredefined()->id) == $type;
- }) !== false;
+ return $this->tipi()->get()->search(fn ($item, $key) => TipoAnagrafica::find($item->id)->getTranslation('name', \Models\Locale::getPredefined()->id) == $type) !== false;
}
public function delete()
diff --git a/modules/articoli/ajax/complete.php b/modules/articoli/ajax/complete.php
index 3b8bfec5c..7985dcb4b 100755
--- a/modules/articoli/ajax/complete.php
+++ b/modules/articoli/ajax/complete.php
@@ -272,7 +272,7 @@ switch ($resource) {
}
// Ultimo prezzo al cliente
- $ultimo_prezzo = $dbo->fetchArray('SELECT '.($prezzi_ivati ? '(`prezzo_unitario_ivato`-`sconto_unitario_ivato`)' : '(`prezzo_unitario`-`sconto_unitario`)').' AS prezzo_ultimo FROM `co_righe_documenti` INNER JOIN `co_documenti` ON `co_documenti`.`id`=`co_righe_documenti`.`iddocumento` INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id`=`co_documenti`.`idtipodocumento` WHERE `idarticolo`='.prepare($id_articolo).' AND `idanagrafica`='.prepare($id_anagrafica).' AND `co_tipidocumento`.`dir`='.prepare($direzione).') ORDER BY `data` DESC LIMIT 0,1');
+ $ultimo_prezzo = $dbo->fetchArray('SELECT '.($prezzi_ivati ? '(`prezzo_unitario_ivato`-`sconto_unitario_ivato`)' : '(`prezzo_unitario`-`sconto_unitario`)').' AS prezzo_ultimo FROM `co_righe_documenti` INNER JOIN `co_documenti` ON `co_documenti`.`id`=`co_righe_documenti`.`iddocumento` INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id`=`co_documenti`.`idtipodocumento` WHERE `idarticolo`='.prepare($id_articolo).' AND `idanagrafica`='.prepare($id_anagrafica).' AND `co_tipidocumento`.`dir`='.prepare($direzione).' ORDER BY `data` DESC LIMIT 0,1');
$results = array_merge($prezzi, $listino, $listini_sempre_visibili, $prezzo_articolo, $ultimo_prezzo);
diff --git a/modules/articoli/init.php b/modules/articoli/init.php
index 400c615d1..fd53cf8b3 100755
--- a/modules/articoli/init.php
+++ b/modules/articoli/init.php
@@ -21,7 +21,7 @@ include_once __DIR__.'/../../core.php';
use Modules\Articoli\Articolo;
-if (isset($id_record)) {
+if (!empty($id_record)) {
$articolo = Articolo::withTrashed()->find($id_record);
$record = $dbo->fetchOne('SELECT *, `mg_articoli_lang`.`name` as descrizione, (SELECT COUNT(id) FROM `mg_prodotti` WHERE `id_articolo` = `mg_articoli`.`id`) AS serial FROM `mg_articoli` LEFT JOIN `mg_articoli_lang` ON (`mg_articoli_lang`.`id_record` = `mg_articoli`.`id` AND `mg_articoli_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `mg_articoli`.`id`='.prepare($id_record));
diff --git a/modules/articoli/modutil.php b/modules/articoli/modutil.php
index 7f5ddeb76..a84c01af4 100755
--- a/modules/articoli/modutil.php
+++ b/modules/articoli/modutil.php
@@ -32,19 +32,19 @@ if (!function_exists('aggiorna_sedi_movimenti')) {
$idsede = ($rs[0]['dir'] == 'uscita') ? $rs[0]['idsede_destinazione'] : $rs[0]['idsede_partenza'];
- $dbo->query('UPDATE `mg_movimenti` SET `idsede`='.prepare($idsede).' WHERE `reference_type`='.prepare('Modules\DDT\DDT').' AND `reference_id`='.prepare($id));
+ $dbo->query('UPDATE `mg_movimenti` SET `idsede`='.prepare($idsede).' WHERE `reference_type`='.prepare(Modules\DDT\DDT::class).' AND `reference_id`='.prepare($id));
} elseif ($module == 'documenti') {
$rs = $dbo->fetchArray('SELECT `idsede_partenza`, `idsede_destinazione`, `dir` FROM `co_documenti` INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` WHERE `co_documenti`.`id`='.prepare($id));
$idsede = ($rs[0]['dir'] == 'uscita') ? $rs[0]['idsede_destinazione'] : $rs[0]['idsede_partenza'];
- $dbo->query('UPDATE mg_movimenti SET idsede='.prepare($idsede).' WHERE reference_type='.prepare('Modules\Fatture\Fattura').' AND reference_id='.prepare($id));
+ $dbo->query('UPDATE mg_movimenti SET idsede='.prepare($idsede).' WHERE reference_type='.prepare(Modules\Fatture\Fattura::class).' AND reference_id='.prepare($id));
} elseif ($module == 'interventi') {
$rs = $dbo->fetchArray('SELECT idsede_partenza, idsede_destinazione FROM in_interventi WHERE in_interventi.id='.prepare($id));
$idsede = $rs[0]['idsede_partenza'];
- $dbo->query('UPDATE mg_movimenti SET idsede='.prepare($idsede).' WHERE reference_type='.prepare('Modules\Interventi\Intervento').' AND reference_id='.prepare($id));
+ $dbo->query('UPDATE mg_movimenti SET idsede='.prepare($idsede).' WHERE reference_type='.prepare(Modules\Interventi\Intervento::class).' AND reference_id='.prepare($id));
}
}
}
diff --git a/modules/articoli/plugins/articoli.movimenti.php b/modules/articoli/plugins/articoli.movimenti.php
index 473af72fd..71c64a3d8 100755
--- a/modules/articoli/plugins/articoli.movimenti.php
+++ b/modules/articoli/plugins/articoli.movimenti.php
@@ -149,7 +149,7 @@ if (!empty($movimenti)) {
// Data
$utente = $dbo->table('zz_users')->where('id', $movimento->idutente)->first();
- $data = ($movimento->data ? $movimento->data : $movimento->data_movimento);
+ $data = ($movimento->data ?: $movimento->data_movimento);
echo '
| '.dateFormat($data).'
+
'.$r['ragione_sociale'].'
| ';
@@ -37,7 +37,7 @@ if (!empty($rs_art)) {
// Data di fine
echo '
- {[ "type": "date", "name": "data_fine['.$r['id'].']", "required": 1, "value": "'.$r['data_fine'].'", "min-date": "'.$r['data_inizio'].'" ]}
+ {[ "type": "date", "name": "data_fine['.$r['id'].']", "value": "'.$r['data_fine'].'", "min-date": "'.$r['data_inizio'].'" ]}
| ';
// Pulsanti per aggiornamento date tecnici
diff --git a/modules/backups/actions.php b/modules/backups/actions.php
index 890e652b6..fdc68cb54 100755
--- a/modules/backups/actions.php
+++ b/modules/backups/actions.php
@@ -98,10 +98,11 @@ if (filter('op') == 'restore') {
return;
}
- if (filter('number') == null) {
+ $number = filter('number');
+ if ($number === null) {
$path = $_FILES['blob']['tmp_name'];
} else {
- $number = filter('number');
+ $number != '' ? $number : 0;
$number = intval($number);
$backups = Backup::getList();
diff --git a/modules/banche/init.php b/modules/banche/init.php
index 01cc200ab..48c961098 100755
--- a/modules/banche/init.php
+++ b/modules/banche/init.php
@@ -21,7 +21,7 @@ use Modules\Banche\Banca;
include_once __DIR__.'/../../core.php';
-if (isset($id_record)) {
+if (!empty($id_record)) {
$banca = Banca::find($id_record);
if (!empty($banca)) {
diff --git a/modules/banche/src/Banca.php b/modules/banche/src/Banca.php
index b092686ab..3f851b158 100644
--- a/modules/banche/src/Banca.php
+++ b/modules/banche/src/Banca.php
@@ -82,7 +82,7 @@ class Banca extends Model
protected function fixPredefined()
{
- $predefined = isset($this->predefined) ? $this->predefined : false;
+ $predefined = $this->predefined ?? false;
// Selezione automatica per primo record
$count = self::where('id_anagrafica', $this->id_anagrafica)
diff --git a/modules/beni/actions.php b/modules/beni/actions.php
index 64b02f2cd..a3cf593ff 100755
--- a/modules/beni/actions.php
+++ b/modules/beni/actions.php
@@ -23,7 +23,7 @@ switch (post('op')) {
case 'update':
$descrizione = post('descrizione');
- if ($dbo->fetchNum('SELECT * FROM `dt_aspettobeni` LEFT JOIN `dt_aspettobeni_lang` ON (`dt_aspettobeni`.`id`=`dt_aspettobeni_lang`.`id_record` AND `dt_aspettobeni_lang`.`id_lang`='.prepare(Models\Locale::getDefault()->id).') WHERE `name`='.prepare($descrizione).' AND `dt_aspettobeni`.`id`!='.prepare($id_record)) == 0) {
+ if (empty($dbo->fetchArray('SELECT * FROM `dt_aspettobeni` LEFT JOIN `dt_aspettobeni_lang` ON (`dt_aspettobeni`.`id`=`dt_aspettobeni_lang`.`id_record` AND `dt_aspettobeni_lang`.`id_lang`='.prepare(Models\Locale::getDefault()->id).') WHERE `name`='.prepare($descrizione).' AND `dt_aspettobeni`.`id`!='.prepare($id_record)))) {
$dbo->query('UPDATE `dt_aspettobeni_lang` SET `name`='.prepare($descrizione).' WHERE `id_record`='.prepare($id_record)).' AND `id_lang`='.prepare(Models\Locale::getDefault()->id);
flash()->info(tr('Salvataggio completato.'));
} else {
@@ -34,7 +34,7 @@ switch (post('op')) {
case 'add':
$descrizione = post('descrizione');
- if ($dbo->fetchNum('SELECT * FROM `dt_aspettobeni_lang` WHERE `name`='.prepare($descrizione)) == 0) {
+ if (empty($dbo->fetchArray('SELECT * FROM `dt_aspettobeni` LEFT JOIN `dt_aspettobeni_lang` ON (`dt_aspettobeni`.`id`=`dt_aspettobeni_lang`.`id_record` AND `dt_aspettobeni_lang`.`id_lang`='.prepare(Models\Locale::getDefault()->id).') WHERE `name`='.prepare($descrizione)))) {
$dbo->query('INSERT INTO `dt_aspettobeni` (`created_at`) VALUES (NOW())');
$id_record = $dbo->lastInsertedID();
@@ -54,7 +54,7 @@ switch (post('op')) {
case 'delete':
$documenti = $dbo->fetchNum('SELECT `id` FROM `dt_ddt` WHERE `idaspettobeni`='.prepare($id_record).' UNION SELECT `id` FROM `co_documenti` WHERE `idaspettobeni`='.prepare($id_record));
- if (isset($id_record) && empty($documenti)) {
+ if ((!empty($id_record)) && empty($documenti)) {
$dbo->query('DELETE FROM `dt_aspettobeni` WHERE `id`='.prepare($id_record));
flash()->info(tr('Aspetto beni eliminato con successo.'));
} else {
diff --git a/modules/beni/init.php b/modules/beni/init.php
index 4b455d269..034ad0f35 100755
--- a/modules/beni/init.php
+++ b/modules/beni/init.php
@@ -19,6 +19,6 @@
include_once __DIR__.'/../../core.php';
-if (isset($id_record)) {
+if (!empty($id_record)) {
$record = $dbo->fetchOne('SELECT * FROM `dt_aspettobeni` LEFT JOIN `dt_aspettobeni_lang` ON (`dt_aspettobeni`.`id`=`dt_aspettobeni_lang`.`id_record` AND `dt_aspettobeni_lang`.`id_lang`='.prepare(Models\Locale::getDefault()->id).') WHERE `dt_aspettobeni`.`id`='.prepare($id_record));
}
diff --git a/modules/categorie_articoli/add.php b/modules/categorie_articoli/add.php
index 0bc685e29..4b7952351 100755
--- a/modules/categorie_articoli/add.php
+++ b/modules/categorie_articoli/add.php
@@ -21,7 +21,7 @@ include_once __DIR__.'/../../core.php';
$id_original = filter('id_original');
-if (isset($id_record)) {
+if (!empty($id_record)) {
include __DIR__.'/init.php';
}
@@ -29,7 +29,7 @@ if (isset($id_record)) {
if (isset($id_original)) {
echo base_path().'/controller.php?id_module='.$id_module;
- if (isset($id_record)) {
+ if (!empty($id_record)) {
echo '&id_record='.$id_record;
}
}
@@ -58,7 +58,7 @@ if (isset($id_original)) {
fetchOne('SELECT * FROM `mg_categorie` LEFT JOIN `mg_categorie_lang` ON (`mg_categorie`.`id`=`mg_categorie_lang`.`id_record` AND `mg_categorie_lang`.`id_lang`='.prepare(Models\Locale::getDefault()->id).') WHERE `mg_categorie`.`id`='.prepare($id_record));
$categoria = Categoria::find($id_record);
diff --git a/modules/categorie_documenti/edit.php b/modules/categorie_documenti/edit.php
index 315493df2..41dd858be 100755
--- a/modules/categorie_documenti/edit.php
+++ b/modules/categorie_documenti/edit.php
@@ -37,7 +37,7 @@ if ($record['doc_associati'] > 0) {
- {[ "type": "select", "label": "", "name": "permessi[]", "value": "$permessi$", "values": "query=SELECT `zz_groups`.`id`, `zz_groups_lang`.`name` AS text FROM `zz_groups`", "multiple": 1 ]}
+ {[ "type": "select", "label": "", "name": "permessi[]", "value": "$permessi$", "values": "query=SELECT `zz_groups`.`id`, `zz_groups_lang`.`name` AS text FROM `zz_groups` LEFT JOIN `zz_groups_lang` ON (`zz_groups`.`id` = `zz_groups_lang`.`id_record` AND `zz_groups_lang`.`id_lang` = id); ?>)", "multiple": 1 ]}
diff --git a/modules/categorie_documenti/init.php b/modules/categorie_documenti/init.php
index f74b68d8b..7d6f30c6f 100755
--- a/modules/categorie_documenti/init.php
+++ b/modules/categorie_documenti/init.php
@@ -21,7 +21,7 @@ include_once __DIR__.'/../../core.php';
use Modules\CategorieDocumentali\Categoria;
-if (isset($id_record)) {
+if (!empty($id_record)) {
$categoria = Categoria::find($id_record);
$record = $dbo->fetchOne('SELECT *,
diff --git a/modules/categorie_impianti/actions.php b/modules/categorie_impianti/actions.php
index ffed09eb6..1b98d6d9c 100755
--- a/modules/categorie_impianti/actions.php
+++ b/modules/categorie_impianti/actions.php
@@ -99,7 +99,7 @@ switch (filter('op')) {
$id = $id_record;
}
- if ($dbo->fetchNum('SELECT * FROM `my_impianti` WHERE (`id_categoria`='.prepare($id).' OR `id_sottocategoria`='.prepare($id).' OR `id_sottocategoria` IN (SELECT `id` FROM `my_impianti_categorie` WHERE `parent`='.prepare($id).')) AND `deleted_at` IS NULL') == 0) {
+ if (empty($dbo->fetchArray('SELECT * FROM `my_impianti` WHERE (`id_categoria`='.prepare($id).' OR `id_sottocategoria`='.prepare($id).' OR `id_sottocategoria` IN (SELECT `id` FROM `my_impianti_categorie` WHERE `parent`='.prepare($id).'))'))) {
$dbo->query('DELETE FROM `my_impianti_categorie` WHERE `id`='.prepare($id));
flash()->info(tr('_TYPE_ eliminata con successo!', [
diff --git a/modules/categorie_impianti/add.php b/modules/categorie_impianti/add.php
index 28e3165a1..95397f906 100755
--- a/modules/categorie_impianti/add.php
+++ b/modules/categorie_impianti/add.php
@@ -21,7 +21,7 @@ include_once __DIR__.'/../../core.php';
$id_original = filter('id_original');
-if (isset($id_record)) {
+if (!empty($id_record)) {
include __DIR__.'/init.php';
}
@@ -29,7 +29,7 @@ if (isset($id_record)) {
if (isset($id_original)) {
echo base_path().'/controller.php?id_module='.$id_module;
- if (isset($id_record)) {
+ if (!empty($id_record)) {
echo '&id_record='.$id_record;
}
}
@@ -58,7 +58,7 @@ if (isset($id_original)) {
fetchOne('SELECT * FROM `my_impianti_categorie` LEFT JOIN `my_impianti_categorie_lang` ON (`my_impianti_categorie`.`id`=`my_impianti_categorie_lang`.`id_record` AND `my_impianti_categorie_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `my_impianti_categorie`.`id`='.prepare($id_record));
$categoria = Categoria::find($id_record);
diff --git a/modules/causali/actions.php b/modules/causali/actions.php
index 10be28ba7..cc094fbac 100755
--- a/modules/causali/actions.php
+++ b/modules/causali/actions.php
@@ -25,7 +25,7 @@ switch (filter('op')) {
$predefined = post('predefined');
if (isset($descrizione)) {
- if ($dbo->fetchNum('SELECT * FROM `dt_causalet` LEFT JOIN `dt_causalet_lang` ON (`dt_causalet`.`id` = `dt_causalet_lang`.`id_record` AND `dt_causalet_lang`.`id_lang` ='.prepare(Models\Locale::getDefault()->id).') WHERE `deleted_at` IS NULL AND `name`='.prepare($descrizione).' AND `dt_causalet`.`id`!='.prepare($id_record)) == 0) {
+ if (empty($dbo->fetchArray('SELECT * FROM `dt_causalet` LEFT JOIN `dt_causalet_lang` ON (`dt_causalet`.`id` = `dt_causalet_lang`.`id_record` AND `dt_causalet_lang`.`id_lang` ='.prepare(Models\Locale::getDefault()->id).') WHERE `deleted_at` IS NULL AND `name`='.prepare($descrizione).' AND `dt_causalet`.`id`!='.prepare($id_record)))) {
if (!empty($predefined)) {
$dbo->query('UPDATE dt_causalet SET predefined = 0');
}
@@ -55,7 +55,7 @@ switch (filter('op')) {
$descrizione = filter('descrizione');
if (isset($descrizione)) {
- if ($dbo->fetchNum('SELECT * FROM `dt_causalet` LEFT JOIN `dt_causalet_lang` ON (`dt_causalet`.`id` = `dt_causalet_lang`.`id_record` AND `dt_causalet_lang`.`id_lang` ='.prepare(Models\Locale::getDefault()->id).') WHERE `deleted_at` IS NULL AND `name`='.prepare($descrizione)) == 0) {
+ if (empty($dbo->fetchArray('SELECT * FROM `dt_causalet` LEFT JOIN `dt_causalet_lang` ON (`dt_causalet`.`id` = `dt_causalet_lang`.`id_record` AND `dt_causalet_lang`.`id_lang` ='.prepare(Models\Locale::getDefault()->id).') WHERE `deleted_at` IS NULL AND `name`='.prepare($descrizione)))) {
$dbo->insert('dt_causalet', [
'is_importabile' => 1,
]);
@@ -83,7 +83,7 @@ switch (filter('op')) {
case 'delete':
$documenti = $dbo->fetchNum('SELECT `id` FROM `dt_ddt` WHERE `idcausalet`='.prepare($id_record).' UNION SELECT `id` FROM `co_documenti` WHERE `idcausalet`='.prepare($id_record));
- if (isset($id_record) && empty($documenti)) {
+ if ((!empty($id_record)) && empty($documenti)) {
$dbo->query('DELETE FROM `dt_causalet` WHERE `id`='.prepare($id_record));
} else {
$dbo->update('dt_causalet', [
diff --git a/modules/causali/init.php b/modules/causali/init.php
index 0ca784b37..50978af0b 100755
--- a/modules/causali/init.php
+++ b/modules/causali/init.php
@@ -19,6 +19,6 @@
include_once __DIR__.'/../../core.php';
-if (isset($id_record)) {
+if (!empty($id_record)) {
$record = $dbo->fetchOne('SELECT * FROM `dt_causalet` LEFT JOIN `dt_causalet_lang` ON (`dt_causalet`.`id` = `dt_causalet_lang`.`id_record` AND `dt_causalet_lang`.`id_lang` ='.prepare(Models\Locale::getDefault()->id).') WHERE `dt_causalet`.`id`='.prepare($id_record));
}
diff --git a/modules/causali_movimenti/actions.php b/modules/causali_movimenti/actions.php
index 525312d30..942ff1afb 100755
--- a/modules/causali_movimenti/actions.php
+++ b/modules/causali_movimenti/actions.php
@@ -21,7 +21,7 @@ include_once __DIR__.'/../../core.php';
switch (filter('op')) {
case 'update':
- if (isset($id_record)) {
+ if (!empty($id_record)) {
$database->update('mg_causali_movimenti', [
'tipo_movimento' => post('tipo_movimento'),
], ['id' => $id_record]);
@@ -49,7 +49,7 @@ switch (filter('op')) {
break;
case 'delete':
- if (isset($id_record)) {
+ if (!empty($id_record)) {
$dbo->query('DELETE FROM `mg_causali_movimenti` WHERE `id`='.prepare($id_record));
flash()->info(tr('Tipologia di _TYPE_ eliminata con successo!', [
diff --git a/modules/causali_movimenti/init.php b/modules/causali_movimenti/init.php
index d34ce0ed6..c0fd29588 100755
--- a/modules/causali_movimenti/init.php
+++ b/modules/causali_movimenti/init.php
@@ -19,6 +19,6 @@
include_once __DIR__.'/../../core.php';
-if (isset($id_record)) {
+if (!empty($id_record)) {
$record = $dbo->fetchOne('SELECT * FROM `mg_causali_movimenti` LEFT JOIN `mg_causali_movimenti_lang` ON (`mg_causali_movimenti`.`id` = `mg_causali_movimenti_lang`.`id_record` AND `mg_causali_movimenti_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `mg_causali_movimenti`.`id`='.prepare($id_record));
}
diff --git a/modules/checklists/components/edit-check.php b/modules/checklists/components/edit-check.php
index db172eeb9..5e854925e 100644
--- a/modules/checklists/components/edit-check.php
+++ b/modules/checklists/components/edit-check.php
@@ -64,6 +64,7 @@ if ($main_check) {
$.post('/modules/checklists/ajax.php', {
op: "edit_check",
+ id_module: globals.id_module,
id_record: "",
content: input('content_edit').get(),
is_titolo: input('is_titolo').get(),
diff --git a/modules/checklists/edit.php b/modules/checklists/edit.php
index 11f7bf8a7..592dfe2d5 100755
--- a/modules/checklists/edit.php
+++ b/modules/checklists/edit.php
@@ -41,7 +41,7 @@ echo '
- {[ "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(Models\Locale::getDefault()->id).') LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') 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`.`idmodule_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(Models\Locale::getDefault()->id).') LEFT JOIN `zz_plugins_lang` ON (`zz_plugins`.`id` = `zz_plugins_lang`.`id_record` AND `zz_plugins_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `zz_plugins`.`enabled` = 1", "value": "'.$record->id_plugin.'", "disabled": "'.!empty($record->id_module).'" ]}
@@ -211,6 +211,8 @@ function delete_check(id){
op: "delete_check",
id: id,
main_check: 1,
+ id_module: globals.id_module,
+ id_record: id,
}, function(){
location.reload();
});
diff --git a/modules/checklists/init.php b/modules/checklists/init.php
index 7df86ff42..5be68145d 100755
--- a/modules/checklists/init.php
+++ b/modules/checklists/init.php
@@ -24,6 +24,6 @@ use Modules\Checklists\Checklist;
$checklist_module = Module::find((new Module())->getByField('name', 'Checklists', Models\Locale::getPredefined()->id));
-if (isset($id_record)) {
+if (!empty($id_record)) {
$record = Checklist::find($id_record);
}
diff --git a/modules/combinazioni_articoli/actions.php b/modules/combinazioni_articoli/actions.php
index 3627f567b..96766889b 100644
--- a/modules/combinazioni_articoli/actions.php
+++ b/modules/combinazioni_articoli/actions.php
@@ -21,8 +21,8 @@ switch (filter('op')) {
}
$combinazione->setTranslation('name', $nome);
$combinazione->codice = post('codice');
- $combinazione->id_categoria = post('id_categoria');
- $combinazione->id_sottocategoria = post('id_sottocategoria');
+ $combinazione->id_categoria = post('id_categoria')?: null;
+ $combinazione->id_sottocategoria = post('id_sottocategoria')?: null;
$combinazione->save();
$id_record = $combinazione->id;
diff --git a/modules/combinazioni_articoli/src/Combinazione.php b/modules/combinazioni_articoli/src/Combinazione.php
index 158314992..bce36ddff 100644
--- a/modules/combinazioni_articoli/src/Combinazione.php
+++ b/modules/combinazioni_articoli/src/Combinazione.php
@@ -73,9 +73,7 @@ class Combinazione extends Model
$result = parent::save($options);
// Sincronizzazione dei campi condivisi con la Combinazione
- $sincro = collect($this->toArray())->filter(function ($value, $key) {
- return in_array($key, self::$campi_combinazione);
- });
+ $sincro = collect($this->toArray())->filter(fn ($value, $key) => in_array($key, self::$campi_combinazione));
$this->sincronizzaCampi($sincro->toArray());
return $result;
@@ -178,9 +176,7 @@ class Combinazione extends Model
return;
}
- $sincro = collect($articolo->toArray())->filter(function ($value, $key) {
- return in_array($key, self::$campi_varianti);
- });
+ $sincro = collect($articolo->toArray())->filter(fn ($value, $key) => in_array($key, self::$campi_varianti));
$combinazione->sincronizzaCampi($sincro->toArray());
}
@@ -219,9 +215,7 @@ class Combinazione extends Model
->update($values);
// Filtro campi combinazioni
- $combo = collect($values)->filter(function ($value, $key) {
- return in_array($key, self::$campi_combinazione);
- });
+ $combo = collect($values)->filter(fn ($value, $key) => in_array($key, self::$campi_combinazione));
// Aggiornamento dati combinazioni
database()->table('mg_combinazioni')
diff --git a/modules/contratti/actions.php b/modules/contratti/actions.php
index 37dc424bb..d2ee57542 100644
--- a/modules/contratti/actions.php
+++ b/modules/contratti/actions.php
@@ -110,8 +110,11 @@ switch (post('op')) {
$contratto->save();
$dbo->query('DELETE FROM my_impianti_contratti WHERE idcontratto='.prepare($id_record));
- foreach ((array) post('matricolaimpianto') as $matricolaimpianto) {
- $dbo->query('INSERT INTO my_impianti_contratti(idcontratto,idimpianto) VALUES('.prepare($id_record).', '.prepare($matricolaimpianto).')');
+ $matricola = post('matricolaimpianto');
+ if ($matricola) {
+ foreach ([$matricola] as $matricolaimpianto) {
+ $dbo->query('INSERT INTO my_impianti_contratti(idcontratto,idimpianto) VALUES('.prepare($id_record).', '.prepare($matricolaimpianto).')');
+ }
}
// Salvataggio costi attività unitari del contratto
@@ -317,7 +320,7 @@ switch (post('op')) {
// Scollegamento intervento da contratto
case 'unlink':
- if (get('idcontratto') !== null && get('idintervento') !== null) {
+ if (!empty(get('idcontratto')) && !empty(get('idintervento'))) {
$idcontratto = get('idcontratto');
$idintervento = get('idintervento');
diff --git a/modules/contratti/add.php b/modules/contratti/add.php
index 2c7e7ad9b..e462dee37 100755
--- a/modules/contratti/add.php
+++ b/modules/contratti/add.php
@@ -33,7 +33,7 @@ echo '
-
+
diff --git a/modules/contratti/bulk.php b/modules/contratti/bulk.php
index 40a38b668..3869b58ba 100755
--- a/modules/contratti/bulk.php
+++ b/modules/contratti/bulk.php
@@ -34,7 +34,7 @@ use Plugins\PianificazioneInterventi\Promemoria;
$id_fatture = (new Module())->getByField('name', 'Fatture di vendita', Models\Locale::getPredefined()->id);
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;
+ $_SESSION['module_'.$id_fatture]['id_segment'] = $segments[0]['id'] ?? null;
}
$id_segment = $_SESSION['module_'.$id_fatture]['id_segment'];
$idconto = setting('Conto predefinito fatture di vendita');
@@ -77,13 +77,9 @@ switch (post('op')) {
// Ricerca fattura per anagrafica tra le registrate
$id_sede = $raggruppamento == 'sede' ? $documento_import->idsede : 0;
if ($raggruppamento == 'sede') {
- $fattura = $documenti->first(function ($item, $key) use ($id_anagrafica, $id_sede) {
- return $item->anagrafica->id == $id_anagrafica && $item->idsede_destinazione == $id_sede;
- });
+ $fattura = $documenti->first(fn ($item, $key) => $item->anagrafica->id == $id_anagrafica && $item->idsede_destinazione == $id_sede);
} else {
- $fattura = $documenti->first(function ($item, $key) use ($id_anagrafica) {
- return $item->anagrafica->id == $id_anagrafica;
- });
+ $fattura = $documenti->first(fn ($item, $key) => $item->anagrafica->id == $id_anagrafica);
}
// Ricerca fattura per anagrafica se l'impostazione di accodamento è selezionata
@@ -123,7 +119,7 @@ switch (post('op')) {
// Fix per idconto righe fattura
$articolo = ArticoloOriginale::find($copia->idarticolo);
- $copia->id_conto = ($articolo->idconto_vendita ? $articolo->idconto_vendita : $idconto);
+ $copia->id_conto = ($articolo->idconto_vendita ?: $idconto);
// Aggiornamento seriali dalla riga dell'ordine
if ($copia->isArticolo()) {
@@ -271,7 +267,7 @@ $operations['crea_fattura'] = [
'title' => tr('Fatturare i _TYPE_ selezionati?', ['_TYPE_' => strtolower($module->getTranslation('name'))]),
'msg' => '{[ "type": "checkbox", "label": "
'.tr('Aggiungere alle fatture di vendita non ancora emesse?').'", "placeholder": "'.tr('Aggiungere alle fatture esistenti non ancora emesse?').'", "name": "accodare" ]}
{[ "type": "select", "label": "'.tr('Sezionale').'", "name": "id_segment", "required": 1, "ajax-source": "segmenti", "select-options": '.json_encode(['id_module' => $id_fatture, 'is_sezionale' => 1]).', "value": "'.$id_segment.'", "select-options-escape": true ]}
- {[ "type": "select", "label": "'.tr('Tipo documento').'", "name": "idtipodocumento", "required": 1, "values": "query=SELECT `co_tipidocumento`.`id`, CONCAT(`codice_tipo_documento_fe`, \' - \', `name`) AS descrizione FROM `co_tipidocumento` LEFT JOIN ` co_tipidocumento_lang` ON (`co_tipidocumento`.`id` = `co_tipidocumento_lang`.`id_record` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `enabled` = 1 AND `dir` =\'entrata\' ORDER BY `codice_tipo_documento_fe`", "value": "'.$idtipodocumento.'" ]}
+ {[ "type": "select", "label": "'.tr('Tipo documento').'", "name": "idtipodocumento", "required": 1, "values": "query=SELECT `co_tipidocumento`.`id`, CONCAT(`codice_tipo_documento_fe`, \' - \', `name`) AS descrizione FROM `co_tipidocumento` LEFT JOIN `co_tipidocumento_lang` ON (`co_tipidocumento`.`id` = `co_tipidocumento_lang`.`id_record` AND `co_tipidocumento_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') WHERE `enabled` = 1 AND `dir` =\'entrata\' ORDER BY `codice_tipo_documento_fe`", "value": "'.$idtipodocumento.'" ]}
{[ "type": "select", "label": "'.tr('Raggruppa per').'", "name": "raggruppamento", "required": 1, "values": "list=\"cliente\":\"Cliente\",\"sede\":\"Sede\"" ]}',
'button' => tr('Procedi'),
'class' => 'btn btn-lg btn-warning',
@@ -294,7 +290,7 @@ $operations['cambia_stato'] = [
'text' => '
'.tr('Cambia stato'),
'data' => [
'title' => tr('Vuoi davvero aggiornare lo stato di questi contratti?'),
- 'msg' => '
{[ "type": "select", "label": "'.tr('Stato').'", "name": "id_stato", "required": 1, "values": "query=SELECT `co_staticontratti`.`id`, `name` AS descrizione, `colore` as _bgcolor_ FROM `co_staticontratti` LEFT JOIN `co_staticontratti_lang ON (`co_staticontratti`.`id` = `co_staticontratti_lang`.`id_record` AND `co_staticontratti_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') ORDER BY `name`" ]}',
+ 'msg' => '
{[ "type": "select", "label": "'.tr('Stato').'", "name": "id_stato", "required": 1, "values": "query=SELECT `co_staticontratti`.`id`, `name` AS descrizione, `colore` as _bgcolor_ FROM `co_staticontratti` LEFT JOIN `co_staticontratti_lang` ON (`co_staticontratti`.`id` = `co_staticontratti_lang`.`id_record` AND `co_staticontratti_lang`.`id_lang` = '.prepare(Models\Locale::getDefault()->id).') ORDER BY `name`" ]}',
'button' => tr('Procedi'),
'class' => 'btn btn-lg btn-warning',
'blank' => false,
diff --git a/modules/contratti/edit.php b/modules/contratti/edit.php
index 783dffd9f..6b689dbe1 100755
--- a/modules/contratti/edit.php
+++ b/modules/contratti/edit.php
@@ -21,8 +21,10 @@ include_once __DIR__.'/../../core.php';
use Models\Module;
$block_edit = $record['is_completato'];
+$data_accettazione = $record['data_accettazione'] ? strtotime($record['data_accettazione']) : '';
+$data_conclusione = $record['data_conclusione'] ? strtotime($record['data_conclusione']) : '';
-if (strtotime($record['data_conclusione']) < strtotime($record['data_accettazione']) && !empty(strtotime($record['data_accettazione'])) && !empty(strtotime($record['data_conclusione']))) {
+if ($data_conclusione < $data_accettazione && !empty($data_accettazione) && !empty($data_conclusione)) {
echo '
'.tr('Attenzione! La data di accettazione supera la data di conclusione del contratto. Verificare le informazioni inserite.').'
';
}
@@ -54,7 +56,7 @@ if (strtotime($record['data_conclusione']) < strtotime($record['data_accettazion
- {[ "type": "date", "label": "", "name": "data_conclusione", "value": "$data_conclusione$", "disabled": "isDataConclusioneAutomatica() ? '1", "help": "'.tr('La Data di conclusione è calcolata in automatico in base al valore del campo Validità contratto, se definita') : '0'; ?>" ]}
+ {[ "type": "date", "label": "", "name": "data_conclusione", "value": "$data_conclusione$", "disabled": "isDataConclusioneAutomatica() ? '1", "help": "'.tr('La Data di conclusione è calcolata in automatico in base al valore del campo Validità contratto, se definita') : '0') : ''; ?>" ]}
@@ -403,11 +405,11 @@ echo '