165165 $("#current-file").hide();
166166 // Mostra tutti i segni di spunta per gli aggiornamenti completati
167167 $("#updates-list .fa-check").show();
168+ // Mostra i dettagli degli aggiornamenti se sono nascosti
169+ if ($("#updates-details").is(":hidden")) {
170+ $("#toggle-updates").click();
171+ }
168172 </script> ' ;
169173
170174 // Instructions for the first installation
198202 <h3 class="card-title text-white"><i class="fa fa-times-circle mr-2"></i> ' .tr ('Errore durante l \'aggiornamento ' ).'</h3>
199203 </div>
200204 <div class="card-body">
201-
205+
202206 <script>
203207 $(document).ready(function() {
204208 $("#progress-status").html("<i class=\"fa fa-times-circle text-danger mr-1\"></i><span class=\"text-danger\"> ' .tr ('Errore durante l \'aggiornamento ' ).'</span>");
246250 if (!empty ($ updates )) {
247251 $ updates_html .= '
248252 <div id="updates-container" style="display: none;">
249- <p> ' .tr ('Verranno applicati i seguenti aggiornamenti ' ).':</p>
250- <div class="card card-body bg-light mb-3">
251- <div class="row" id="updates-list"> ' ;
252-
253- // Dividi gli aggiornamenti in 4 colonne
254- $ total_updates = count ($ updates );
255- $ updates_per_column = ceil ($ total_updates / 4 );
256- $ column_updates = array_chunk ($ updates , $ updates_per_column );
257-
258- // Per ogni colonna
259- for ($ col = 0 ; $ col < count ($ column_updates ); ++$ col ) {
260- $ updates_html .= '
261- <div class="col-md-3">
262- <ul class="list-unstyled mb-0"> ' ;
263-
264- // Per ogni aggiornamento nella colonna
265- foreach ($ column_updates [$ col ] as $ update ) {
266- $ version_id = str_replace ('. ' , '_ ' , $ update ['version ' ]);
267- $ updates_html .= '
268- <li class="mb-2">
269- <div class="d-flex align-items-center" id="update-item- ' .$ version_id .'">
270- <i class="fa fa-upload text-primary mr-2"></i>
271- <span class="font-weight-bold"> ' .$ update ['version ' ].'</span>
272- <i class="fa fa-check text-success ml-2" style="display: none;"></i>
273- ' .($ update ['script ' ] ? '<i class="fa fa-check text-info ml-2" id="script-icon- ' .$ version_id .'" style="display: none;"></i> ' : '' ).'
274- </div>
275- </li> ' ;
276- }
277-
278- $ updates_html .= '
279- </ul>
280- </div> ' ;
281- }
282-
283- $ updates_html .= '
284- </div>
285- </div>
253+ <p> ' .tr ('Verranno applicati i seguenti aggiornamenti ' ).'.</p>
286254 </div> ' ;
287255
288256 echo $ updates_html ;
289257 }
290258 echo '
259+ <!-- Progress bar moved to the top -->
260+ <div id="progress" class="mb-4" style="display: none;">
261+ <!-- Progress bar personalizzata senza classe progress -->
262+ <div class="progress-container" data-percentage="0%">
263+ <div id="custom-progress-bar" class="progress-bar-striped progress-bar-animated bg-warning" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100"></div>
264+ </div>
265+ <div class="text-center mt-3 mb-3">
266+ <span class="text-primary" id="progress-status"> ' .tr ('Inizializzazione aggiornamento... ' ).'</span>
267+ <div id="current-file" class="mt-1 text-muted"></div>
268+ </div>
269+ </div>
270+
291271 <div id="install-instructions">
292272 <p> ' .tr ("Clicca su _BUTTON_ per avviare l' " .(!$ dbo ->isInstalled () ? tr ('installazione ' ) : tr ('aggiornamento ' )), [
293273 '_BUTTON_ ' => '<b>" ' .$ button .'"</b> ' ,
@@ -309,30 +289,85 @@ function(){
309289 // Nascondi le istruzioni di installazione
310290 $("#install-instructions").hide();
311291
312- $("#updates-container").fadeIn(300);
313-
314292 // Mostra la barra di progresso
315293 $("#progress").fadeIn(300);
316294 setPercent(1);
317295 updateCurrentFile(" ' .tr ('Avvio aggiornamento... ' ).'");
318296
297+ // Mostra il container degli aggiornamenti
298+ $("#updates-container").fadeIn(300);
299+
300+ // Mostra il container dei dettagli delle versioni
301+ $("#versions-details-container").fadeIn(300);
302+
303+ // Inizialmente nascondi i dettagli delle versioni
304+ $("#updates-details").hide();
305+
319306 $("#result").load("index.php?action=do_update&firstuse= ' .$ firstuse .'");
320307 $("#continue_button").remove();
321308 }, function(){});
322309 }
323310 </script>
324311
325- <div id="progress" class="mt-4" style="display: none;">
326- <!-- Progress bar personalizzata senza classe progress -->
327- <div class="progress-container" data-percentage="0%">
328- <div id="custom-progress-bar" class="progress-bar-striped progress-bar-animated bg-warning" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100"></div>
329- </div>
330- <div class="text-center mt-3 mb-3">
331- <span class="text-primary" id="progress-status"> ' .tr ('Inizializzazione aggiornamento... ' ).'</span>
332- <div id="current-file" class="mt-1 text-muted"></div>
312+ <div id="result" class="mt-3"></div>
313+
314+ <!-- Dettaglio versioni spostato in fondo -->
315+ <div id="versions-details-container" class="mt-4" style="display: none;">
316+ <div class="card mb-3">
317+ <div class="card-header bg-light">
318+ <div class="d-flex justify-content-between align-items-center">
319+ <h5 class="mb-0"> ' .tr ('Dettaglio versioni ' ).'</h5>
320+ <button type="button" class="btn btn-sm btn-outline-secondary" id="toggle-updates">
321+ <i class="fa fa-chevron-down"></i> ' .tr ('Mostra/Nascondi ' ).'
322+ </button>
323+ </div>
324+ </div>
325+ <div class="card-body bg-light" id="updates-details" style="display: none;">
326+ <div class="row" id="updates-list"> ' ;
327+
328+ // Dividi gli aggiornamenti in 4 colonne
329+ $ total_updates = count ($ updates );
330+ $ updates_per_column = ceil ($ total_updates / 4 );
331+ $ column_updates = array_chunk ($ updates , $ updates_per_column );
332+
333+ // Per ogni colonna
334+ for ($ col = 0 ; $ col < count ($ column_updates ); ++$ col ) {
335+ echo '
336+ <div class="col-md-3">
337+ <ul class="list-unstyled mb-0"> ' ;
338+
339+ // Per ogni aggiornamento nella colonna
340+ foreach ($ column_updates [$ col ] as $ update ) {
341+ $ version_id = str_replace ('. ' , '_ ' , $ update ['version ' ]);
342+ echo '
343+ <li class="mb-2">
344+ <div class="d-flex align-items-center" id="update-item- ' .$ version_id .'">
345+ <i class="fa fa-upload text-primary mr-2"></i>
346+ <span class="font-weight-bold"> ' .$ update ['version ' ].'</span>
347+ <i class="fa fa-check text-success ml-2" style="display: none;"></i>
348+ ' .($ update ['script ' ] ? '<i class="fa fa-check text-info ml-2" id="script-icon- ' .$ version_id .'" style="display: none;"></i> ' : '' ).'
349+ </div>
350+ </li> ' ;
351+ }
352+
353+ echo '
354+ </ul>
355+ </div> ' ;
356+ }
357+
358+ echo '
359+ </div>
360+ </div>
333361 </div>
334- </div>
335- <div id="result" class="mt-3"></div> ' ;
362+ <script>
363+ $(document).ready(function() {
364+ $("#toggle-updates").click(function() {
365+ $("#updates-details").slideToggle(300);
366+ $(this).find("i").toggleClass("fa-chevron-down fa-chevron-up");
367+ });
368+ });
369+ </script>
370+ </div> ' ;
336371
337372 $ total = 0 ;
338373 $ updates = Update::getTodoUpdates ();
@@ -411,6 +446,11 @@ function addVersion(version){
411446 var version_id = version.trim().replace(/\./g, "_");
412447 $("#update-item-" + version_id + " .fa-check").show();
413448
449+ // Se i dettagli sono nascosti, mostrali alla prima versione completata
450+ if (current === 1 && $("#updates-details").is(":hidden")) {
451+ $("#toggle-updates").click();
452+ }
453+
414454 // Aggiorna il nome del file corrente
415455 updateCurrentFile(" ' .tr ('Installazione di ' ).' " + version.trim());
416456 }
0 commit comments