loadDatabase($snapshotName);
// if process finished = stop reloading
$_snapshot = $database->snapshotRepository->load();
if ($_snapshot->collectPhaseFinished === 1) {
http_response_code(286); // htmx stops timer
header('HX-Redirect: ' . admin_url('tools.php?page=disk-usage-insights&snapshot=' . $snapshotName));
exit;
}
$currentPhase = $_snapshot->phase;
echo "
\n";
foreach(PhaseCoordinatorJob::PHASES as $idx => $phaseText) {
$phaseStatus = $currentPhase > $idx ? '✓ ' : '';
$taskDescription = '';
if ($currentPhase == $idx) {
$job = $database->q->peek();
if ($job !== null) {
$reflect = new \ReflectionClass($job->payload['type']);
$instance = $reflect->newInstanceArgs($job->payload['args']);
$taskDescription = ' -- ' . $instance->toDescription();
}
}
if ($idx == $currentPhase) {
echo "";
}
echo sprintf('%s%s%s', esc_html($phaseStatus), esc_html($phaseText), esc_html($taskDescription));
if ($idx == $currentPhase) {
echo "";
}
echo "
\n";
}
// debug counter
$counter = (int) sanitize_text_field(wp_unslash($_POST['counter'] ?? 0));
$counter++;
echo '';
echo "
\nRunning for " . esc_html($counter) . " seconds...
\n";
wp_die(); // All ajax handlers should die when finished
}
}