diff --git a/database/getAccountProfileMessages.php b/database/getAccountProfileMessages.php index 4e74bb6..a2e26c3 100644 --- a/database/getAccountProfileMessages.php +++ b/database/getAccountProfileMessages.php @@ -7,7 +7,7 @@ $post = getPostData(); $targetId = (int)$post['targetId'] ?? 0; $stmt = $conn->prepare(" - SELECT id, content, timestamp, likes, userId + SELECT id, content, timestamp, votes, userId FROM userposts WHERE userId = ? AND deleted_at = 0 ORDER BY id DESC @@ -17,13 +17,18 @@ $stmt->execute(); $result = $stmt->get_result(); echo encrypt(json_encode(array_map( - fn($row) => [ - 'id' => $row['id'], - 'userId' => $row['userId'], - 'content' => $row['content'], - 'timestamp' => genTimestamp($row['timestamp']) . " ago", - 'likes' => $row['likes'] - ], + function ($row) { + $votes = json_decode($row['votes'], true); + $likes = is_array($votes) ? array_sum(array_map(fn($v) => $v === true ? 1 : -1, $votes)) : 0; + + return [ + 'id' => $row['id'], + 'userId' => $row['userId'], + 'content' => $row['content'], + 'timestamp' => genTimestamp($row['timestamp']) . " ago", + 'likes' => $likes + ]; + }, $result->fetch_all(MYSQLI_ASSOC) )));