diff --git a/modules/anagrafiche/src/Referente.php b/modules/anagrafiche/src/Referente.php index 5bb83c7b7..22fec8706 100644 --- a/modules/anagrafiche/src/Referente.php +++ b/modules/anagrafiche/src/Referente.php @@ -27,6 +27,31 @@ class Referente extends Model use SimpleModelTrait; protected $table = 'an_referenti'; + + /** + * Crea un nuovo referente. + * + * @param string $nome + * + * @return self + */ + public static function build($idanagrafica, $nome, $idmansione, $idsede) + { + $model = new static(); + + + $model->idanagrafica = $idanagrafica; + + $model->nome = $nome; + + $model->idmansione = $idmansione; + $model->idsede = $idsede; + + $model->save(); + + return $model; + } + /** * The attributes that aren't mass assignable. diff --git a/modules/fatture/edit.php b/modules/fatture/edit.php index 5b5f0dbc3..6d21d9d19 100755 --- a/modules/fatture/edit.php +++ b/modules/fatture/edit.php @@ -135,7 +135,7 @@ if (!empty($note_accredito)) { ]); echo ' -
'.Modules::link('Fatture di vendita', $nota['id'], $text, $text); +
'.Modules::link( ($dir == 'entrata' ? 'Fatture di vendita' : 'Fatture di acquisto' ), $nota['id'], $text, $text); } echo ' '; diff --git a/modules/statistiche/edit.php b/modules/statistiche/edit.php index 57f990b5a..13a6a502b 100755 --- a/modules/statistiche/edit.php +++ b/modules/statistiche/edit.php @@ -446,7 +446,7 @@ $(document).ready(function() { data: { labels: months, datasets: [ - '.$dataset.' + '.($dataset? :'{ label: "", backgroundColor: "transparent", data: [ 0,0,0,0,0,0,0,0,0,0,0,0 ] }').' ] }, options: { @@ -521,7 +521,6 @@ INNER JOIN an_tipianagrafiche_anagrafiche ON an_anagrafiche.idanagrafica=an_tipi INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica WHERE an_tipianagrafiche.descrizione = "Cliente" AND co_tipidocumento.dir = "entrata" AND an_anagrafiche.created_at BETWEEN '.prepare($start).' AND '.prepare($end).' GROUP BY YEAR(an_anagrafiche.created_at), MONTH(an_anagrafiche.created_at) ORDER BY YEAR(an_anagrafiche.created_at) ASC, MONTH(an_anagrafiche.created_at) ASC'); -$clienti = Stats::monthly($clienti, $start, $end); //Random color $background = '#'.dechex(rand(256, 16777215)); diff --git a/modules/stato_servizi/actions.php b/modules/stato_servizi/actions.php index 8259f6153..27aa7a636 100755 --- a/modules/stato_servizi/actions.php +++ b/modules/stato_servizi/actions.php @@ -267,6 +267,48 @@ switch (filter('op')) { break; + case 'disabilita-hook': + $id = filter('id'); + + // Abilitazione del widget indicato + $database->table('zz_hooks') + ->where('id', '=', $id) + ->update(['enabled' => 0]); + + // Messaggio informativo + $hook = $database->table('zz_hooks') + ->where('id', '=', $id) + ->first(); + flash()->info(tr('Hook "_NAME_" disabilitato!', [ + '_NAME_' => $hook->name, + ])); + + echo json_encode([]); + + break; + + case 'abilita-hook': + $id = filter('id'); + + // Abilitazione del widget indicato + $database->table('zz_hooks') + ->where('id', '=', $id) + ->update(['enabled' => 1]); + + // Messaggio informativo + $hook = $database->table('zz_hooks') + ->where('id', '=', $id) + ->first(); + flash()->info(tr('Hook "_NAME_" abilitato!', [ + '_NAME_' => $hook->name, + ])); + + echo json_encode([]); + + break; + + + case 'sizes': $results = []; @@ -279,13 +321,17 @@ switch (filter('op')) { ]; foreach ($dirs as $dir => $description) { - $size = FileSystem::folderSize($dir, ['htaccess','gitkeep','ini','xml']); + $excluded_extensions = ['htaccess','gitkeep']; + //Tutte le cartelle che non prevedono log in zz_files + $excluded_dir = [DOCROOT.'\files\impianti', DOCROOT.'\files\importFE', DOCROOT.'\files\exportFE', DOCROOT.'\files\receiptFE', DOCROOT.'\files\temp']; + + $size = FileSystem::folderSize($dir, array_merge($excluded_extensions,$excluded_dir)); $results[] = [ 'description' => $description, 'size' => $size, 'formattedSize' => FileSystem::formatBytes($size), - 'count' => FileSystem::fileCount($dir, ['htaccess','gitkeep','ini','xml']) ?: 0, + 'count' => FileSystem::fileCount($dir, array_merge($excluded_extensions,$excluded_dir)) ?: 0, 'dbSize' => ($description == 'Allegati') ? $dbo->fetchOne('SELECT SUM(`size`) AS dbsize FROM zz_files')['dbsize'] : 0, 'dbCount' => ($description == 'Allegati') ? $dbo->fetchOne('SELECT COUNT(`id`) AS dbcount FROM zz_files')['dbcount'] : 0, 'dbExtensions' => ($description == 'Allegati') ? $dbo->fetchArray("SELECT SUBSTRING_INDEX(filename, '.', -1) AS extension, COUNT(*) AS num FROM zz_files GROUP BY extension ORDER BY num DESC LIMIT 10") : 0, diff --git a/modules/stato_servizi/edit.php b/modules/stato_servizi/edit.php index 234efed0f..fa9bd9b47 100755 --- a/modules/stato_servizi/edit.php +++ b/modules/stato_servizi/edit.php @@ -264,7 +264,7 @@ echo ' '; -// Widgets +// Widgets + Hooks echo '
@@ -277,6 +277,18 @@ echo '
+ +
+
+

+ '.tr('Hooks disponibili').' +

+
+ +
+
+
+
@@ -422,9 +434,23 @@ function caricaElencoWidget() { }); } +function caricaElencoHooks() { + let container = $("#hook"); + + localLoading(container, true); + return $.get("'.$structure->fileurl('elenco-hooks.php').'?id_module='.$id_module.'", function(data) { + container.html(data); + localLoading(container, false); + + init(); + }); +} + + $(document).ready(function() { caricaElencoModuli(); caricaElencoWidget(); + caricaElencoHooks(); init(); }); diff --git a/modules/stato_servizi/elenco-hooks.php b/modules/stato_servizi/elenco-hooks.php new file mode 100644 index 000000000..dc591100f --- /dev/null +++ b/modules/stato_servizi/elenco-hooks.php @@ -0,0 +1,193 @@ +. + */ + +include_once __DIR__.'/../../core.php'; + +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'); + +$gruppi = collect($hooks)->groupBy('modulo'); +foreach ($gruppi as $modulo => $hooks) { + echo ' + + + + + + + '; + + foreach ($hooks as $hook) { + + $class = $hook['enabled'] ? 'success' : 'warning'; + $nome_tipo = 'hook'; + + echo ' + + + + + + + '; + } + + echo ' + '; +} + +echo ' +
'.tr('Nome').''.tr('Ultima esecuzione').''.tr('Stato').'
'.$modulo.'
+ '.$hook['name'].(!empty($hook['help']) ? ' + ' : '').' + + '.Translator::timestampToLocale($hook['processing_at']).' + '; + + // Possibilità di disabilitare o abilitare il hook + if ($hook['enabled']) { + echo ' +
+ +
'; + } else { + echo ' +
+ +
'; + } + + echo ' +
+ +'; diff --git a/modules/stato_servizi/elenco-widget.php b/modules/stato_servizi/elenco-widget.php index 218c8d1db..8a4b499e3 100644 --- a/modules/stato_servizi/elenco-widget.php +++ b/modules/stato_servizi/elenco-widget.php @@ -24,7 +24,7 @@ echo ' '.tr('Nome').' - '.tr('Posizione').' + '.tr('Ubicazione').' '.tr('Stato').' '.tr('Posizione').' diff --git a/modules/stato_servizi/widgets/spazio_utilizzato.php b/modules/stato_servizi/widgets/spazio_utilizzato.php index f3b26b93c..08a6027e8 100755 --- a/modules/stato_servizi/widgets/spazio_utilizzato.php +++ b/modules/stato_servizi/widgets/spazio_utilizzato.php @@ -72,7 +72,7 @@ function crea_grafico(values){ if (element.count "+diff+" files non trovati sul disco per allegati.
"); + $("#message").append("
"+diff+" files non trovati per allegati.

"); } } diff --git a/plugins/referenti/actions.php b/plugins/referenti/actions.php index 17befdf59..5736c9cf0 100755 --- a/plugins/referenti/actions.php +++ b/plugins/referenti/actions.php @@ -19,26 +19,30 @@ include_once __DIR__.'/../../core.php'; +use Modules\Anagrafiche\Referente; + $operazione = filter('op'); switch ($operazione) { case 'addreferente': if (!empty(post('nome'))) { - $opt_out_newsletter = post('disable_newsletter'); - $dbo->insert('an_referenti', [ - 'idanagrafica' => $id_parent, - 'nome' => post('nome'), - 'idmansione' => post('idmansione'), - 'telefono' => post('telefono'), - 'email' => post('email'), - 'idsede' => post('idsede'), - 'enable_newsletter' => empty($opt_out_newsletter), - ]); - $id_record = $dbo->lastInsertedID(); + $nome = post('nome'); + $idmansione = post('idmansione'); + $idsede = post('idsede'); + $opt_out_newsletter = post('disable_newsletter'); + + $referente = Referente::build($id_parent, $nome, $idmansione, $idsede); + $id_record = $referente->id; + + $referente->telefono = post('telefono'); + $referente->email = post('email'); + $referente->enable_newsletter = empty($opt_out_newsletter); + + $referente->save(); if (isAjaxRequest() && !empty($id_record)) { - echo json_encode(['id' => $id_record, 'text' => post('nome')]); + echo json_encode(['id' => $id_record, 'text' => $referente->nome]); } flash()->info(tr('Aggiunto nuovo referente!')); diff --git a/src/Util/FileSystem.php b/src/Util/FileSystem.php index 72513dcd2..2eb2f8211 100755 --- a/src/Util/FileSystem.php +++ b/src/Util/FileSystem.php @@ -71,7 +71,7 @@ class FileSystem if ($path !== false && $path != '' && file_exists($path)) { foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path, FilesystemIterator::SKIP_DOTS)) as $object) { - if (!in_array($object->getExtension(), $exclusions)) { + if (!in_array($object->getExtension(), $exclusions) && (!in_array($object->getPath(), $exclusions)) ) { $total += $object->getSize(); } } @@ -94,7 +94,8 @@ class FileSystem if ($path !== false && $path != '' && file_exists($path)) { foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path, FilesystemIterator::SKIP_DOTS)) as $object) { - if (!in_array($object->getExtension(), $exclusions)) { + if (!in_array($object->getExtension(), $exclusions) && (!in_array($object->getPath(), $exclusions)) ) { + ++$total; } }