'.htmlspecialchars(($translations['non_autorise'] ?? 'Accès refusé.'), ENT_QUOTES, 'UTF-8').'
'; return; } $e = static fn($s) => htmlspecialchars((string)$s, ENT_QUOTES, 'UTF-8'); $siteRoot = realpath(__DIR__ . '/../../'); $statDir = function($path){ $n=0; $s=0; $it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path, FilesystemIterator::SKIP_DOTS)); foreach($it as $f){ if($f->isFile()){ $n++; $s += $f->getSize(); } } return [$n,$s]; }; $uploads = $siteRoot.'/messages/uploads'; $backups = $siteRoot.'/backups/db'; $logsDir = $siteRoot.'/logs'; @is_dir($backups) || @mkdir($backups,0755,true); $uploadsStat = is_dir($uploads) ? $statDir($uploads) : [0,0]; $backupsList = array_map('basename', glob($backups.'/db_*.sql*') ?: []); usort($backupsList, fn($a,$b)=>strcmp($b,$a)); $lastBackup = $backupsList[0] ?? ($translations['maint_none'] ?? '(aucun)'); ?>