akkoma-mod-log/index.php
2024-02-25 13:20:24 -06:00

102 lines
3.8 KiB
PHP

<?php
require_once('./config/config.php');
// Error reporting
if ($meta['production'] == false) {
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
}
// Connect to database, pull mod log data, then close connection
$database['connection'] = pg_connect("host=" . $database['host'] . " port=" . $database['port'] . " dbname=" . $database['dbname'] . " user=" . $database['user'] . " password=" . $database['password']) or die("database connection failed");
$database['query'] = 'SELECT * FROM ' . $database['table'];
$database['result'] = pg_query($database['connection'], $database['query']);
pg_close($database['connection']);
// Unscrew all the arrays lol
while ($line = pg_fetch_array($database['result'], null, PGSQL_ASSOC)) {
foreach ($line as $key => $value) {
$result[$line['id']] = [
'data' => json_decode($line['data'], true),
'inserted_at' => $line['inserted_at'],
'updated_at' => $line['updated_at']
];
}
}
// Free up some memory
pg_free_result($database['result']);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- -->
<title><?= $instance['name'] ?> Mod Log</title>
<!-- Stylesheets -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
<link rel="stylesheet" href="/css/page.css">
</head>
<body>
<!-- Nav -->
<nav class="navbar bg-body-tertiary">
<div class="container">
<?= $instance['name'] ?> Mod Log
<div class="navbar-nav">
<a href="<?= $instance['url'] ?>" class="nav-link">Go to instance &rarr;</a>
</div>
</div>
</nav>
<!-- Page Content -->
<div class="container">
<div class="row">
<div class="col">
<table class="table table-striped table-hover text-center">
<thead>
<tr>
<th scope="col">ID</th>
<th scope="col">User</th>
<th scope="col">Action</th>
<th scope="col">Message</th>
<th scope="col">Date</th>
</tr>
</thead>
<tbody>
<?php foreach ($result as $key => $value) :?>
<?php if (in_array($value["data"]["action"], $meta['actions'])) :?>
<tr>
<th scope="row"><?= $key ?></th>
<td><?= $value["data"]["actor"]["nickname"] ?></td>
<td><?= $value["data"]["action"] ?></td>
<td class="text-start"><?= $value["data"]["message"] ?></td>
<td><?= $value["inserted_at"] ?></td>
</tr>
<?php endif ?>
<?php endforeach ?>
</tbody>
</table>
</div>
</div>
</div>
<!-- Footer -->
<div class="container">
<div class="row">
<div class="col text-center">
<p>From <a href="https://labyrinth.zone/users/Velveteen" target="_blank">Vel</a>, With Love 💖
<a href="https://git.void.lgbt/Velveteen/akkoma-mod-log" target="_blank">Source Code</a>
</p>
</div>
</div>
</div>
</body>
</html>