misc
This commit is contained in:
@ -68,8 +68,7 @@ export default new class {
|
||||
parseTag(tag) {
|
||||
if(!tag)
|
||||
return null;
|
||||
return tag
|
||||
.replace(/%20/g, " ");
|
||||
return decodeURI(tag);
|
||||
}
|
||||
|
||||
// async funcs
|
||||
@ -103,8 +102,20 @@ export default new class {
|
||||
.leftJoin("tags", "tags.id", "tags_assign.tag_id")
|
||||
.leftJoin("user", "user.id", "tags_assign.user_id")
|
||||
.where("tags_assign.item_id", itemid);
|
||||
for(let t = 0; t < tags.length; t++)
|
||||
tags[t].tag = tags[t].tag.replace(/[\u00A0-\u9999<>\&]/g, i => '&#'+i.charCodeAt(0)+';');
|
||||
for(let t = 0; t < tags.length; t++) {
|
||||
if(tags[t].tag.startsWith(">"))
|
||||
tags[t].badge = "badge-greentext badge-light";
|
||||
else if(/[а-яА-ЯЁё]/.test(tags[t].tag) || tags[t].tag.match(/russia/))
|
||||
tags[t].badge = "badge-russia badge-light";
|
||||
else if(tags[t].tag.match(/german/))
|
||||
tags[t].badge = "badge-german badge-light";
|
||||
else if(tags[t].tag === "sfw")
|
||||
tags[t].badge = "badge-success";
|
||||
else if(tags[t].tag === "nsfw")
|
||||
tags[t].badge = "badge-danger";
|
||||
else
|
||||
tags[t].badge = "badge-light";
|
||||
}
|
||||
return tags;
|
||||
};
|
||||
|
||||
|
@ -13,7 +13,7 @@ const auth = async (req, res, next) => {
|
||||
|
||||
export default (router, tpl) => {
|
||||
router.get(/^\/?(?:tag\/(?<tag>.+?))?(?:user\/(?<user>.+?))?(?:\/(?<mime>image|audio|video))?(?:\/p\/(?<page>\d+))?(?:\/(?<itemid>\d+))?$/, async (req, res) => {
|
||||
const user = req.params.user ?? null;
|
||||
const user = req.params.user ? decodeURI(req.params.user) : null;
|
||||
const tag = lib.parseTag(req.params.tag ?? null);
|
||||
const mime = (req.params.mime ?? "");
|
||||
const smime = allowedMimes.includes(mime) ? mime + "/%" : mime === "" ? "%" : "%";
|
||||
|
Reference in New Issue
Block a user