Close #478 option to hide banners and [banners] links board setting

indiachan-spamvector
Thomas Lynch 2 years ago
parent fd7fc1adbf
commit 35da2a9ff1
  1. 1
      configs/template.js.example
  2. 21
      migrations/0.9.0.js
  3. 2
      models/forms/changeboardsettings.js
  4. 1
      models/forms/changeglobalsettings.js
  5. 2
      package.json
  6. 5
      views/mixins/boardheader.pug
  7. 5
      views/mixins/boardnav.pug
  8. 4
      views/pages/globalmanagesettings.pug
  9. 4
      views/pages/managesettings.pug

@ -400,6 +400,7 @@ module.exports = {
forceThreadFile: false,
forceThreadSubject: false,
disableReplySubject: false,
hideBanners: false,
minThreadMessageLength: 0,
minReplyMessageLength: 0,
maxThreadMessageLength: 20000,

@ -0,0 +1,21 @@
'use strict';
module.exports = async(db, redis) => {
console.log('add board option to hide banners and [banners] link, and globalsettings board default option');
await db.collection('globalsettings').updateOne({ _id: 'globalsettings' }, {
'$set': {
'boardDefaults.hideBanners': false,
},
});
await db.collection('boards').updateMany({
'webring': false,
}, {
'$set':{
'settings.hideBanners': false,
},
});
console.log('Clearing globalsettings cache');
await redis.deletePattern('globalsettings');
console.log('Clearing boards cache');
await redis.deletePattern('board:*');
};

@ -28,6 +28,7 @@ const { Boards, Posts } = require(__dirname+'/../../db/')
'announcement.raw': ['board', 'threads', 'catalog', 'other'],
'customCss': ['board', 'threads', 'catalog', 'other'],
'enableTegaki': ['board', 'threads', 'catalog'],
'hideBanners': ['board', 'threads', 'catalog'],
});
module.exports = async (req, res) => {
@ -79,6 +80,7 @@ module.exports = async (req, res) => {
'forceReplyFile': booleanSetting(req.body.force_reply_file),
'forceThreadSubject': booleanSetting(req.body.force_thread_subject),
'disableReplySubject': booleanSetting(req.body.disable_reply_subject),
'hideBanners': booleanSetting(req.body.hide_banners),
'captchaMode': numberSetting(req.body.captcha_mode, oldSettings.captchaMode),
'tphTrigger': numberSetting(req.body.tph_trigger, oldSettings.tphTrigger),
'tphTriggerAction': numberSetting(req.body.tph_trigger_action, oldSettings.tphTriggerAction),

@ -306,6 +306,7 @@ module.exports = async (req, res) => {
forceThreadFile: booleanSetting(req.body.board_defaults_force_thread_file, oldSettings.boardDefaults.forceThreadFile),
forceThreadSubject: booleanSetting(req.body.board_defaults_force_thread_subject, oldSettings.boardDefaults.forceThreadSubject),
disableReplySubject: booleanSetting(req.body.board_defaults_disable_reply_subject, oldSettings.boardDefaults.disableReplySubject),
hideBanners: booleanSetting(req.body.board_defaults_hide_banners, oldSettings.boardDefaults.hideBanners),
minThreadMessageLength: numberSetting(req.body.board_defaults_min_thread_message_length, oldSettings.boardDefaults.minThreadMessageLength),
minReplyMessageLength: numberSetting(req.body.board_defaults_min_reply_message_length, oldSettings.boardDefaults.minReplyMessageLength),
maxThreadMessageLength: numberSetting(req.body.board_defaults_max_thread_message_length, oldSettings.boardDefaults.maxThreadMessageLength),

@ -1,7 +1,7 @@
{
"name": "jschan",
"version": "0.8.2",
"migrateVersion": "0.8.0",
"migrateVersion": "0.9.0",
"description": "",
"main": "server.js",
"dependencies": {

@ -1,7 +1,8 @@
mixin boardheader(pagename)
.board-header
img.board-banner(src=`/randombanner?board=${board._id}` loading='lazy')
br
if board.settings != null && board.settings.hideBanners === false
img.board-banner(src=`/randombanner?board=${board._id}` loading='lazy')
br
if pagename
h1.board-title #{pagename}(#[a.no-decoration(href=`/${board._id}/index.html`) /#{board._id}/])
else

@ -4,8 +4,9 @@ mixin boardnav(selected, showIndex, upLevel)
a(href=`${upLevel ? '../' : ''}index.html` class=(selected === 'index' ? 'bold' : '')) [Index]
|
a(href=`${upLevel ? '../' : ''}catalog.html` class=(selected === 'catalog' ? 'bold' : '')) [Catalog]
|
a(href=`${upLevel ? '../' : ''}banners.html` class=(selected === 'banners' ? 'bold' : '')) [Banners]
if board.settings != null && board.settings.hideBanners === false
|
a(href=`${upLevel ? '../' : ''}banners.html` class=(selected === 'banners' ? 'bold' : '')) [Banners]
|
a(href=`${upLevel ? '../' : ''}logs.html` class=(selected === 'logs' ? 'bold' : '')) [Logs]
if thread != null && board.settings != null && board.settings.archiveLinks === true

@ -820,6 +820,10 @@ block content
.label Disable Reply Subject
label.postform-style.ph-5
input(type='checkbox', name='board_defaults_disable_reply_subject', value='true' checked=settings.boardDefaults.disableReplySubject)
.row
.label Hide Baners
label.postform-style.ph-5
input(type='checkbox', name='board_defaults_hide_banners', value='true' checked=settings.boardDefaults.hideBanners)
.row
.label Min Thread Message Length
input(type='number' name='board_defaults_min_thread_message_length' value=settings.boardDefaults.minThreadMessageLength)

@ -85,6 +85,10 @@ block content
.row
.label Custom CSS
textarea(name='custom_css' placeholder='Test first in top-right settings if you have javascript enabled' maxlength=globalLimits.customCss.max) #{board.settings.customCss}
.row
.label Hide Banners
label.postform-style.ph-5
input(type='checkbox', name='hide_banners', value='true' checked=board.settings.hideBanners)
.row
.label IDs
label.postform-style.ph-5

Loading…
Cancel
Save