diff --git a/install/data/defaults.json b/install/data/defaults.json index 194283b400..a6f53f49c0 100644 --- a/install/data/defaults.json +++ b/install/data/defaults.json @@ -126,6 +126,7 @@ "eventLoopInterval": 500, "onlineCutoff": 30, "timeagoCutoff": 30, + "necroThreshold": 7, "categoryWatchState": "watching", "submitPluginUsage": 1 } \ No newline at end of file diff --git a/public/language/en-GB/admin/settings/post.json b/public/language/en-GB/admin/settings/post.json index 096b69026f..da708f4c6c 100644 --- a/public/language/en-GB/admin/settings/post.json +++ b/public/language/en-GB/admin/settings/post.json @@ -32,6 +32,8 @@ "timestamp": "Timestamp", "timestamp.cut-off": "Date cut-off (in days)", "timestamp.cut-off-help": "Dates & times will be shown in a relative manner (e.g. \"3 hours ago\" / \"5 days ago\"), and localised into various\n\t\t\t\t\tlanguages. After a certain point, this text can be switched to display the localised date itself\n\t\t\t\t\t(e.g. 5 Nov 2016 15:30).
(Default: 30, or one month). Set to 0 to always display dates, leave blank to always display relative times.", + "timestamp.necro-threshold": "Necro Threshold (in days)", + "timestamp.necro-threshold-help": "A message will be shown between posts if the time between them is longer than the necro threshold. (Default: 7, or one week). Set to 0 to disable.", "teaser": "Teaser Post", "teaser.last-post": "Last – Show the latest post, including the original post, if no replies", "teaser.last-reply": "Last – Show the latest reply, or a \"No replies\" placeholder if no replies", diff --git a/public/src/client/topic/posts.js b/public/src/client/topic/posts.js index 61b000d8ac..6bcc05ddc2 100644 --- a/public/src/client/topic/posts.js +++ b/public/src/client/topic/posts.js @@ -261,8 +261,8 @@ define('forum/topic/posts', [ }; function addNecroPostMessage() { - var necroThreshold = 7 * 24 * 60 * 60 * 1000; - if (config.topicPostSort !== 'newest_to_oldest' && config.topicPostSort !== 'oldest_to_newest') { + var necroThreshold = ajaxify.data.necroThreshold * 24 * 60 * 60 * 1000; + if (!necroThreshold || (config.topicPostSort !== 'newest_to_oldest' && config.topicPostSort !== 'oldest_to_newest')) { return; } diff --git a/src/controllers/topics.js b/src/controllers/topics.js index 5ac12e629d..a42747c0d4 100644 --- a/src/controllers/topics.js +++ b/src/controllers/topics.js @@ -81,6 +81,7 @@ topicsController.get = async function getTopic(req, res, callback) { topicData['downvote:disabled'] = meta.config['downvote:disabled']; topicData['feeds:disableRSS'] = meta.config['feeds:disableRSS']; topicData.bookmarkThreshold = meta.config.bookmarkThreshold; + topicData.necroThreshold = meta.config.necroThreshold; topicData.postEditDuration = meta.config.postEditDuration; topicData.postDeleteDuration = meta.config.postDeleteDuration; topicData.scrollToMyPost = settings.scrollToMyPost; diff --git a/src/views/admin/settings/post.tpl b/src/views/admin/settings/post.tpl index 4a1657b096..5ee1dbdc6c 100644 --- a/src/views/admin/settings/post.tpl +++ b/src/views/admin/settings/post.tpl @@ -163,6 +163,13 @@ [[admin/settings/post:timestamp.cut-off-help]]

+
+ + +

+ [[admin/settings/post:timestamp.necro-threshold-help]] +

+