mirror of
https://github.com/luxfi/pics.git
synced 2026-07-27 05:11:31 +00:00
Make deleted post message count translated & pluralised
Fix marked posts having undefined marks if not OP Update migration and fix editposts setting actions to non-array vs actions making it an array to fix modlog page array mapping/translation for actions
This commit is contained in:
+2
-2
@@ -34,8 +34,6 @@ window.addEventListener('settingsReady', function() { //after domcontentloaded
|
||||
console.log('got mark post message', data);
|
||||
const anchor = document.getElementById(data.postId);
|
||||
const postContainer = anchor.nextSibling;
|
||||
postContainer.classList.add('marked');
|
||||
postContainer.setAttribute('data-mark', data.mark);
|
||||
let dataMark = '';
|
||||
switch (data.type) {
|
||||
case 'delete':
|
||||
@@ -47,6 +45,8 @@ window.addEventListener('settingsReady', function() { //after domcontentloaded
|
||||
default:
|
||||
return;
|
||||
}
|
||||
postContainer.classList.add('marked');
|
||||
postContainer.setAttribute('data-mark', dataMark);
|
||||
if (postContainer.classList.contains('op')) {
|
||||
//moved or delete OPs then apply to whole thread
|
||||
const postContainers = document.getElementsByClassName('post-container');
|
||||
|
||||
@@ -428,6 +428,18 @@
|
||||
"one": "Deleted %s file from server",
|
||||
"other": "Deleted %s files from server"
|
||||
},
|
||||
"Deleted %s posts": {
|
||||
"one": "Deleted post",
|
||||
"other": "Deleted %s posts"
|
||||
},
|
||||
"Deleted %s thread and %s post": "Deleted %s thread and %s post",
|
||||
"Deleted %s thread and %s posts": "Deleted %s thread and %s posts",
|
||||
"Deleted %s threads": {
|
||||
"one": "Deleted thread",
|
||||
"other": "Deleted %s threads"
|
||||
},
|
||||
"Deleted %s threads and %s post": "Deleted %s threads and %s post",
|
||||
"Deleted %s threads and %s posts": "Deleted %s threads and %s posts",
|
||||
"Deleted flags": "Deleted flags",
|
||||
"Deleted news": "Deleted news",
|
||||
"Denied %s appeals": "Denied %s appeals",
|
||||
|
||||
@@ -428,6 +428,18 @@
|
||||
"one": "Deleted %s file from server",
|
||||
"other": "Deleted %s files from server"
|
||||
},
|
||||
"Deleted %s posts": {
|
||||
"one": "Deleted post",
|
||||
"other": "Deleted %s posts"
|
||||
},
|
||||
"Deleted %s thread and %s post": "Deleted %s thread and %s post",
|
||||
"Deleted %s thread and %s posts": "Deleted %s thread and %s posts",
|
||||
"Deleted %s threads": {
|
||||
"one": "Deleted thread",
|
||||
"other": "Deleted %s threads"
|
||||
},
|
||||
"Deleted %s threads and %s post": "Deleted %s threads and %s post",
|
||||
"Deleted %s threads and %s posts": "Deleted %s threads and %s posts",
|
||||
"Deleted flags": "Deleted flags",
|
||||
"Deleted news": "Deleted news",
|
||||
"Denied %s appeals": "Denied %s appeals",
|
||||
|
||||
@@ -428,6 +428,18 @@
|
||||
"one": "Deleted %s file from server",
|
||||
"other": "Deleted %s files from server"
|
||||
},
|
||||
"Deleted %s posts": {
|
||||
"one": "Deleted post",
|
||||
"other": "Deleted %s posts"
|
||||
},
|
||||
"Deleted %s thread and %s post": "Deleted %s thread and %s post",
|
||||
"Deleted %s thread and %s posts": "Deleted %s thread and %s posts",
|
||||
"Deleted %s threads": {
|
||||
"one": "Deleted thread",
|
||||
"other": "Deleted %s threads"
|
||||
},
|
||||
"Deleted %s threads and %s post": "Deleted %s threads and %s post",
|
||||
"Deleted %s threads and %s posts": "Deleted %s threads and %s posts",
|
||||
"Deleted flags": "Deleted flags",
|
||||
"Deleted news": "Deleted news",
|
||||
"Denied %s appeals": "Denied %s appeals",
|
||||
|
||||
@@ -20,6 +20,13 @@ module.exports = async(db, redis) => {
|
||||
'settings.language': 'en-GB',
|
||||
},
|
||||
});
|
||||
await db.collection('modlog').updateMany({
|
||||
'actions': 'Edit',
|
||||
}, {
|
||||
'$set': {
|
||||
'actions': ['Edit'],
|
||||
},
|
||||
});
|
||||
console.log('Clearing globalsettings cache');
|
||||
await redis.deletePattern('globalsettings');
|
||||
console.log('Clearing boards cache');
|
||||
|
||||
@@ -172,7 +172,7 @@ module.exports = async (req, res, next) => {
|
||||
const { message } = await deletePostsFiles(res.locals, false); //delete files, not just unlink
|
||||
messages.push(message);
|
||||
}
|
||||
const { action, message } = await deletePosts(res.locals.posts, req.body.delete_ip_global ? null : req.params.board);
|
||||
const { action, message } = await deletePosts(res.locals.posts, req.body.delete_ip_global ? null : req.params.board, res.locals);
|
||||
messages.push(message);
|
||||
if (action) {
|
||||
if (req.body.delete) {
|
||||
|
||||
@@ -166,7 +166,7 @@ module.exports = async (req, res) => {
|
||||
//prune old threads
|
||||
const prunedThreads = await Posts.pruneThreads(res.locals.board);
|
||||
if (prunedThreads.length > 0) {
|
||||
await deletePosts(prunedThreads, req.params.board);
|
||||
await deletePosts(prunedThreads, req.params.board, res.locals);
|
||||
//remove board page html/json for pages > newMaxPage
|
||||
for (let i = newMaxPage+1; i <= oldMaxPage; i++) {
|
||||
promises.push(remove(`${uploadDirectory}/html/${req.params.board}/${i}.html`));
|
||||
|
||||
@@ -3,17 +3,24 @@
|
||||
const { CustomPages, Accounts, Boards, Stats, Posts, Bans, Modlogs } = require(__dirname+'/../../db/')
|
||||
, deletePosts = require(__dirname+'/deletepost.js')
|
||||
, uploadDirectory = require(__dirname+'/../../lib/file/uploaddirectory.js')
|
||||
, i18n = require(__dirname+'/../../lib/locale/locale.js')
|
||||
, { remove } = require('fs-extra');
|
||||
|
||||
module.exports = async (uri, board) => {
|
||||
|
||||
//i18n mumbo jumbo
|
||||
const deleteLocals = {};
|
||||
i18n.init(deleteLocals);
|
||||
const boardLanguage = board.settings.language;
|
||||
deleteLocals.setLocale(deleteLocals, boardLanguage);
|
||||
|
||||
//delete board
|
||||
await Boards.deleteOne(uri);
|
||||
//get all posts (should probably project to get files for deletin and anything else necessary)
|
||||
const allPosts = await Posts.allBoardPosts(uri);
|
||||
if (allPosts.length > 0) {
|
||||
//delete posts and decrement images
|
||||
await deletePosts(allPosts, uri, true);
|
||||
await deletePosts(allPosts, uri, deleteLocals, true);
|
||||
}
|
||||
await Promise.all([
|
||||
Accounts.removeOwnedBoard(board.owner, uri), //remove board from owner account
|
||||
|
||||
@@ -8,7 +8,7 @@ const uploadDirectory = require(__dirname+'/../../lib/file/uploaddirectory.js')
|
||||
, deleteQuotes = require(__dirname+'/../../lib/post/deletequotes.js')
|
||||
, { func: pruneFiles } = require(__dirname+'/../../schedules/tasks/prune.js');
|
||||
|
||||
module.exports = async (posts, board, all=false) => {
|
||||
module.exports = async (posts, board, locals, all=false) => {
|
||||
|
||||
const { pruneImmediately } = config.get;
|
||||
|
||||
@@ -137,7 +137,17 @@ module.exports = async (posts, board, all=false) => {
|
||||
}));
|
||||
}
|
||||
|
||||
const { __n, __ } = locals;
|
||||
|
||||
//hooray!
|
||||
return { action: deletedPosts > 0, message:`Deleted ${threads.length > 0 ? (threads.length + ' thread' + (threads.length > 1 ? 's' : '')) : ''} ${threads.length > 0 && deletedPosts-threads.length > 0 ? 'and' : ''} ${deletedPosts-threads.length > 0 ? (deletedPosts-threads.length + ' post' + (deletedPosts-threads.length > 1 ? 's' : '')) : ''}` };
|
||||
return {
|
||||
action: deletedPosts > 0,
|
||||
//How in the fuck do I use __n with multiple arguments?
|
||||
message: (threads.length > 0 && deletedPosts-threads.length > 0)
|
||||
? __(`Deleted %s thread${threads.length>1?'s':''} and %s post${(deletedPosts-threads.length)>1?'s':''}`, threads.length, deletedPosts-threads.length)
|
||||
: ((threads.length > 0)
|
||||
? __n('Deleted %s threads', threads.length)
|
||||
: __n('Deleted %s posts', deletedPosts))
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
@@ -131,7 +131,7 @@ todo: handle some more situations
|
||||
postId: post.postId,
|
||||
thread: post.thread,
|
||||
}],
|
||||
actions: ModlogActions.EDIT,
|
||||
actions: [ModlogActions.EDIT],
|
||||
date: new Date(),
|
||||
showUser: req.body.hide_name ? false : true,
|
||||
message: req.body.log_message || null,
|
||||
|
||||
@@ -524,7 +524,7 @@ module.exports = async (req, res) => {
|
||||
'postId': -1,
|
||||
}).skip(replyLimit).toArray();
|
||||
if (cyclicOverflowPosts.length > 0) {
|
||||
await deletePosts(cyclicOverflowPosts, req.params.board);
|
||||
await deletePosts(cyclicOverflowPosts, req.params.board, res.locals);
|
||||
const fileCount = cyclicOverflowPosts.reduce((acc, post) => {
|
||||
return acc + (post.files ? post.files.length : 0);
|
||||
}, 0);
|
||||
@@ -659,7 +659,7 @@ module.exports = async (req, res) => {
|
||||
//new thread, prunes any old threads before rebuilds
|
||||
const prunedThreads = await Posts.pruneThreads(res.locals.board);
|
||||
if (prunedThreads.length > 0) {
|
||||
await deletePosts(prunedThreads, req.params.board);
|
||||
await deletePosts(prunedThreads, req.params.board, res.locals);
|
||||
}
|
||||
if (!enableCaptcha) {
|
||||
const endPage = Math.ceil(threadLimit/10);
|
||||
|
||||
Reference in New Issue
Block a user