From be2912e26bdf1843c3a91fc0717b301f168d4962 Mon Sep 17 00:00:00 2001 From: ilotterytea Date: Fri, 9 May 2025 18:15:54 +0500 Subject: feat: option to log user actions --- public/users.php | 167 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 86 insertions(+), 81 deletions(-) (limited to 'public/users.php') diff --git a/public/users.php b/public/users.php index 5d1f125..7146cd1 100644 --- a/public/users.php +++ b/public/users.php @@ -231,10 +231,13 @@ $stmt->execute([$user->id(), $user->id()]); $uploaded_emotes = $stmt->fetchAll(PDO::FETCH_ASSOC); // gathering actions -$stmt = $db->prepare("SELECT a.* FROM actions a WHERE a.user_id = ? ORDER BY a.created_at DESC LIMIT 15"); -$stmt->execute([$user->id()]); +$actions = []; -$actions = $stmt->fetchAll(PDO::FETCH_ASSOC); +if (ACCOUNT_LOG_ACTIONS) { + $stmt = $db->prepare("SELECT a.* FROM actions a WHERE a.user_id = ? ORDER BY a.created_at DESC LIMIT 15"); + $stmt->execute([$user->id()]); + $actions = $stmt->fetchAll(PDO::FETCH_ASSOC); +} // TODO: add functionality @@ -514,56 +517,46 @@ if ($is_json) { } ?> - -
- -
- This user has done nothing bad or good...

"; - } - - foreach ($actions as $action) { - echo '
'; - - list($action_name, $preposition, $icon_name) = match ($action["action_type"]) { - "EMOTESET_ADD" => ["added", "to", "yes.png"], - "EMOTESET_REMOVE" => ["removed", "from", "no.png"], - "EMOTESET_ALIAS" => ["renamed", "in", "pencil.png"], - "EMOTE_CREATE" => ["created", null, "new_emote.png"], - "EMOTE_DELETE" => ["deleted", null, "deleted_emote.png"], - "EMOTE_RENAME" => ["renamed", null, "renamed_emote.png"] - }; + + +
+ +
+ This user has done nothing bad or good...

"; + } - echo "
"; + foreach ($actions as $action) { + echo '
'; - echo '
'; - echo '

'; - echo '' . $user->username() . ' '; + list($action_name, $preposition, $icon_name) = match ($action["action_type"]) { + "EMOTESET_ADD" => ["added", "to", "yes.png"], + "EMOTESET_REMOVE" => ["removed", "from", "no.png"], + "EMOTESET_ALIAS" => ["renamed", "in", "pencil.png"], + "EMOTE_CREATE" => ["created", null, "new_emote.png"], + "EMOTE_DELETE" => ["deleted", null, "deleted_emote.png"], + "EMOTE_RENAME" => ["renamed", null, "renamed_emote.png"] + }; - $payload = json_decode($action["action_payload"], true); + echo "

"; - list($action_root, $action_sub) = explode("_", $action["action_type"]); + echo '
'; + echo '

'; + echo '' . $user->username() . ' '; - switch ($action_root) { - case "EMOTESET": { - $e_stmt = $db->prepare("SELECT COUNT(*) FROM emotes WHERE id = ?"); - $e_stmt->execute([$payload["emote"]["id"]]); + $payload = json_decode($action["action_payload"], true); - echo "$action_name emote rowCount() == 1) { - echo '/emotes?id=' . $payload["emote"]["id"] . '">'; - echo ' '; - } else { - echo '">'; - } + switch ($action_root) { + case "EMOTESET": { + $e_stmt = $db->prepare("SELECT COUNT(*) FROM emotes WHERE id = ?"); + $e_stmt->execute([$payload["emote"]["id"]]); - if (isset($payload["emote"]["original_code"])) { - echo $payload["emote"]["original_code"] . ' to '; - echo "rowCount() == 1) { echo '/emotes?id=' . $payload["emote"]["id"] . '">'; @@ -572,51 +565,63 @@ if ($is_json) { echo '">'; } - echo $payload["emote"]["code"] . ''; - } else { - echo $payload["emote"]["code"] . ''; - } + if (isset($payload["emote"]["original_code"])) { + echo $payload["emote"]["original_code"] . ' to '; + echo "prepare("SELECT COUNT(*) FROM emote_sets WHERE id = ?"); - $es_stmt->execute([$payload["emoteset"]["id"]]); + if ($e_stmt->rowCount() == 1) { + echo '/emotes?id=' . $payload["emote"]["id"] . '">'; + echo ' '; + } else { + echo '">'; + } - echo " $preposition rowCount() == 1) { - echo '/emotesets.php?id=' . $payload["emoteset"]["id"]; - } + echo $payload["emote"]["code"] . ''; + } else { + echo $payload["emote"]["code"] . ''; + } - echo '">' . $payload["emoteset"]["name"] . ''; - break; - } - case "EMOTE": { - $e_stmt = $db->prepare("SELECT COUNT(*) FROM emotes WHERE id = ?"); - $e_stmt->execute([$payload["emote"]["id"]]); + $es_stmt = $db->prepare("SELECT COUNT(*) FROM emote_sets WHERE id = ?"); + $es_stmt->execute([$payload["emoteset"]["id"]]); - echo "$action_name emote rowCount() == 1) { + echo '/emotesets.php?id=' . $payload["emoteset"]["id"]; + } - if ($e_stmt->rowCount() == 1) { - echo '/emotes?id=' . $payload["emote"]["id"] . '">'; - echo ' '; - } else { - echo '">'; + echo '">' . $payload["emoteset"]["name"] . ''; + break; } + case "EMOTE": { + $e_stmt = $db->prepare("SELECT COUNT(*) FROM emotes WHERE id = ?"); + $e_stmt->execute([$payload["emote"]["id"]]); - echo $payload["emote"]["code"] . ''; - break; - } - default: { - echo "something that we don't know"; - break; + echo "$action_name emote rowCount() == 1) { + echo '/emotes?id=' . $payload["emote"]["id"] . '">'; + echo ' '; + } else { + echo '">'; + } + + echo $payload["emote"]["code"] . ''; + break; + } + default: { + echo "something that we don't know"; + break; + } } - } - echo '

'; - echo '[' . format_timestamp(time() - strtotime($action["created_at"])) . ' ago] '; - echo '
'; - } - ?> -
-
+ echo '

'; + echo '[' . format_timestamp(time() - strtotime($action["created_at"])) . ' ago] '; + echo '
'; + } + ?> + +
+ -- cgit v1.2.3