Pl4tform_website/includes/nc-data-request.php
2025-02-03 19:29:59 +01:00

68 lines
2 KiB
PHP

<?php
// Datenbankverbindungsdaten
$servername = "localhost"; // oder der Hostname deines DB-Servers
$username = "***"; // Dein neuer MariaDB Benutzername
$password = "***"; // Dein Passwort für den neuen Benutzer
$dbname = "nextcloud"; // Der Name deiner Nextcloud-Datenbank
// Verbindung zur MySQL-Datenbank aufbauen
$conn = new mysqli($servername, $username, $password, $dbname);
// Verbindung prüfen
if ($conn->connect_error) {
die("Verbindung fehlgeschlagen: " . $conn->connect_error);
}
// 1. Abfrage: Alle Dateien, deren Pfad '%files/archive/%' enthält
$sql1 = "SELECT fc.fileid, fc.name AS file_name, fc.path AS file_path, fc.size, fc.mimetype
FROM oc_filecache AS fc
WHERE fc.path LIKE '%files/archive/%'
ORDER BY fc.name DESC";
$result1 = $conn->query($sql1);
// 2. Abfrage: Alle Mimetypes und ihre IDs
$sql2 = "SELECT id, mimetype FROM oc_mimetypes";
$result2 = $conn->query($sql2);
// 3. Abfrage: Alle Tags im System
$sql3 = "SELECT id, name FROM oc_systemtag";
$result3 = $conn->query($sql3);
// 4. Abfrage: Verknüpfung zwischen Files und Tags (mit 'files' statt 'file')
$sql4 = "SELECT objectid, systemtagid
FROM oc_systemtag_object_mapping
WHERE objecttype = 'files'";
$result4 = $conn->query($sql4);
// Alle Mimetypes in einem Array speichern
$mimetypes = [];
while ($row = $result2->fetch_assoc()) {
$mimetypes[$row['id']] = $row['mimetype'];
}
// Alle Tags in einem Array speichern
$tags = [];
while ($row = $result3->fetch_assoc()) {
$tags[$row['id']] = $row['name'];
}
// Tags mit Dateiinformationen verbinden
$fileTags = [];
while ($row = $result4->fetch_assoc()) {
$fileTags[$row['objectid']][] = $tags[$row['systemtagid']];
}
// Füge den Tag "archive" zu jedem Eintrag in fileTags hinzu
// foreach ($fileTags as $fileId => $existingTags) {
// // Prüfen, ob der Tag "archive" bereits vorhanden ist
// if (!in_array('archive', $existingTags)) {
// // Füge den Tag "archive" hinzu (nur im Array, nicht in der DB)
// $fileTags[$fileId][] = 'archive';
// }
// }