Funzione ridimensionamento immagini

This commit is contained in:
Beppe 2024-05-23 14:44:51 +02:00
parent 8a94a728a6
commit 1809d33d6a
2 changed files with 36 additions and 1 deletions

View File

@ -233,6 +233,10 @@ class Upload extends Model
{
if ($this->isImage()) {
// self::generateThumbnails($this);
if( setting('Ridimensionamento immagini') ){
self::ridimensionaImmagini($this);
}
}
return parent::save($options);
@ -380,4 +384,26 @@ class Upload extends Model
});
$img->save(slashes($directory.'/'.$info['filename'].'_thumb100.'.$info['extension']));
}
protected static function ridimensionaImmagini($upload)
{
$info = $upload->info;
$directory = $upload->directory;
$filepath = base_dir().'/'.$info['dirname'].'/'.$info['filename'].'.'.$info['extension'];
if (!in_array(mime_content_type($filepath), ['image/x-png', 'image/gif', 'image/jpeg'])) {
return;
}
$driver = extension_loaded('gd') ? 'gd' : 'imagick';
ImageManagerStatic::configure(['driver' => $driver]);
$img = ImageManagerStatic::make($filepath);
$img->resize(setting('Larghezza per ridimensionamento immagini'), null, function ($constraint) {
$constraint->aspectRatio();
});
$img->save(slashes($filepath));
}
}

View File

@ -202,4 +202,13 @@ UPDATE `zz_prints` SET `available_options` = '{\"pricing\":\"Visualizzare i prez
UPDATE `zz_plugins` SET `options` = '{\"main_query\": [{\"type\": \"table\", \"fields\": \"Articolo, Q.tà, Percentuale tot., Totale\", \"query\": \"SELECT (SELECT `id` FROM `zz_modules` WHERE `name` = \'Articoli\') AS _link_module_, mg_articoli.id AS _link_record_, ROUND(SUM(IF(reversed=1, -co_righe_documenti.qta, co_righe_documenti.qta)),2) AS `Q.tà`, ROUND((SUM(IF(reversed=1, -co_righe_documenti.qta, co_righe_documenti.qta)) * 100 / (SELECT SUM(IF(reversed=1, -co_righe_documenti.qta, co_righe_documenti.qta)) FROM co_documenti INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id INNER JOIN co_righe_documenti ON co_righe_documenti.iddocumento=co_documenti.id INNER JOIN mg_articoli ON mg_articoli.id=co_righe_documenti.idarticolo WHERE co_tipidocumento.dir=\'entrata\' )),2) AS \'Percentuale tot.\', ROUND(SUM(IF(reversed=1, -(co_righe_documenti.subtotale - co_righe_documenti.sconto), (co_righe_documenti.subtotale - co_righe_documenti.sconto))),2) AS Totale, mg_articoli.id, CONCAT(mg_articoli.codice,\' - \',mg_articoli_lang.title) AS Articolo FROM co_documenti INNER JOIN co_statidocumento ON co_statidocumento.id = co_documenti.idstatodocumento INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id LEFT JOIN co_statidocumento_lang ON (co_statidocumento.id = co_statidocumento_lang.id_record AND co_statidocumento_lang.id_lang = 1) INNER JOIN co_righe_documenti ON co_righe_documenti.iddocumento=co_documenti.id INNER JOIN mg_articoli ON mg_articoli.id=co_righe_documenti.idarticolo LEFT JOIN mg_articoli_lang ON (mg_articoli.id = mg_articoli_lang.id_record AND mg_articoli_lang.id_lang = 1) WHERE 1=1 AND co_tipidocumento.dir=\'entrata\' AND (co_statidocumento_lang.title = \'Pagato\' OR co_statidocumento_lang.title = \'Parzialmente pagato\' OR co_statidocumento_lang.title = \'Emessa\' ) |date_period(`co_documenti`.`data`)| GROUP BY co_righe_documenti.idarticolo HAVING 2=2 ORDER BY SUM(IF(reversed=1, -co_righe_documenti.qta, co_righe_documenti.qta)) DESC\"}]}' WHERE `zz_plugins`.`name` = 'Statistiche vendita';
-- Fix segmento Articoli disponibili
UPDATE `zz_segments` SET `clause` = '1=1 AND `qta` > 0' WHERE `zz_segments`.`name` = 'Disponibili';
UPDATE `zz_segments` SET `clause` = '1=1 AND `qta` > 0' WHERE `zz_segments`.`name` = 'Disponibili';
-- Ridimensionamento immagini
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`) VALUES
(NULL, 'Ridimensionamento immagini', '0', 'boolean', '1', 'Generali', NULL),
(NULL, 'Larghezza per ridimensionamento immagini', '600', 'integer', '1', 'Generali', NULL);
INSERT INTO `zz_settings_lang` (`id`, `id_lang`, `id_record`, `title`, `help`) VALUES
(NULL, '1', (SELECT `id` FROM `zz_settings` WHERE `nome` = 'Ridimensionamento immagini'), 'Ridimensionamento immagini', ''),
(NULL, '1', (SELECT `id` FROM `zz_settings` WHERE `nome` = 'Larghezza per ridimensionamento immagini'), 'Larghezza per ridimensionamento immagini', '');