mirror of
https://github.com/elripalda/psgfx.git
synced 2026-10-26 17:02:57 +01:00
- Redesigned interface: larger, glass style with a chromatic rim, animated view/tab switches, search in the app list, Icon/Background/Music/Name tabs. - Connecting moved into a centred pop-up with step-by-step instructions; the header shows a connection button instead of the IP field. - Home layout preview: the selected tile keeps its white outline on every side, the row slides when the selection moves, Games/Media fade, and the background crossfades. - Hiding or moving a tile off the current tab selects the next one, with Undo. - Community icons: browse, use, share and report icons per game. The server (community-server/, PHP) checks uploads, saves them to a public GitHub repo with thumbnails and a site mirror, and has a moderation page. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01B3zQD8DZVn9N7NJ6NHPLGg
15 lines
525 B
PHP
15 lines
525 B
PHP
<?php
|
|
// POST report.php id=<icon path> -> one report per person per icon.
|
|
require __DIR__ . '/lib.php';
|
|
cors();
|
|
if ($_SERVER['REQUEST_METHOD'] !== 'POST') fail('Use POST.', 405);
|
|
$id = (string)($_POST['id'] ?? '');
|
|
if (!preg_match('#^icons/[A-Z]{4}\d{5}/[^/]+\.png$#', $id)) fail('Unknown icon.');
|
|
$me = who();
|
|
data_update('reports', function (array &$r) use ($id, $me) {
|
|
$e = $r[$id] ?? ['by' => [], 'ok' => false];
|
|
if (!in_array($me, $e['by'], true)) $e['by'][] = $me;
|
|
$r[$id] = $e;
|
|
});
|
|
out(['ok' => true]);
|