From 665924c84e8831f33dec09c664065960cd4ed239 Mon Sep 17 00:00:00 2001 From: Kibi Kelburton Date: Sun, 9 Aug 2026 03:30:25 +0200 Subject: [PATCH] maji manji --- src/inc/routes/toptags.mjs | 18 +++++++++++++++++- src/inc/routes/user_tags.mjs | 18 +++++++++++++++++- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/src/inc/routes/toptags.mjs b/src/inc/routes/toptags.mjs index e490d32..5ffb589 100644 --- a/src/inc/routes/toptags.mjs +++ b/src/inc/routes/toptags.mjs @@ -9,7 +9,23 @@ export default (router, tpl) => { const getTagsQuery = async (mode, offset, limit, sessionObj = false, strict = false) => { const excludedTags = sessionObj ? (sessionObj.excluded_tags || []) : []; const isGuest = !sessionObj; - const modequery = lib.getMode(mode); + let baseMode = lib.getMode(mode); + if (isGuest) { + if (mode === 3 || mode === 0 || mode === undefined || mode === null) { + if (cfg.websrv.public_nsfw) { + baseMode = cfg.websrv.public_untagged + ? "(items.id in (select item_id from tags_assign where tag_id in (1, 2)) or not exists (select 1 from tags_assign where item_id = items.id))" + : "items.id in (select item_id from tags_assign where tag_id in (1, 2))"; + } else { + baseMode = cfg.websrv.public_untagged + ? "(items.id in (select item_id from tags_assign where tag_id = 1) or not exists (select 1 from tags_assign where item_id = items.id))" + : "items.id in (select item_id from tags_assign where tag_id = 1)"; + } + } else if (!cfg.websrv.public_untagged && mode === 2) { + baseMode = "1 = 0"; + } + } + const modequery = baseMode; let restrictedFilter = db``; if (isGuest && cfg.nsfp && cfg.nsfp.length > 0) { diff --git a/src/inc/routes/user_tags.mjs b/src/inc/routes/user_tags.mjs index 8d0f5ad..023b02e 100644 --- a/src/inc/routes/user_tags.mjs +++ b/src/inc/routes/user_tags.mjs @@ -9,7 +9,23 @@ export default (router, tpl) => { const getTagsQuery = async (userId, mode, offset, limit, sessionObj = false, strict = false) => { const excludedTags = sessionObj ? (sessionObj.excluded_tags || []) : []; const isGuest = !sessionObj; - const modequery = lib.getMode(mode); + let baseMode = lib.getMode(mode); + if (isGuest) { + if (mode === 3 || mode === 0 || mode === undefined || mode === null) { + if (cfg.websrv.public_nsfw) { + baseMode = cfg.websrv.public_untagged + ? "(items.id in (select item_id from tags_assign where tag_id in (1, 2)) or not exists (select 1 from tags_assign where item_id = items.id))" + : "items.id in (select item_id from tags_assign where tag_id in (1, 2))"; + } else { + baseMode = cfg.websrv.public_untagged + ? "(items.id in (select item_id from tags_assign where tag_id = 1) or not exists (select 1 from tags_assign where item_id = items.id))" + : "items.id in (select item_id from tags_assign where tag_id = 1)"; + } + } else if (!cfg.websrv.public_untagged && mode === 2) { + baseMode = "1 = 0"; + } + } + const modequery = baseMode; let restrictedFilter = db``; if (isGuest && cfg.nsfp && cfg.nsfp.length > 0) {