From e8b0b4769d013862a54c273931ac4456c486e9ab Mon Sep 17 00:00:00 2001 From: ilotterytea Date: Thu, 11 Dec 2025 01:05:49 +0500 Subject: feat: report page (for mods) --- system/reports/answer.php | 42 ++++++++++++++++++ system/reports/index.php | 108 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 150 insertions(+) create mode 100644 system/reports/answer.php create mode 100644 system/reports/index.php diff --git a/system/reports/answer.php b/system/reports/answer.php new file mode 100644 index 0000000..8c88a4a --- /dev/null +++ b/system/reports/answer.php @@ -0,0 +1,42 @@ +prepare("SELECT id, sender_id FROM reports WHERE id = ? AND resolved_by IS NULL"); +$stmt->execute([$id]); + +$row = $stmt->fetch(PDO::FETCH_ASSOC) ?: null; + +if (!$row) { + generate_alert("/system/reports/", "Report ID $id not found", 404); + exit(); +} + +$db->prepare("UPDATE reports SET resolved_by = ?, response_message = ? WHERE id = ?") + ->execute([$_SESSION['user_id'], str_safe($_POST['response'], null), $id]); + +$db->prepare("INSERT INTO inbox_messages(recipient_id, message_type, contents, link) VALUES (?, ?, ?, ?)") + ->execute([$row["sender_id"], "2", "Your report has been reviewed!", "/report/?id=" . $row["id"]]); + +generate_alert("/system/reports", 'The report has been reviewed!', 200); \ No newline at end of file diff --git a/system/reports/index.php b/system/reports/index.php new file mode 100644 index 0000000..3109adc --- /dev/null +++ b/system/reports/index.php @@ -0,0 +1,108 @@ +query("SELECT r.id, u.username AS sender_name, r.contents FROM reports r + JOIN users u ON u.id = r.sender_id + WHERE r.resolved_by IS NULL + ORDER BY r.sent_at DESC +"); +$reports->execute(); + +$reports = $reports->fetchAll(PDO::FETCH_ASSOC); + +$report = $reports[0] ?? null; + +if (isset($_GET["id"])) { + $stmt = $db->prepare("SELECT r.id, u.id AS sender_id, u.username AS sender_name, r.contents, r.sent_at, resolved_by, response_message FROM reports r + JOIN users u ON u.id = r.sender_id + WHERE r.id = ? + "); + + $stmt->execute([$_GET["id"]]); + $report = $stmt->fetch(PDO::FETCH_ASSOC) ?? null; +} +?> + + + + + Report review - <?= CONFIG['instance']['name'] ?> + + + + + +
+
+ + +
+
+ +
+ + ... + by + + +

Everything is clear. Good job!

+ +
+
+ +
+
+ +
+ +
+
+
+ + + + + + + + + +
Reported by + ( ago)
Status + + Resolved + + Unresolved + +
+
+
+ + + +
+
+ +
+
+
+ + + \ No newline at end of file -- cgit v1.2.3