Gestion des photos orphelines

This commit is contained in:
leosw committed 2026-04-12 15:13:26 +02:00
1 parent 6d70e8236a
commit a2f91abda4
3 files changed
+105

No files matched your search

+44
View File
@@ -1,5 +1,7 @@
<?php
require_once($config['includes_folder']."database.php");
/**
* Contrôleur des pages d'administration (logs, sauvegardes, stats).
*/
@@ -284,6 +286,48 @@ if(isset($controller->splitted_url[1]) && $user->rankIsHigher("moderator")) {
$notfound = 1;
}
break;
case 'orphan-photos':
if ($user->rankIsHigher("administrator")) {
$head['title'] = "Suppressions des photos orphelines";
$folder = $config['medias_folder'] . 'comment_photos/';
$con = Kabano\sql_connect();
// Suppression fichier orphelin
if (isset($_GET['delete_file'])) {
$file = basename($_GET['delete_file']);
$path = $folder . $file;
if (file_exists($path)) {
unlink($path);
}
}
// Suppression entrée SQL orpheline
if (isset($_GET['delete_db'])) {
$file = $_GET['delete_db'];
pg_prepare($con, "delete_orphan", "DELETE FROM content_comment_photos WHERE url = $1");
pg_execute($con, "delete_orphan", [$file]);
}
$files = array_diff(scandir($folder), ['.', '..']);
$sql = "SELECT id, url FROM content_comment_photos";
$result = pg_query($con, $sql);
$dbEntries = pg_fetch_all($result) ?: [];
$dbFiles = array_column($dbEntries, 'url');
$orphans_files = array_diff($files, $dbFiles);
$orphans_db = array_diff($dbFiles, $files);
pg_close($con);
include ($config['views_folder']."d.admin.orphans.html");
}
else {
$notfound = 1;
}
break;
default:
$notfound = 1;
break;