jschan - Anonymous imageboard software. Classic look, modern features and feel. Works without JavaScript and supports Tor, I2P, Lokinet, etc.
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
'use strict';
|
|
|
|
|
|
|
|
const Boards = require(__dirname+'/../../db/boards.js');
|
|
|
|
|
|
|
|
module.exports = async (req, res, next) => {
|
|
|
|
|
|
|
|
if (!req.query.board) {
|
|
|
|
return next();
|
|
|
|
}
|
|
|
|
|
|
|
|
// get all threads
|
|
|
|
let board;
|
|
|
|
try {
|
|
|
|
board = await Boards.findOne(req.query.board);
|
|
|
|
} catch (err) {
|
|
|
|
return next(err);
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!board) {
|
|
|
|
return next();
|
|
|
|
}
|
|
|
|
|
|
|
|
if (board.banners.length > 0) {
|
|
|
|
const randomBanner = board.banners[Math.floor(Math.random()*board.banners.length)];
|
|
|
|
return res.redirect(`/banner/${randomBanner}`);
|
|
|
|
}
|
|
|
|
|
|
|
|
return res.redirect('/img/defaultbanner.png');
|
|
|
|
|
|
|
|
}
|