This commit is contained in:
2026-08-10 18:38:14 +02:00
parent 2e53e7e173
commit e894795fe0
4 changed files with 22 additions and 14 deletions

View File

@@ -2820,18 +2820,10 @@ window.initUploadForm = (selector) => {
} }
}; };
// Skip redirect if every item was a background URL job // Inject item into grid without redirecting
const allPending = lastData?.pending && selectedFiles.every(i => i.type === 'url'); const allPending = lastData?.pending && selectedFiles.every(i => i.type === 'url');
if (!allPending) { if (!allPending) {
const targetUrl = (lastData && (lastData.visibility > 0 || lastData.redirect || lastData.slug)) injectNewItem();
? (lastData.redirect || `/${lastData.slug || lastData.itemid}`)
: '/';
if (typeof window.loadPageAjax === 'function') {
await window.loadPageAjax(targetUrl, true, { bypassCache: true });
if (targetUrl === '/') injectNewItem();
} else {
window.location.href = targetUrl;
}
} }
} else { } else {
restoreBtn(); restoreBtn();

View File

@@ -335,7 +335,11 @@ export default {
} }
const isOwnerOrAdmin = (session && user && typeof user === 'string' && session.user && session.user.toLowerCase() === user.toLowerCase()) || (session && (session.admin || session.is_moderator)); const isOwnerOrAdmin = (session && user && typeof user === 'string' && session.user && session.user.toLowerCase() === user.toLowerCase()) || (session && (session.admin || session.is_moderator));
const visibilityFilter = isOwnerOrAdmin ? db`` : db`and coalesce(items.visibility, 0) = 0`; const visibilityFilter = isOwnerOrAdmin
? db``
: (session && session.user
? db`and (coalesce(items.visibility, 0) = 0 or lower(items.username) = ${session.user.toLowerCase()})`
: db`and coalesce(items.visibility, 0) = 0`);
const cacheKey = buildCountCacheKey({ modequery, tag, user, hall, mime, fav, session, excludedTags, newerThan, minXd, userHallObj, tagger }); const cacheKey = buildCountCacheKey({ modequery, tag, user, hall, mime, fav, session, excludedTags, newerThan, minXd, userHallObj, tagger });
let total = getCachedCount(cacheKey); let total = getCachedCount(cacheKey);

View File

@@ -711,7 +711,12 @@ export default router => {
const excludedTags = req.session?.excluded_tags || []; const excludedTags = req.session?.excluded_tags || [];
const isOwnerOrAdmin = req.session && (req.session.admin || req.session.is_moderator); const isOwnerOrAdmin = req.session && (req.session.admin || req.session.is_moderator);
const visibilityFilter = isOwnerOrAdmin ? db`` : db`and coalesce("items".visibility, 0) = 0`; const sessionUser = req.session?.user ? req.session.user.toLowerCase() : null;
const visibilityFilter = isOwnerOrAdmin
? db``
: (sessionUser
? db`and (coalesce("items".visibility, 0) = 0 or lower("items".username) = ${sessionUser})`
: db`and coalesce("items".visibility, 0) = 0`);
const newest = (await db`select max(id) as id from "items"`)[0]?.id || 0; const newest = (await db`select max(id) as id from "items"`)[0]?.id || 0;
const oldest = (await db`select min(id) as id from "items"`)[0]?.id || 0; const oldest = (await db`select min(id) as id from "items"`)[0]?.id || 0;

View File

@@ -236,6 +236,13 @@ export default (router, tpl) => {
${sessionId ? db`EXISTS (SELECT 1 FROM favorites WHERE favorites.item_id = items.id AND favorites.user_id = ${sessionId})` : db`false`} AS is_faved ${sessionId ? db`EXISTS (SELECT 1 FROM favorites WHERE favorites.item_id = items.id AND favorites.user_id = ${sessionId})` : db`false`} AS is_faved
`; `;
const sid = req.session ? +req.session.id : null; const sid = req.session ? +req.session.id : null;
const isOwnerOrAdmin = req.session && (req.session.admin || req.session.is_moderator);
const sessionUser = req.session?.user ? req.session.user.toLowerCase() : null;
const visibilityFilter = isOwnerOrAdmin
? db``
: (sessionUser
? db`AND (COALESCE(items.visibility, 0) = 0 OR LOWER(items.username) = ${sessionUser})`
: db`AND COALESCE(items.visibility, 0) = 0`);
try { try {
let rows; let rows;
@@ -268,7 +275,7 @@ export default (router, tpl) => {
WHERE WHERE
${db.unsafe(modeQuery)} ${db.unsafe(modeQuery)}
AND items.active = true AND items.active = true
AND COALESCE(items.visibility, 0) = 0 ${visibilityFilter}
${excludeSwfSQL} ${excludeSwfSQL}
${excludePdfSQL} ${excludePdfSQL}
${excludeArchiveSQL} ${excludeArchiveSQL}
@@ -293,7 +300,7 @@ export default (router, tpl) => {
WHERE WHERE
${db.unsafe(modeQuery)} ${db.unsafe(modeQuery)}
AND items.active = true AND items.active = true
AND COALESCE(items.visibility, 0) = 0 ${visibilityFilter}
${excludeSwfSQL} ${excludeSwfSQL}
${excludePdfSQL} ${excludePdfSQL}
${excludeArchiveSQL} ${excludeArchiveSQL}