From 57472eab3c7b035392c6a5aa240593ecaa7d1ccf Mon Sep 17 00:00:00 2001 From: ilotterytea Date: Mon, 8 Dec 2025 21:53:36 +0500 Subject: upd: moved all /public/ files to the root folder --- system/emotes/index.php | 250 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 250 insertions(+) create mode 100644 system/emotes/index.php (limited to 'system/emotes/index.php') diff --git a/system/emotes/index.php b/system/emotes/index.php new file mode 100644 index 0000000..2a48408 --- /dev/null +++ b/system/emotes/index.php @@ -0,0 +1,250 @@ +prepare("SELECT e.*, +CASE WHEN up.private_profile = FALSE OR up.id = ? THEN e.uploaded_by ELSE NULL END AS uploaded_by, +CASE WHEN up.private_profile = FALSE OR up.id = ? THEN u.username ELSE NULL END AS uploader_name, +r.name AS role_name, +r.badge_id AS role_badge_id, +ub.badge_id AS custom_badge_id +FROM emotes e +LEFT JOIN users u ON u.id = e.uploaded_by +LEFT JOIN user_preferences up ON up.id = u.id +LEFT JOIN role_assigns ra ON ra.user_id = u.id +LEFT JOIN roles r ON r.id = ra.role_id +LEFT JOIN user_badges ub ON ub.user_id = u.id +WHERE e.visibility = 2 +ORDER BY e.created_at DESC +LIMIT 25 +"); +$emote_results->execute([$current_user_id, $current_user_id]); + +$emote_results = $emote_results->fetchAll(PDO::FETCH_ASSOC); + +$emote = $emote_results[0] ?? null; + +if (isset($_GET["id"])) { + $stmt = $db->prepare("SELECT e.*, + CASE WHEN up.private_profile = FALSE OR up.id = ? THEN e.uploaded_by ELSE NULL END AS uploaded_by, + CASE WHEN up.private_profile = FALSE OR up.id = ? THEN u.username ELSE NULL END AS uploader_name, + r.name AS role_name, + r.badge_id AS role_badge_id, + ub.badge_id AS custom_badge_id + FROM emotes e + LEFT JOIN users u ON u.id = e.uploaded_by + LEFT JOIN user_preferences up ON up.id = u.id + LEFT JOIN role_assigns ra ON ra.user_id = u.id + LEFT JOIN roles r ON r.id = ra.role_id + LEFT JOIN user_badges ub ON ub.user_id = u.id + WHERE e.visibility = 2 AND e.id = ? + LIMIT 1"); + + $stmt->execute([$current_user_id, $current_user_id, $_GET["id"]]); + $emote = $stmt->fetch(PDO::FETCH_ASSOC) ?? null; +} + +?> + + + + + System panel - <?php echo INSTANCE_NAME ?> + + + + + +
+
+ + +
+
+ +
+ '; + echo ''; + echo '' . $row["code"] . ''; + echo ' by '; + + if ($row["uploader_name"] == null) { + echo ANONYMOUS_DEFAULT_NAME . '*'; + } else { + echo $row["uploader_name"]; + } + + echo ''; + } + + if (empty($emote_results)) { + echo 'Everything is clear. Good job!'; + } + ?> +
+
+ +
+ +
+ '; + ?> +
+
+
+ '; + + echo ''; + + $path = $_SERVER["DOCUMENT_ROOT"] . '/static/userdata/emotes/' . $emote["id"] . "/{$size}x.webp"; + + echo '
'; + + if ($file_size = filesize($path)) { + $kb = sprintf("%.2f", $file_size / 1024); + echo "

{$kb}KB

"; + } + + if ($image_size = getimagesize($path)) { + echo "

$image_size[0]x$image_size[1]

"; + } + + echo '
'; + } + ?> +
+
+ + +
+ + prepare("SELECT t.code FROM tags t + INNER JOIN tag_assigns ta ON ta.emote_id = ? + WHERE t.id = ta.tag_id + "); + $stmt->execute([$emote["id"]]); + + $tags = $stmt->fetchAll(PDO::FETCH_ASSOC); + $tags = array_column($tags, "code"); + + if (!empty($tags)) { + echo ''; + } + ?> + + + + + + + + + + + + + + +
Tags'; + foreach ($tags as $tag) { + echo "$tag "; + } + echo '
Uploader"; + echo $username; + echo ""; + + if ($emote["role_badge_id"]) { + echo ' ## ' . $emote['; + } + + if ($emote["custom_badge_id"]) { + echo ' '; + } + + echo ', about ' . format_timestamp(time() - strtotime($emote["created_at"])) . " ago"; + ?>
NotesEmpty' ?>
Source + " + target="_blank"> +
+
+ +
+ " style="display: none;"> + +
+ +
+ + +
+
+ +
+ +
+
+
+
+ + + + + + + + + + \ No newline at end of file -- cgit v1.2.3