Add user list to admin panel and validated/guest badges on posts
Admin panel: new "Käyttäjät" section showing all registered users with post count, likes count, email and join date. Posts: submissions by logged-in users show a green "Vahvistettu" badge, while guest submissions show a random code (e.g. #L01U51) for tracking. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
22
api.php
22
api.php
@@ -843,6 +843,28 @@ switch ($action) {
|
||||
case 'admin_check':
|
||||
ok(['loggedIn' => isAdmin()]);
|
||||
|
||||
case 'admin_users':
|
||||
if (!isAdmin()) err('Unauthorized', 403);
|
||||
$users = readData('users.json', []);
|
||||
$posts = getOrInitPosts();
|
||||
$result = [];
|
||||
foreach ($users as $u) {
|
||||
$nick = mb_strtolower($u['nickname']);
|
||||
$postCount = 0;
|
||||
foreach ($posts as $p) {
|
||||
if (mb_strtolower($p['author'] ?? '') === $nick) $postCount++;
|
||||
}
|
||||
$result[] = [
|
||||
'id' => $u['id'],
|
||||
'nickname' => $u['nickname'],
|
||||
'email' => $u['email'] ?? '',
|
||||
'created' => $u['created'] ?? '',
|
||||
'likes' => count($u['likes'] ?? []),
|
||||
'postCount' => $postCount,
|
||||
];
|
||||
}
|
||||
ok(['users' => $result]);
|
||||
|
||||
// ─── Käyttäjätunnukset ─────────────────────────────────────
|
||||
case 'user_register':
|
||||
$nickname = trim($body['nickname'] ?? '');
|
||||
|
||||
Reference in New Issue
Block a user