From 9e8e5f01d363b9308f9f909ca1e01fce58c4781e Mon Sep 17 00:00:00 2001 From: Thomas Zilio Date: Tue, 10 Jul 2018 16:39:02 +0200 Subject: [PATCH] Fix immagini Articoli e Impianti --- modules/articoli/actions.php | 26 +++++---- modules/articoli/edit.php | 8 +-- modules/my_impianti/actions.php | 94 +++++++++++++++++++-------------- modules/my_impianti/edit.php | 14 +++-- update/2_4_1.sql | 11 +++- 5 files changed, 94 insertions(+), 59 deletions(-) diff --git a/modules/articoli/actions.php b/modules/articoli/actions.php index 72ff5f7dd..d5443d691 100644 --- a/modules/articoli/actions.php +++ b/modules/articoli/actions.php @@ -69,8 +69,8 @@ switch (post('op')) { } // Upload file - if (!empty($_FILES) && !empty($_FILES['immagine01']['name'])) { - $filename = Uploads::upload($_FILES['immagine01'], [ + if (!empty($_FILES) && !empty($_FILES['immagine']['name'])) { + $filename = Uploads::upload($_FILES['immagine'], [ 'name' => 'Immagine', 'id_module' => $id_module, 'id_record' => $id_record, @@ -79,7 +79,11 @@ switch (post('op')) { ]); if (!empty($filename)) { - $dbo->query('UPDATE mg_articoli SET immagine01='.prepare($filename).' WHERE id='.prepare($id_record)); + $dbo->update('mg_articoli', [ + 'immagine' => $filename, + ], [ + 'id' => $id_record, + ]); } else { $_SESSION['warnings'][] = tr('Errore durante il caricamento del file in _DIR_!', [ '_DIR_' => $upload_dir, @@ -88,13 +92,17 @@ switch (post('op')) { } // Eliminazione file - if (post('delete_immagine01') !== null) { - Uploads::delete($records[0]['immagine01'], [ + if (post('delete_immagine') !== null) { + Uploads::delete($records[0]['immagine'], [ 'id_module' => $id_module, 'id_record' => $id_record, ]); - $dbo->query("UPDATE mg_articoli SET immagine01 = '' WHERE id=".prepare($id_record)); + $dbo->update('mg_articoli', [ + 'immagine' => null, + ], [ + 'id' => $id_record, + ]); } $_SESSION['infos'][] = tr('Informazioni salvate correttamente!'); @@ -252,15 +260,15 @@ switch (post('op')) { } // Operazioni aggiuntive per l'immagine -if (filter('op') == 'unlink_file' && filter('filename') == $records[0]['immagine01']) { +if (filter('op') == 'unlink_file' && filter('filename') == $records[0]['immagine']) { $dbo->update('mg_articoli', [ - 'immagine01' => '', + 'immagine' => null, ], [ 'id' => $id_record, ]); } elseif (filter('op') == 'link_file' && filter('nome_allegato') == 'Immagine') { $dbo->update('mg_articoli', [ - 'immagine01' => $upload, + 'immagine' => $upload, ], [ 'id' => $id_record, ]); diff --git a/modules/articoli/edit.php b/modules/articoli/edit.php index 6073da451..26d28376b 100644 --- a/modules/articoli/edit.php +++ b/modules/articoli/edit.php @@ -8,12 +8,12 @@ include_once Modules::filepath('MyImpianti', 'modutil.php'); $_SESSION['superselect']['id_categoria'] = $records[0]['id_categoria']; $img = null; -if (!empty($records[0]['immagine01'])) { - $fileinfo = Uploads::fileInfo($records[0]['immagine01']); +if (!empty($records[0]['immagine'])) { + $fileinfo = Uploads::fileInfo($records[0]['immagine']); $default_img = '/'.Uploads::getUploadDirectory($id_module).'/'.$fileinfo['filename'].'_thumb600.'.$fileinfo['extension']; - $img = file_exists(DOCROOT.$default_img) ? ROOTDIR.$default_img : ROOTDIR.'/'.Uploads::getUploadDirectory($id_module).'/'.$records[0]['immagine01']; + $img = file_exists(DOCROOT.$default_img) ? ROOTDIR.$default_img : ROOTDIR.'/'.Uploads::getUploadDirectory($id_module).'/'.$records[0]['immagine']; } ?>
@@ -29,7 +29,7 @@ if (!empty($records[0]['immagine01'])) {
- {[ "type": "image", "label": "", "name": "immagine01", "class": "img-thumbnail", "value": "" ]} + {[ "type": "image", "label": "", "name": "immagine", "class": "img-thumbnail", "value": "" ]}
diff --git a/modules/my_impianti/actions.php b/modules/my_impianti/actions.php index 7a39447c1..a0be3bb19 100644 --- a/modules/my_impianti/actions.php +++ b/modules/my_impianti/actions.php @@ -12,50 +12,41 @@ switch ($op) { $matricola = post('matricola'); if (!empty($matricola)) { - $idanagrafica = post('idanagrafica'); - $data = Translator::dateToEnglish($_POST['data']); - $idtecnico = post('idtecnico'); - $idsede = post('idsede'); - $nome = post('nome'); - $descrizione = post('descrizione'); - - $proprietario = post('proprietario'); - $palazzo = post('palazzo'); - $ubicazione = post('ubicazione'); - $scala = post('scala'); - $piano = post('piano'); - $interno = post('interno'); - $occupante = post('occupante'); - - $query = 'UPDATE my_impianti SET '. - ' idanagrafica='.prepare($idanagrafica).','. - ' nome='.prepare($nome).','. - ' matricola='.prepare($matricola).','. - ' descrizione='.prepare($descrizione).','. - ' idsede='.prepare($idsede).','. - ' data='.prepare($data).','. - ' proprietario='.prepare($proprietario).','. - ' palazzo='.prepare($palazzo).','. - ' ubicazione='.prepare($ubicazione).','. - ' idtecnico='.prepare($idtecnico).','. - ' scala='.prepare($scala).','. - ' piano='.prepare($piano).','. - ' interno='.prepare($interno).','. - ' occupante='.prepare($occupante). - ' WHERE id='.prepare($id_record); - $dbo->query($query); + $dbo->update('my_impianti', [ + 'idanagrafica' => post('idanagrafica'), + 'nome' => post('nome'), + 'matricola' => $matricola, + 'descrizione' => post('descrizione'), + 'idsede' => post('idsede'), + 'data' => post('data'), + 'proprietario' => post('proprietario'), + 'palazzo' => post('palazzo'), + 'ubicazione' => post('ubicazione'), + 'idtecnico' => post('idtecnico'), + 'scala' => post('scala'), + 'piano' => post('piano'), + 'interno' => post('interno'), + 'occupante' => post('occupante'), + ], ['id' => $id_record]); $_SESSION['infos'][] = tr('Informazioni salvate correttamente!'); // Upload file if (!empty($_FILES) && !empty($_FILES['immagine']['name'])) { - $filename = $_FILES['immagine']['name']; - $tmp = $_FILES['immagine']['tmp_name']; + $filename = Uploads::upload($_FILES['immagine'], [ + 'name' => 'Immagine', + 'id_module' => $id_module, + 'id_record' => $id_record, + ], [ + 'thumbnails' => true, + ]); - $filename = unique_filename($filename, $upload_dir); - - if (move_uploaded_file($tmp, $upload_dir.'/'.$filename)) { - $dbo->query('UPDATE my_impianti SET immagine='.prepare($filename).' WHERE id='.prepare($id_record)); + if (!empty($filename)) { + $dbo->update('my_impianti', [ + 'immagine' => $filename, + ], [ + 'id' => $id_record, + ]); } else { $_SESSION['warnings'][] = tr('Errore durante il caricamento del file in _DIR_!', [ '_DIR_' => $upload_dir, @@ -65,10 +56,16 @@ switch ($op) { // Eliminazione file if (post('delete_immagine') !== null) { - $filename = basename(post('immagine')); - delete($upload_dir.'/'.$filename); + Uploads::delete($records[0]['immagine'], [ + 'id_module' => $id_module, + 'id_record' => $id_record, + ]); - $dbo->query("UPDATE my_impianti SET immagine='' WHERE id=".prepare($id_record)); + $dbo->update('my_impianti', [ + 'immagine' => null, + ], [ + 'id' => $id_record, + ]); } } break; @@ -125,3 +122,18 @@ switch ($op) { $_SESSION['infos'][] = tr('Impianto e relativi componenti eliminati!'); break; } + +// Operazioni aggiuntive per l'immagine +if (filter('op') == 'unlink_file' && filter('filename') == $records[0]['immagine']) { + $dbo->update('my_impianti', [ + 'immagine' => null, + ], [ + 'id' => $id_record, + ]); +} elseif (filter('op') == 'link_file' && filter('nome_allegato') == 'Immagine') { + $dbo->update('my_impianti', [ + 'immagine' => $upload, + ], [ + 'id' => $id_record, + ]); +} diff --git a/modules/my_impianti/edit.php b/modules/my_impianti/edit.php index 1580879cc..f9d65cff9 100644 --- a/modules/my_impianti/edit.php +++ b/modules/my_impianti/edit.php @@ -2,6 +2,15 @@ include_once __DIR__.'/../../core.php'; +$img = null; +if (!empty($records[0]['immagine'])) { + $fileinfo = Uploads::fileInfo($records[0]['immagine']); + + $default_img = '/'.Uploads::getUploadDirectory($id_module).'/'.$fileinfo['filename'].'_thumb600.'.$fileinfo['extension']; + + $img = file_exists(DOCROOT.$default_img) ? ROOTDIR.$default_img : ROOTDIR.'/'.Uploads::getUploadDirectory($id_module).'/'.$records[0]['immagine']; +} + ?> @@ -16,10 +25,7 @@ include_once __DIR__.'/../../core.php';
- - {[ "type": "image", "label": "", "name": "immagine", "class": "img-thumbnail", "value": "" ]} + {[ "type": "image", "label": "", "name": "immagine", "class": "img-thumbnail", "value": "" ]}
diff --git a/update/2_4_1.sql b/update/2_4_1.sql index c1a2e657f..831c4f757 100644 --- a/update/2_4_1.sql +++ b/update/2_4_1.sql @@ -380,7 +380,16 @@ UPDATE `co_tipidocumento` SET `reversed` = 1 WHERE `descrizione` = 'Nota di accr -- Fix id_sottocategoria in mg_articoli ALTER TABLE `mg_articoli` CHANGE `id_sottocategoria` `id_sottocategoria` int(11); -INSERT INTO `zz_files` (`id_module`, `id_record`, `nome`, `filename`, `original`) SELECT (SELECT `id` FROM `zz_modules` WHERE `name` = 'Articoli'), `id`, 'Immagine', `immagine01`, `immagine01` FROM `mg_articoli`; + +-- Immagini articoli come allegati +ALTER TABLE `mg_articoli` CHANGE `immagine01` `immagine` varchar(255); +UPDATE `mg_articoli` SET `immagine` = NULL WHERE `immagine` = ''; +INSERT INTO `zz_files` (`id_module`, `id_record`, `nome`, `filename`, `original`) SELECT (SELECT `id` FROM `zz_modules` WHERE `name` = 'Articoli'), `id`, 'Immagine', `immagine`, `immagine` FROM `mg_articoli` WHERE `immagine` IS NOT NULL; + +-- Immagini impianto come allegati +ALTER TABLE `my_impianti` CHANGE `immagine` `immagine` varchar(255); +UPDATE `my_impianti` SET `immagine` = NULL WHERE `immagine` = ''; +INSERT INTO `zz_files` (`id_module`, `id_record`, `nome`, `filename`, `original`) SELECT (SELECT `id` FROM `zz_modules` WHERE `name` = 'MyImpianti'), `id`, 'Immagine', `immagine`, `immagine` FROM `my_impianti` WHERE `immagine` IS NOT NULL; -- Fix widgets fatturato UPDATE `zz_widgets` SET `query` = 'SELECT CONCAT_WS(\" \", REPLACE(REPLACE(REPLACE(FORMAT(SUM((SELECT SUM(subtotale+iva-sconto) FROM co_righe_documenti WHERE iddocumento=co_documenti.id)+iva_rivalsainps+rivalsainps+bollo-ritenutaacconto), 2), \",\", \"#\"), \".\", \",\"), \"#\", \".\"), \"€\") AS dato FROM co_documenti WHERE idtipodocumento IN (SELECT id FROM co_tipidocumento WHERE dir=\"entrata\") AND idstatodocumento NOT IN (SELECT id FROM co_statidocumento WHERE descrizione=\"Bozza\" OR descrizione=\"Annullata\") |segment| AND data >= \"|period_start|\" AND data <= \"|period_end|\" AND 1=1' WHERE `zz_widgets`.`name` = 'Fatturato';