@@ -232,9 +232,10 @@ function highlightDifferences($current, $expected)
232232 $ custom_views_not_standard = function_exists ('customViewsNotStandard ' ) ? customViewsNotStandard () : [];
233233 $ custom_modules_not_standard = function_exists ('customModulesNotStandard ' ) ? customModulesNotStandard () : [];
234234
235- // Verifica se mancano i file di riferimento per viste e moduli
235+ // Verifica se mancano i file di riferimento per viste, moduli, impostazioni e widgets
236236 $ views_file_missing = !file_exists (base_dir ().'/views.json ' );
237237 $ modules_file_missing = !file_exists (base_dir ().'/modules.json ' );
238+ $ settings_file_missing = !file_exists (base_dir ().'/settings.json ' );
238239 $ widgets_file_missing = !file_exists (base_dir ().'/widgets.json ' );
239240
240241 // Verifica se manca il file di riferimento per il database
@@ -998,25 +999,33 @@ function getModuleNameFromReference($reference_file, $folder_name, $modules_json
998999 </div> ' ;
9991000
10001001 // Card Impostazioni personalizzate
1002+ $ has_settings_data_issues = !empty ($ results_settings ) || !empty ($ results_settings_added );
1003+
1004+ // Conta gli avvisi per tipo
10011005 $ settings_danger_count = 0 ;
10021006 $ settings_warning_count = 0 ;
10031007 $ settings_info_count = 0 ;
10041008
1005- foreach ($ results_settings as $ key => $ setting ) {
1006- if (!$ setting ['current ' ]) {
1007- ++$ settings_danger_count ;
1008- } else {
1009- ++$ settings_warning_count ;
1009+ if ($ has_settings_data_issues ) {
1010+ foreach ($ results_settings as $ key => $ setting ) {
1011+ if (!$ setting ['current ' ]) {
1012+ ++$ settings_danger_count ;
1013+ } else {
1014+ ++$ settings_warning_count ;
1015+ }
10101016 }
1011- }
10121017
1013- foreach ($ results_settings_added as $ key => $ setting ) {
1014- if ($ setting ['current ' ] == null ) {
1015- ++$ settings_info_count ;
1018+ foreach ($ results_settings_added as $ key => $ setting ) {
1019+ if ($ setting ['current ' ] == null ) {
1020+ ++$ settings_info_count ;
1021+ }
10161022 }
10171023 }
10181024
1019- $ settings_colors = Utils::determineCardColor ($ settings_danger_count , $ settings_warning_count , $ settings_info_count > 0 ? 1 : 0 );
1025+ // Determina il colore della card in base all'avviso più grave
1026+ $ settings_danger = ($ settings_file_missing && $ settings_warning_count > 0 ) ? 1 : 0 ;
1027+ $ settings_warning = ($ settings_warning_count > 0 || $ settings_file_missing ) ? 1 : 0 ;
1028+ $ settings_colors = Utils::determineCardColor ($ settings_danger , $ settings_warning , $ settings_info_count > 0 ? 1 : 0 );
10201029 $ settings_card_color = $ settings_colors ['color ' ];
10211030 $ settings_icon = $ settings_colors ['icon ' ];
10221031
@@ -1038,40 +1047,62 @@ function getModuleNameFromReference($reference_file, $folder_name, $modules_json
10381047 </div>
10391048 <div class="card-body"> ' ;
10401049
1041- include __DIR__ .'/settings.php ' ;
1050+ if ($ has_settings_data_issues ) {
1051+ include __DIR__ .'/settings.php ' ;
1052+ } elseif ($ settings_file_missing ) {
1053+ echo '
1054+ <div class="alert alert-warning alert-database">
1055+ <i class="fa fa-exclamation-triangle"></i> ' .tr ('Impossibile effettuare il controllo delle impostazioni in assenza del file _FILE_ ' , [
1056+ '_FILE_ ' => '<b>settings.json</b> ' ,
1057+ ]).'.
1058+ </div> ' ;
1059+ } else {
1060+ echo '
1061+ <p class="text-success mb-0">
1062+ <i class="fa fa-check-circle"></i> ' .tr ('Nessuna impostazione personalizzata rilevata ' ).'
1063+ </p> ' ;
1064+ }
10421065
10431066 echo '
10441067 </div>
10451068 </div> ' ;
10461069
10471070 // Card Widgets personalizzati
1071+ $ has_widgets_data_issues = !empty ($ results_widgets ) || !empty ($ results_widgets_added );
1072+
1073+ // Conta gli avvisi per tipo
10481074 $ widgets_danger_count = 0 ;
10491075 $ widgets_warning_count = 0 ;
10501076 $ widgets_info_count = 0 ;
10511077
1052- foreach ($ results_widgets as $ module_key => $ module_widgets ) {
1053- if (is_array ($ module_widgets )) {
1054- foreach ($ module_widgets as $ widget_name => $ widget ) {
1055- if (!$ widget ['current ' ]) {
1056- ++$ widgets_danger_count ;
1057- } else {
1058- ++$ widgets_warning_count ;
1078+ if ($ has_widgets_data_issues ) {
1079+ foreach ($ results_widgets as $ module_key => $ module_widgets ) {
1080+ if (is_array ($ module_widgets )) {
1081+ foreach ($ module_widgets as $ widget_name => $ widget ) {
1082+ if (!$ widget ['current ' ]) {
1083+ ++$ widgets_danger_count ;
1084+ } else {
1085+ ++$ widgets_warning_count ;
1086+ }
10591087 }
10601088 }
10611089 }
1062- }
10631090
1064- foreach ($ results_widgets_added as $ module_key => $ module_widgets ) {
1065- if (is_array ($ module_widgets )) {
1066- foreach ($ module_widgets as $ widget_name => $ widget ) {
1067- if ($ widget ['current ' ] == null ) {
1068- ++$ widgets_info_count ;
1091+ foreach ($ results_widgets_added as $ module_key => $ module_widgets ) {
1092+ if (is_array ($ module_widgets )) {
1093+ foreach ($ module_widgets as $ widget_name => $ widget ) {
1094+ if ($ widget ['current ' ] == null ) {
1095+ ++$ widgets_info_count ;
1096+ }
10691097 }
10701098 }
10711099 }
10721100 }
10731101
1074- $ widgets_colors = Utils::determineCardColor ($ widgets_danger_count , $ widgets_warning_count , $ widgets_info_count > 0 ? 1 : 0 );
1102+ // Determina il colore della card in base all'avviso più grave
1103+ $ widgets_danger = ($ widgets_file_missing && $ widgets_warning_count > 0 ) ? 1 : 0 ;
1104+ $ widgets_warning = ($ widgets_warning_count > 0 || $ widgets_file_missing ) ? 1 : 0 ;
1105+ $ widgets_colors = Utils::determineCardColor ($ widgets_danger , $ widgets_warning , $ widgets_info_count > 0 ? 1 : 0 );
10751106 $ widgets_card_color = $ widgets_colors ['color ' ];
10761107 $ widgets_icon = $ widgets_colors ['icon ' ];
10771108
@@ -1093,7 +1124,21 @@ function getModuleNameFromReference($reference_file, $folder_name, $modules_json
10931124 </div>
10941125 <div class="card-body"> ' ;
10951126
1096- include __DIR__ .'/widgets.php ' ;
1127+ if ($ has_widgets_data_issues ) {
1128+ include __DIR__ .'/widgets.php ' ;
1129+ } elseif ($ widgets_file_missing ) {
1130+ echo '
1131+ <div class="alert alert-warning alert-database">
1132+ <i class="fa fa-exclamation-triangle"></i> ' .tr ('Impossibile effettuare il controllo dei widgets in assenza del file _FILE_ ' , [
1133+ '_FILE_ ' => '<b>widgets.json</b> ' ,
1134+ ]).'.
1135+ </div> ' ;
1136+ } else {
1137+ echo '
1138+ <p class="text-success mb-0">
1139+ <i class="fa fa-check-circle"></i> ' .tr ('Nessun widget personalizzato rilevato ' ).'
1140+ </p> ' ;
1141+ }
10971142
10981143 echo '
10991144 </div>
0 commit comments