summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorilotterytea <iltsu@alright.party>2025-05-02 18:35:09 +0500
committerilotterytea <iltsu@alright.party>2025-05-02 18:35:09 +0500
commit0c25e3dd54225b126ad8e48e10f4fbde8ce26ec5 (patch)
treedb7fc3d7c73f96a236eafd12c4255b1835ab3cdd /src
parent9c7e8c24f8273f70d743ae44034a01da352a88e9 (diff)
feat: emote approval
Diffstat (limited to 'src')
-rw-r--r--src/config.php6
-rw-r--r--src/partials.php40
2 files changed, 36 insertions, 10 deletions
diff --git a/src/config.php b/src/config.php
index d75e9f1..f5056ce 100644
--- a/src/config.php
+++ b/src/config.php
@@ -18,6 +18,12 @@ define("ANONYMOUS_DEFAULT_NAME", "chud");
// EMOTES
define("EMOTE_NAME_MAX_LENGTH", 100);
+define("EMOTE_COMMENT_MAX_LENGTH", 100);
+define("EMOTE_VISIBILITY_DEFAULT", 2);
+
+// MODERATION
+define("MOD_SYSTEM_DASHBOARD", true);
+define("MOD_EMOTES_APPROVE", true);
// ACCOUNTS
define("ACCOUNT_USERNAME_REGEX", "/^[A-Za-z0-9_]+$/");
diff --git a/src/partials.php b/src/partials.php
index 9b02a7b..2a560df 100644
--- a/src/partials.php
+++ b/src/partials.php
@@ -30,17 +30,37 @@ function html_navigation_bar()
<?php ;
$stmt = null;
- if (isset($_SESSION["user_role"]) && $_SESSION["user_role"]["permission_report"]) {
- // getting reports
- $stmt = $db->prepare("SELECT COUNT(*) FROM reports WHERE sender_id = ? AND resolved_by IS NULL");
- $stmt->execute([$_SESSION["user_id"]]);
- $unread_count = intval($stmt->fetch()[0]);
+ if (isset($_SESSION["user_role"])) {
+ if ($_SESSION["user_role"]["permission_report"]) {
+ // getting reports
+ $stmt = $db->prepare("SELECT COUNT(*) FROM reports WHERE sender_id = ? AND resolved_by IS NULL");
+ $stmt->execute([$_SESSION["user_id"]]);
+ $unread_count = intval($stmt->fetch()[0]);
- echo '' ?>
- <a href="/report/list.php" class="button">
- Reports <?php echo $unread_count > 0 ? "($unread_count)" : "" ?>
- </a>
- <?php ;
+ echo '' ?>
+ <a href="/report/list.php" class="button">
+ Reports <?php echo $unread_count > 0 ? "($unread_count)" : "" ?>
+ </a>
+ <?php ;
+ }
+
+ if (MOD_SYSTEM_DASHBOARD && ($_SESSION["user_role"]["permission_approve_emotes"] || $_SESSION["user_role"]["permission_report_review"])) {
+ $system_count = 0;
+
+ if ($_SESSION["user_role"]["permission_approve_emotes"] && MOD_EMOTES_APPROVE) {
+ $system_count += intval($db->query("SELECT COUNT(*) FROM emotes WHERE visibility = 2")->fetch()[0]);
+ }
+
+ if ($_SESSION["user_role"]["permission_report_review"]) {
+ $system_count += intval($db->query("SELECT COUNT(*) FROM reports WHERE resolved_by IS NULL")->fetch()[0]);
+ }
+
+ echo '<a href="/system" class="button">System';
+ if ($system_count > 0) {
+ echo " ($system_count)";
+ }
+ echo '</a>';
+ }
}
$stmt = null;