|
|
|
extends ../layout.pug
|
|
|
|
include ../mixins/globalmanagenav.pug
|
|
|
|
|
|
|
|
block head
|
|
|
|
title Settings
|
|
|
|
|
|
|
|
block content
|
|
|
|
h1.board-title Global Management
|
|
|
|
br
|
|
|
|
+globalmanagenav('settings')
|
|
|
|
hr(size=1)
|
|
|
|
h4.no-m-p Delete board:
|
|
|
|
.form-wrapper.flexleft.mt-10
|
|
|
|
form.form-post(action=`/forms/global/deleteboard`, enctype='application/x-www-form-urlencoded', method='POST')
|
|
|
|
input(type='hidden' name='_csrf' value=csrf)
|
|
|
|
.row
|
|
|
|
.label Board URI
|
|
|
|
input(type='text' name='uri' required)
|
|
|
|
.row
|
|
|
|
.label I'm sure
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='confirm', value='true' required)
|
|
|
|
input(type='submit', value='submit')
|
|
|
|
hr(size=1)
|
|
|
|
h4.no-m-p Settings:
|
|
|
|
.form-wrapper.flexleft.mt-10
|
|
|
|
form.form-post(action=`/forms/global/settings`, enctype='application/x-www-form-urlencoded', method='POST')
|
|
|
|
input(type='hidden' name='_csrf' value=csrf)
|
|
|
|
input.row(type='submit', value='save settings')
|
|
|
|
.row.wrap.sb
|
|
|
|
.col.mr-5
|
|
|
|
|
|
|
|
.row
|
|
|
|
h4.mv-5 Security
|
|
|
|
.row
|
|
|
|
.label Referer Check
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='referrer_check', value='true' checked=settings.refererCheck)
|
|
|
|
.row
|
|
|
|
.label Allowed Hosts
|
|
|
|
textarea(name='allowed_hosts' placeholder='Newline separated') #{settings.allowedHosts.join('\n')}
|
|
|
|
.row
|
|
|
|
.label Secure Cookies
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='secure_cookies', value='true' checked=settings.secureCookies)
|
|
|
|
.row
|
|
|
|
.label Don't store raw IPs
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='dont_store_raw_ips', value='true' checked=settings.dontStoreRawIps)
|
|
|
|
.row
|
|
|
|
.label Prune IPs Days
|
|
|
|
input(type='number', name='prune_ips' value=settings.pruneIps)
|
|
|
|
.row
|
|
|
|
h4.mv-5 Server
|
|
|
|
.row
|
|
|
|
.label Global Announcement
|
|
|
|
textarea(name='global_announcement') #{settings.globalAnnouncement.raw}
|
|
|
|
.row
|
|
|
|
.label Country Code Header
|
|
|
|
input(type='text' name='country_code_header' value=settings.countryCodeHeader)
|
|
|
|
.row
|
|
|
|
.label IP Header
|
|
|
|
input(type='text' name='ip_header' value=settings.ipHeader)
|
|
|
|
.row
|
|
|
|
.label Meta Site Name
|
|
|
|
input(type='text' name='meta_site_name' value=settings.meta.siteName)
|
|
|
|
.row
|
|
|
|
.label Meta URL
|
|
|
|
input(type='text' name='meta_url' value=settings.meta.url)
|
|
|
|
.row
|
|
|
|
.label Disable Anonymizer File Posting
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='disable_anonymizer_file_posting', value='true' checked=settings.disableAnonymizerFilePosting)
|
|
|
|
.row
|
|
|
|
.label Stats Count Anonymizers
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='stats_count_anonymizers', value='true' checked=settings.statsCountAnonymizers)
|
|
|
|
.row
|
|
|
|
.label Prune Files Immediately
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='prune_immediately', value='true' checked=settings.pruneImmediately)
|
|
|
|
.row
|
|
|
|
.label Thumbnail File Extension
|
|
|
|
input(type='text' name='thumb_extension' value=settings.thumbExtension)
|
|
|
|
.row
|
|
|
|
.label Fuzzy Hash Images
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='hash_images' value='true' checked=settings.hashImages)
|
|
|
|
.row
|
|
|
|
.label Template Cache
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='cache_templates' value='true' checked=settings.cacheTemplates)
|
|
|
|
.row
|
|
|
|
.label Template Generation Lock Time
|
|
|
|
input(type='number' name='lock_wait' value=settings.lockWait)
|
|
|
|
.row
|
|
|
|
.label Hot Threads Limit
|
|
|
|
input(type='number' name='hot_threads_limit' value=settings.hotThreadsLimit)
|
|
|
|
.row
|
|
|
|
.label Hot Threads Threshold
|
|
|
|
input(type='number' name='hot_threads_threshold' value=settings.hotThreadsThreshold)
|
|
|
|
.row
|
|
|
|
.label Overboard Index Thread Limit
|
|
|
|
input(type='number' name='overboard_limit' value=settings.overboardLimit)
|
|
|
|
.row
|
|
|
|
.label Overboard Catalog Thread Limit
|
|
|
|
input(type='number' name='overboard_catalog_limit' value=settings.overboardCatalogLimit)
|
|
|
|
.row
|
|
|
|
.label Allow Custom Overboard
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='allow_custom_overboard' value='true' checked=settings.allowCustomOverboard)
|
|
|
|
.row
|
|
|
|
.label
|
|
|
|
| External Archive Links URL
|
|
|
|
|
|
|
|
|
small
|
|
|
|
| (
|
|
|
|
a(href='/faq.html#archive-reverse-url-format') ?
|
|
|
|
| )
|
|
|
|
input(type='text', name='archive_links', value=settings.archiveLinksURL)
|
|
|
|
.row
|
|
|
|
.label
|
|
|
|
| Reverse Image Search Links URL
|
|
|
|
|
|
|
|
|
small
|
|
|
|
| (
|
|
|
|
a(href='/faq.html#archive-reverse-url-format') ?
|
|
|
|
| )
|
|
|
|
input(type='text', name='reverse_links', value=settings.reverseImageLinksURL)
|
|
|
|
.row
|
|
|
|
.label Prune Modlogs Days
|
|
|
|
input(type='number', name='prune_modlogs' value=settings.pruneModlogs)
|
|
|
|
.row
|
|
|
|
row
|
|
|
|
h4.mv-5 Limits
|
|
|
|
.row
|
|
|
|
.label Default Ban Duration
|
|
|
|
input(type='text', name='default_ban_duration', placeholder='e.g. 1w', value=settings.defaultBanDuration)
|
|
|
|
.row
|
|
|
|
.label Quote Limit
|
|
|
|
input(type='number', name='quote_limit', value=settings.quoteLimit)
|
|
|
|
.row
|
|
|
|
.label Preview Replies
|
|
|
|
input(type='number', name='preview_replies', value=settings.previewReplies)
|
|
|
|
.row
|
|
|
|
.label Sticky Preview Replies
|
|
|
|
input(type='number', name='sticky_preview_replies', value=settings.stickyPreviewReplies)
|
|
|
|
.row
|
|
|
|
.label Early 404 Fraction
|
|
|
|
input(type='number', name='early_404_fraction', value=settings.early404Fraction)
|
|
|
|
.row
|
|
|
|
.label Early 404 Replies
|
|
|
|
input(type='number', name='early_404_replies', value=settings.early404Replies)
|
|
|
|
.row
|
|
|
|
.label Max Homepage News Entries
|
|
|
|
input(type='number', name='max_recent_news', value=settings.maxRecentNews)
|
|
|
|
.row
|
|
|
|
.label Inactive Account Time
|
|
|
|
input(type='text', name='inactive_account_time', placeholder='e.g. 1w', value=settings.inactiveAccountTime)
|
|
|
|
.row
|
|
|
|
.label Inactive Account Action
|
|
|
|
select(name='inactive_account_action')
|
|
|
|
option(value='0', selected=settings.inactiveAccountTime === 0) Do nothing
|
|
|
|
option(value='1', selected=settings.inactiveAccountTime === 1) Forfeit staff positions
|
|
|
|
option(value='2', selected=settings.inactiveAccountTime === 2) Delete Account
|
|
|
|
.row
|
|
|
|
.label Abandoned Board Action
|
|
|
|
select(name='abandoned_board_action')
|
|
|
|
option(value='0', selected=settings.abandonedBoardAction === 0) Do nothing
|
|
|
|
option(value='1', selected=settings.abandonedBoardAction === 1) Lock board
|
|
|
|
option(value='2', selected=settings.abandonedBoardAction === 2) Lock+unlist board
|
|
|
|
option(value='3', selected=settings.abandonedBoardAction === 3) Delete board
|
|
|
|
|
|
|
|
.col.mr-5
|
|
|
|
|
|
|
|
.row
|
|
|
|
h4.mv-5 Captcha
|
|
|
|
.row
|
|
|
|
.label Type
|
|
|
|
select(name='captcha_options_type')
|
|
|
|
option(value='text', selected=settings.captchaOptions.type === 'text') Text
|
|
|
|
option(value='grid', selected=settings.captchaOptions.type === 'grid') Grid v1
|
|
|
|
option(value='grid2', selected=settings.captchaOptions.type === 'grid2') Grid v2
|
|
|
|
option(value='google', selected=settings.captchaOptions.type === 'google') Google
|
|
|
|
option(value='hcaptcha', selected=settings.captchaOptions.type === 'hcaptcha') Hcaptcha
|
|
|
|
.row
|
|
|
|
.label Generate Limit
|
|
|
|
input(type='number' name='captcha_options_generate_limit' value=settings.captchaOptions.generateLimit)
|
|
|
|
.row
|
|
|
|
h4.mv-5 Grid Captcha Options
|
|
|
|
.row
|
|
|
|
.label Image Size
|
|
|
|
input(type='number' name='captcha_options_grid_image_size' value=settings.captchaOptions.grid.imageSize)
|
|
|
|
.row
|
|
|
|
.label Grid Size
|
|
|
|
input(type='number' name='captcha_options_grid_size' value=settings.captchaOptions.grid.size)
|
|
|
|
.row
|
|
|
|
.label Icon Offset
|
|
|
|
input(type='number' name='captcha_options_grid_icon_y_offset' value=settings.captchaOptions.grid.iconYOffset)
|
|
|
|
.row
|
|
|
|
.label True Characters
|
|
|
|
textarea(name='captcha_options_grid_trues' placeholder='Newline separated') #{settings.captchaOptions.grid.trues.join('\n')}
|
|
|
|
.row
|
|
|
|
.label False Characters
|
|
|
|
textarea(name='captcha_options_grid_falses' placeholder='Newline separated') #{settings.captchaOptions.grid.falses.join('\n')}
|
|
|
|
.row
|
|
|
|
.label Question Text
|
|
|
|
input(type='text' name='captcha_options_grid_question' value=settings.captchaOptions.grid.question)
|
|
|
|
.row
|
|
|
|
.label Edge Effect Strength
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='range' name='captcha_options_grid_edge' min='0' max='50' value=settings.captchaOptions.grid.edge)
|
|
|
|
.row
|
|
|
|
.label Noise Effect Strength
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='range' name='captcha_options_grid_noise' min='0' max='10' value=settings.captchaOptions.grid.noise)
|
|
|
|
.row
|
|
|
|
h4.mv-5 Text Captcha Options
|
|
|
|
.row
|
|
|
|
.label Font
|
|
|
|
select(name='captcha_options_text_font')
|
|
|
|
option(value='default' selected=(settings.captchaOptions.text.font === 'default')) Default
|
|
|
|
each font in fontList
|
|
|
|
option(value=font.path selected=(settings.captchaOptions.text.font === font.path)) #{font.name}
|
|
|
|
.row
|
|
|
|
.label Strikethrough Effect
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='captcha_options_text_line', value='true' checked=settings.captchaOptions.text.line)
|
|
|
|
.row
|
|
|
|
.label Wave Effect Strength
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='range' name='captcha_options_text_wave' min='0' max='10' value=settings.captchaOptions.text.wave)
|
|
|
|
.row
|
|
|
|
.label Paint Effect Strength
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='range' name='captcha_options_text_paint' min='0' max='10' value=settings.captchaOptions.text.paint)
|
|
|
|
.row
|
|
|
|
.label Noise Effect Strength
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='range' name='captcha_options_text_noise' min='0' max='10' value=settings.captchaOptions.text.noise)
|
|
|
|
.row
|
|
|
|
h4.mv-5 Captcha Distortion
|
|
|
|
.row
|
|
|
|
.label Minimum Distortions
|
|
|
|
input(type='number' name='captcha_options_num_distorts_min' value=settings.captchaOptions.numDistorts.min)
|
|
|
|
.row
|
|
|
|
.label Maximum Distortions
|
|
|
|
input(type='number' name='captcha_options_num_distorts_max' value=settings.captchaOptions.numDistorts.max)
|
|
|
|
.row
|
|
|
|
.label Distortion Intensity
|
|
|
|
input(type='number' name='captcha_options_distortion' value=settings.captchaOptions.distortion)
|
|
|
|
|
|
|
|
.row
|
|
|
|
h4.mv-5 Block Bypass
|
|
|
|
.row
|
|
|
|
.label Enabled
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='block_bypass_enabled', value='true' checked=settings.blockBypass.enabled)
|
|
|
|
.row
|
|
|
|
.label Force Anonymizers
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='block_bypass_force_anonymizers', value='true' checked=settings.blockBypass.forceAnonymizers)
|
|
|
|
.row
|
|
|
|
.label Bypass DNSBL
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='block_bypass_bypass_dnsbl', value='true' checked=settings.blockBypass.bypassDnsbl)
|
|
|
|
.row
|
|
|
|
.label Expire After Uses
|
|
|
|
input(type='number' name='block_bypass_expire_after_uses' value=settings.blockBypass.expireAfterUses)
|
|
|
|
.row
|
|
|
|
.label Expire After Time
|
|
|
|
input(type='text' name='block_bypass_expire_after_time' placeholder='e.g. 1d' value=settings.blockBypass.expireAfterTime)
|
|
|
|
|
|
|
|
.row
|
|
|
|
h4.mv-5 Antispam
|
|
|
|
.row
|
|
|
|
.label Filters
|
|
|
|
textarea(name='filters' placeholder='Newline separated') #{settings.filters.join('\n')}
|
|
|
|
.row
|
|
|
|
.label Strict Filtering
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='strict_filtering', value='true', checked=settings.strictFiltering)
|
|
|
|
.row
|
|
|
|
.label Filter Bans Appealable
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='filter_ban_appealable', value='true', checked=settings.filterBanAppealable)
|
|
|
|
.row
|
|
|
|
.label Filter Mode
|
|
|
|
select(name='filter_mode')
|
|
|
|
option(value='0', selected=settings.filterMode === 0) Do nothing
|
|
|
|
option(value='1', selected=settings.filterMode === 1) Block post
|
|
|
|
option(value='2', selected=settings.filterMode === 2) Ban
|
|
|
|
.row
|
|
|
|
.label Filter Auto Ban Duration
|
|
|
|
input(type='text' name='ban_duration' placeholder='e.g. 1w' value=settings.filterBanDuration)
|
|
|
|
.row
|
|
|
|
.label Same Content Same IP/ID
|
|
|
|
input(type='number' name='flood_timers_same_content_same_ip' value=settings.floodTimers.sameContentSameIp)
|
|
|
|
.row
|
|
|
|
.label Same Content Any IP/ID
|
|
|
|
input(type='number' name='flood_timers_same_content_any_ip' value=settings.floodTimers.sameContentAnyIp)
|
|
|
|
.row
|
|
|
|
.label Any Content Same IP/ID
|
|
|
|
input(type='number' name='flood_timers_any_content_same_ip' value=settings.floodTimers.anyContentSameIp)
|
|
|
|
|
|
|
|
.row
|
|
|
|
h4.mv-5 DNSBL
|
|
|
|
.row
|
|
|
|
.label Enabled
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='dnsbl_enabled', value='true' checked=settings.dnsbl.enabled)
|
|
|
|
.row
|
|
|
|
.label DNSBL Addresses
|
|
|
|
textarea(name='dnsbl_blacklists' placeholder='Newline separated') #{settings.dnsbl.blacklists.join('\n')}
|
|
|
|
.row
|
|
|
|
.label Cache Time
|
|
|
|
input(type='text' name='dnsbl_cache_time' placeholder='e.g. 1h' value=settings.dnsbl.cacheTime)
|
|
|
|
|
|
|
|
.row
|
|
|
|
h4.mv-5 Ratelimit Costs
|
|
|
|
.row
|
|
|
|
.label Generate Captcha
|
|
|
|
input(type='number' name='rate_limit_cost_captcha' value=settings.rateLimitCost.captcha)
|
|
|
|
.row
|
|
|
|
.label Change Board Settings
|
|
|
|
input(type='number' name='rate_limit_cost_board_settings' value=settings.rateLimitCost.boardSettings)
|
|
|
|
.row
|
|
|
|
.label Edit Post
|
|
|
|
input(type='number' name='rate_limit_cost_edit_post' value=settings.rateLimitCost.editPost)
|
|
|
|
|
|
|
|
.col.mr-5
|
|
|
|
|
|
|
|
.row
|
|
|
|
h4.mv-5 Code Highlighting
|
|
|
|
.row
|
|
|
|
.label
|
|
|
|
| Code Highlighting Auto-Detect Languages
|
|
|
|
|
|
|
|
|
small
|
|
|
|
| (
|
|
|
|
a(rel='nofollow' referrerpolicy='same-origin' target='_blank' href='https://github.com/highlightjs/highlight.js/blob/master/SUPPORTED_LANGUAGES.md') Supported Languages
|
|
|
|
| )
|
|
|
|
textarea(name='highlight_options_language_subset' placeholder='Newline separated') #{settings.highlightOptions.languageSubset.join('\n')}
|
|
|
|
.row
|
|
|
|
.label Code Highlight Language Detect Threshold
|
|
|
|
input(type='number' name='highlight_options_threshold' value=settings.highlightOptions.threshold)
|
|
|
|
|
|
|
|
.row
|
|
|
|
h4.mv-5 Themes
|
|
|
|
.row
|
|
|
|
.label Allowed Themes
|
|
|
|
textarea(name='themes' placeholder='Newline separated') #{settings.themes.join('\n')}
|
|
|
|
.row
|
|
|
|
.label Allowed Code Themes
|
|
|
|
textarea(name='code_themes' placeholder='Newline separated') #{settings.codeThemes.join('\n')}
|
|
|
|
.row
|
|
|
|
.label Default Theme
|
|
|
|
select(name='board_defaults_theme')
|
|
|
|
each theme in themes
|
|
|
|
option(value=theme selected=settings.boardDefaults.theme === theme) #{theme}
|
|
|
|
.row
|
|
|
|
.label Default Code Theme
|
|
|
|
select(name='board_defaults_code_theme')
|
|
|
|
each theme in codeThemes
|
|
|
|
option(value=theme selected=settings.boardDefaults.codeTheme === theme) #{theme}
|
|
|
|
|
|
|
|
.row
|
|
|
|
h4.mv-5 Custom CSS
|
|
|
|
.row
|
|
|
|
.label Enable
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='global_limits_custom_css_enabled' value='true' checked=settings.globalLimits.customCss.enabled)
|
|
|
|
.row
|
|
|
|
.label Filters
|
|
|
|
textarea(name='global_limits_custom_css_filters' placeholder='Newline separated') #{settings.globalLimits.customCss.filters.join('\n')}
|
|
|
|
.row
|
|
|
|
.label Strict Filtering
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='global_limits_custom_css_strict' value='true' checked=settings.globalLimits.customCss.strict)
|
|
|
|
.row
|
|
|
|
.label Max Length
|
|
|
|
input(type='number' name='global_limits_custom_css_max' value=settings.globalLimits.customCss.max)
|
|
|
|
|
|
|
|
.row
|
|
|
|
h4.mv-5 Field Length Limits
|
|
|
|
.row
|
|
|
|
.label Name
|
|
|
|
input(type='number', name='global_limits_field_length_name' value=settings.globalLimits.fieldLength.name)
|
|
|
|
.row
|
|
|
|
.label Email
|
|
|
|
input(type='number', name='global_limits_field_length_email' value=settings.globalLimits.fieldLength.email)
|
|
|
|
.row
|
|
|
|
.label Subject
|
|
|
|
input(type='number', name='global_limits_field_length_subject' value=settings.globalLimits.fieldLength.subject)
|
|
|
|
.row
|
|
|
|
.label Post Password
|
|
|
|
input(type='number', name='global_limits_field_length_postpassword' value=settings.globalLimits.fieldLength.postpassword)
|
|
|
|
.row
|
|
|
|
.label Message
|
|
|
|
input(type='number', name='global_limits_field_length_message' value=settings.globalLimits.fieldLength.message)
|
|
|
|
.row
|
|
|
|
.label Report Reason
|
|
|
|
input(type='number', name='global_limits_field_length_report_reason' value=settings.globalLimits.fieldLength.report_reason)
|
|
|
|
.row
|
|
|
|
.label Ban Reason
|
|
|
|
input(type='number', name='global_limits_field_length_ban_reason' value=settings.globalLimits.fieldLength.ban_reason)
|
|
|
|
.row
|
|
|
|
.label Log Messages
|
|
|
|
input(type='number', name='global_limits_field_length_log_message' value=settings.globalLimits.fieldLength.log_message)
|
|
|
|
.row
|
|
|
|
.label Board URI
|
|
|
|
input(type='number', name='global_limits_field_length_uri' value=settings.globalLimits.fieldLength.uri)
|
|
|
|
.row
|
|
|
|
.label Board Name
|
|
|
|
input(type='number', name='global_limits_field_length_boardname' value=settings.globalLimits.fieldLength.boardname)
|
|
|
|
.row
|
|
|
|
.label Board Description
|
|
|
|
input(type='number', name='global_limits_field_length_description' value=settings.globalLimits.fieldLength.description)
|
|
|
|
.row
|
|
|
|
.label Multi Input Form Anon
|
|
|
|
input(type='number', name='global_limits_multi_input_posts_anon' value=settings.globalLimits.multiInputs.posts.anon)
|
|
|
|
.row
|
|
|
|
.label Multi Input Form Staff
|
|
|
|
input(type='number', name='global_limits_multi_input_posts_staff' value=settings.globalLimits.multiInputs.posts.staff)
|
|
|
|
|
|
|
|
.col.mr-5
|
|
|
|
.row
|
|
|
|
h4.mv-5 Frontend Script Defaults
|
|
|
|
.row
|
|
|
|
.label Embeds Enabled
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='frontend_script_default_embeds_enabled', value='true' checked=settings.frontendScriptDefault.embedsEnabled)
|
|
|
|
.row
|
|
|
|
.label Unlimit Media Height
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='frontend_script_default_height_unlimit', value='true' checked=settings.frontendScriptDefault.heightUnlimit)
|
|
|
|
.row
|
|
|
|
.label Recursive Post Hiding
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='frontend_script_default_hide_recursive', value='true' checked=settings.frontendScriptDefault.hideRecursive)
|
|
|
|
.row
|
|
|
|
.label Crisp Image Rendering
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='frontend_script_default_crisp_images', value='true' checked=settings.frontendScriptDefault.crispImages)
|
|
|
|
.row
|
|
|
|
.label Hide Thumbnails
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='frontend_script_default_hide_thumbnails', value='true' checked=settings.frontendScriptDefault.hideThumbnails)
|
|
|
|
.row
|
|
|
|
.label Non-Color IDs
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='frontend_script_default_non_color_ids', value='true' checked=settings.frontendScriptDefault.nonColorIds)
|
|
|
|
.row
|
|
|
|
.label Always Reveal Spoiler Markdown
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='frontend_script_default_always_show_spoilers', value='true' checked=settings.frontendScriptDefault.alwaysShowSpoilers)
|
|
|
|
.row
|
|
|
|
.label Hide Post Stubs
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='frontend_script_default_hide_post_stubs', value='true' checked=settings.frontendScriptDefault.hidePostStubs)
|
|
|
|
.row
|
|
|
|
.label Hide Deleted Post Content
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='frontend_script_default_hide_deleted_post_content', value='true' checked=settings.frontendScriptDefault.hideDeletedPostContent)
|
|
|
|
.row
|
|
|
|
.label Smooth Scrolling
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='frontend_script_default_smooth_scrolling', value='true' checked=settings.frontendScriptDefault.smoothScrolling)
|
|
|
|
.row
|
|
|
|
.label Thread Watcher
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='frontend_script_default_thread_watcher', value='true' checked=settings.frontendScriptDefault.threadWatcher)
|
|
|
|
.row
|
|
|
|
.label Default Volume
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='range' name='frontend_script_default_volume' min='0' max='100' value=settings.frontendScriptDefault.defaultVolume)
|
|
|
|
.row
|
|
|
|
.label Loop Audio/Video
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='frontend_script_default_loop', value='true' checked=settings.frontendScriptDefault.loop)
|
|
|
|
.row
|
|
|
|
.label Image Loading Bars
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='frontend_script_default_image_loading_bars', value='true' checked=settings.frontendScriptDefault.imageLoadingBars)
|
|
|
|
.row
|
|
|
|
.label Live Posts
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='frontend_script_default_live', value='true' checked=settings.frontendScriptDefault.live)
|
|
|
|
.row
|
|
|
|
.label Scroll To New Posts
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='frontend_script_default_scroll_to_posts', value='true' checked=settings.frontendScriptDefault.scrollToPosts)
|
|
|
|
.row
|
|
|
|
.label Local Time
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='frontend_script_default_local_time', value='true' checked=settings.frontendScriptDefault.localTime)
|
|
|
|
.row
|
|
|
|
.label 24 Hour Time
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='frontend_script_default_hour_24_time', value='true' checked=settings.frontendScriptDefault.hour24Time)
|
|
|
|
.row
|
|
|
|
.label Use Relative Time
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='frontend_script_default_relative_time', value='true' checked=settings.frontendScriptDefault.relativeTime)
|
|
|
|
.row
|
|
|
|
.label Notifications
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='frontend_script_default_notifications', value='true' checked=settings.frontendScriptDefault.notificationsEnabled)
|
|
|
|
.row
|
|
|
|
.label Show (You)s
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='frontend_script_default_show_yous', value='true' checked=settings.frontendScriptDefault.showYous)
|
|
|
|
.row
|
|
|
|
.label Only Notify (You)s
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='frontend_script_default_notifications_yous_only', value='true' checked=settings.frontendScriptDefault.notificationsYousOnly)
|
|
|
|
.row
|
|
|
|
.label Tegaki Width
|
|
|
|
input(type='number', name='frontend_script_default_tegaki_width', value=settings.frontendScriptDefault.tegakiWidth)
|
|
|
|
.row
|
|
|
|
.label Tegaki Height
|
|
|
|
input(type='number', name='frontend_script_default_tegaki_height', value=settings.frontendScriptDefault.tegakiHeight)
|
|
|
|
|
|
|
|
.row
|
|
|
|
h4.mv-5 Files & Thumbnails
|
|
|
|
.row
|
|
|
|
.label Animated .gif Thumbnails
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='animated_gif_thumbnails', value='true' checked=settings.animatedGifThumbnails)
|
|
|
|
.row
|
|
|
|
.label Audio Thumbnails
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='audio_thumbnails', value='true' checked=settings.audioThumbnails)
|
|
|
|
.row
|
|
|
|
.label Use ffmpeg For .gif Thumbnails
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='ffmpeg_gif_thumbnails', value='true' checked=settings.ffmpegGifThumbnails)
|
|
|
|
.row
|
|
|
|
.label Thumbnail Dimensions
|
|
|
|
input(type='number', name='thumb_size', value=settings.thumbSize)
|
|
|
|
.row
|
|
|
|
.label Video Thumbnail Percentage
|
|
|
|
input(type='number', name='video_thumb_percentage', value=settings.videoThumbPercentage)
|
|
|
|
.row
|
|
|
|
.label Other Mime Types
|
|
|
|
textarea(name='other_mime_types' placeholder='Newline separated') #{settings.otherMimeTypes.join('\n')}
|
|
|
|
.row
|
|
|
|
.label Validate Mime Types
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='check_real_mime_types', value='true' checked=settings.checkRealMimeTypes)
|
|
|
|
.row
|
|
|
|
.label Unknown Types Pass Validation
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='allow_mime_no_match', value='true' checked=settings.allowMimeNoMatch)
|
|
|
|
.row
|
|
|
|
.label Space File Name Replacement
|
|
|
|
input(type='text', name='space_file_name_replacement', value=settings.spaceFileNameReplacement)
|
|
|
|
|
|
|
|
.col.mr-5
|
|
|
|
|
|
|
|
.row
|
|
|
|
h4.mv-5 Global Limits
|
|
|
|
.row
|
|
|
|
.label Reply Limit Min
|
|
|
|
input(type='number' name='global_limits_reply_limit_min' value=settings.globalLimits.replyLimit.min)
|
|
|
|
.row
|
|
|
|
.label Reply Limit Max
|
|
|
|
input(type='number' name='global_limits_reply_limit_max' value=settings.globalLimits.replyLimit.max)
|
|
|
|
.row
|
|
|
|
.label Thread Limit Min
|
|
|
|
input(type='number' name='global_limits_thread_limit_min' value=settings.globalLimits.threadLimit.min)
|
|
|
|
.row
|
|
|
|
.label Thread Limit Max
|
|
|
|
input(type='number' name='global_limits_thread_limit_max' value=settings.globalLimits.threadLimit.max)
|
|
|
|
.row
|
|
|
|
.label Bump Limit Min
|
|
|
|
input(type='number' name='global_limits_bump_limit_min' value=settings.globalLimits.bumpLimit.min)
|
|
|
|
.row
|
|
|
|
.label Bump Limit Max
|
|
|
|
input(type='number' name='global_limits_bump_limit_max' value=settings.globalLimits.bumpLimit.max)
|
|
|
|
.row
|
|
|
|
.label Files Per Post Max
|
|
|
|
input(type='number' name='global_limits_post_files_max' value=settings.globalLimits.postFiles.max)
|
|
|
|
.row
|
|
|
|
.label Post File Size Max
|
|
|
|
input(type='number' name='global_limits_post_files_size_max' value=settings.globalLimits.postFilesSize.max)
|
|
|
|
.row
|
|
|
|
.label Custom Pages Max Characters
|
|
|
|
input(type='number' name='global_limits_custom_pages_max_length' value=settings.globalLimits.customPages.maxLength)
|
|
|
|
.row
|
|
|
|
.label Total Custom Pages Per Board
|
|
|
|
input(type='number' name='global_limits_custom_pages_max' value=settings.globalLimits.customPages.max)
|
|
|
|
.row
|
|
|
|
.label Banner Width Max
|
|
|
|
input(type='number' name='global_limits_banner_files_width' value=settings.globalLimits.bannerFiles.width)
|
|
|
|
.row
|
|
|
|
.label Banner Height Max
|
|
|
|
input(type='number' name='global_limits_banner_files_height' value=settings.globalLimits.bannerFiles.height)
|
|
|
|
.row
|
|
|
|
.label Force 3:1 Banner Aspect Ratio
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='global_limits_banner_files_force_aspect_ratio' value='true' checked=settings.globalLimits.bannerFiles.forceAspectRatio)
|
|
|
|
.row
|
|
|
|
.label Banner File Size Max
|
|
|
|
input(type='number' name='global_limits_banner_files_size_max' value=settings.globalLimits.bannerFilesSize.max)
|
|
|
|
.row
|
|
|
|
.label Banners Per Upload Max
|
|
|
|
input(type='number' name='global_limits_banner_files_max' value=settings.globalLimits.bannerFiles.max)
|
|
|
|
.row
|
|
|
|
.label Total Banners Per Board
|
|
|
|
input(type='number' name='global_limits_banner_files_total' value=settings.globalLimits.bannerFiles.total)
|
|
|
|
.row
|
|
|
|
.label Flag File Size Max
|
|
|
|
input(type='number' name='global_limits_flag_files_size_max' value=settings.globalLimits.flagFilesSize.max)
|
|
|
|
.row
|
|
|
|
.label Flags Per Upload Max
|
|
|
|
input(type='number' name='global_limits_flag_files_max' value=settings.globalLimits.flagFiles.max)
|
|
|
|
.row
|
|
|
|
.label Total Flags Per Board
|
|
|
|
input(type='number' name='global_limits_flag_files_total' value=settings.globalLimits.flagFiles.total)
|
|
|
|
.row
|
|
|
|
.label Asset File Size Max
|
|
|
|
input(type='number' name='global_limits_asset_files_size_max' value=settings.globalLimits.assetFilesSize.max)
|
|
|
|
.row
|
|
|
|
.label Assets Per Upload Max
|
|
|
|
input(type='number' name='global_limits_asset_files_max' value=settings.globalLimits.assetFiles.max)
|
|
|
|
.row
|
|
|
|
.label Total Assets Per Board
|
|
|
|
input(type='number' name='global_limits_asset_files_total' value=settings.globalLimits.assetFiles.total)
|
|
|
|
|
|
|
|
.row
|
|
|
|
h4.mv-5 Webring
|
|
|
|
.row
|
|
|
|
.label Enable
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='enable_webring' value='true' checked=settings.enableWebring)
|
|
|
|
.row
|
|
|
|
.label Use Socks Proxy
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='webring_proxy_enabled', value='true' placeholder='socks5h://127.0.0.1:9050' checked=settings.proxy.enabled)
|
|
|
|
.row
|
|
|
|
.label Proxy Address
|
|
|
|
input(type='text', name='webring_proxy_address', value=settings.proxy.address)
|
|
|
|
.row
|
|
|
|
.label Following
|
|
|
|
textarea(name='webring_following' placeholder='Newline separated') #{settings.following.join('\n')}
|
|
|
|
.row
|
|
|
|
.label Logo URLs
|
|
|
|
textarea(name='webring_logos' placeholder='Newline separated') #{settings.logo.join('\n')}
|
|
|
|
.row
|
|
|
|
.label Blacklist
|
|
|
|
textarea(name='webring_blacklist' placeholder='Newline separated') #{settings.blacklist.join('\n')}
|
|
|
|
|
|
|
|
|
|
|
|
.col.mr-5
|
|
|
|
|
|
|
|
.row
|
|
|
|
h4.mv-5 Board Defaults
|
|
|
|
.row
|
|
|
|
.label SFW
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='board_defaults_sfw' value='true' checked=settings.boardDefaults.sfw)
|
|
|
|
.row
|
|
|
|
.label Unlisted Locally
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='board_defaults_unlisted_local' value='true' checked=settings.boardDefaults.unlistedLocal)
|
|
|
|
.row
|
|
|
|
.label Unlisted From Webring
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='board_defaults_unlisted_webring' value='true' checked=settings.boardDefaults.unlistedWebring)
|
|
|
|
.row
|
|
|
|
.label Unique Message Enforcement
|
|
|
|
select(name='board_defaults_message_r9k_mode')
|
|
|
|
option(value='0', selected=settings.boardDefaults.messageR9KMode === 0) Off
|
|
|
|
option(value='1', selected=settings.boardDefaults.messageR9KMode === 1) Per Thread
|
|
|
|
option(value='2', selected=settings.boardDefaults.messageR9KMode === 2) Board Wide
|
|
|
|
.row
|
|
|
|
.label Unique File Enforcement
|
|
|
|
select(name='board_defaults_file_r9k_mode')
|
|
|
|
option(value='0', selected=settings.boardDefaults.fileR9KMode === 0) Off
|
|
|
|
option(value='1', selected=settings.boardDefaults.fileR9KMode === 1) Per Thread
|
|
|
|
option(value='2', selected=settings.boardDefaults.fileR9KMode === 2) Board Wide
|
|
|
|
.row
|
|
|
|
.label Lock Mode
|
|
|
|
select(name='board_defaults_lock_mode')
|
|
|
|
option(value='0', selected=settings.boardDefaults.lockMode === 0) Unlocked
|
|
|
|
option(value='1', selected=settings.boardDefaults.lockMode === 1) Lock Thread Creation
|
|
|
|
option(value='2', selected=settings.boardDefaults.lockMode === 2) Board Locked
|
|
|
|
.row
|
|
|
|
.label Captcha Mode
|
|
|
|
select(name='board_defaults_captcha_mode')
|
|
|
|
option(value='0', selected=settings.boardDefaults.captchaMode === 0) No Captcha
|
|
|
|
option(value='1', selected=settings.boardDefaults.captchaMode === 1) Captcha for new thread
|
|
|
|
option(value='2', selected=settings.boardDefaults.captchaMode === 2) Captcha for all posts
|
|
|
|
.row
|
|
|
|
.label PPH Trigger Threshold
|
|
|
|
input(type='number', name='board_defaults_pph_trigger', value=settings.boardDefaults.pphTrigger)
|
|
|
|
.row
|
|
|
|
.label PPH Trigger Action
|
|
|
|
select(name='board_defaults_pph_trigger_action')
|
|
|
|
option(value='0', selected=settings.boardDefaults.pphTriggerAction === 0) Do nothing
|
|
|
|
option(value='1', selected=settings.boardDefaults.pphTriggerAction === 1) Enable captcha for new thread
|
|
|
|
option(value='2', selected=settings.boardDefaults.pphTriggerAction === 2) Enable captcha for all posts
|
|
|
|
option(value='3', selected=settings.boardDefaults.pphTriggerAction === 3) Lock thread creation
|
|
|
|
option(value='4', selected=settings.boardDefaults.pphTriggerAction === 4) Lock board
|
|
|
|
.row
|
|
|
|
.label TPH Trigger Threshold
|
|
|
|
input(type='number', name='board_defaults_tph_trigger', value=settings.boardDefaults.tphTrigger)
|
|
|
|
.row
|
|
|
|
.label TPH Trigger Action
|
|
|
|
select(name='board_defaults_tph_trigger_action')
|
|
|
|
option(value='0', selected=settings.boardDefaults.tphTriggerAction === 0) Do nothing
|
|
|
|
option(value='1', selected=settings.boardDefaults.tphTriggerAction === 1) Enable captcha for new thread
|
|
|
|
option(value='2', selected=settings.boardDefaults.tphTriggerAction === 2) Enable captcha for all posts
|
|
|
|
option(value='3', selected=settings.boardDefaults.tphTriggerAction === 3) Lock thread creation
|
|
|
|
option(value='4', selected=settings.boardDefaults.tphTriggerAction === 4) Lock board
|
|
|
|
.row
|
|
|
|
.label Trigger Reset Lock Mode
|
|
|
|
select(name='board_defaults_lock_reset')
|
|
|
|
option(value='0', selected=settings.boardDefaults.lockReset === 0) No change
|
|
|
|
option(value='1', selected=settings.boardDefaults.lockReset === 1) Unlock board
|
|
|
|
option(value='2', selected=settings.boardDefaults.lockReset === 2) Lock thread creation
|
|
|
|
.row
|
|
|
|
.label Trigger Reset Captcha Mode
|
|
|
|
select(name='board_defaults_captcha_reset')
|
|
|
|
option(value='0', selected=settings.boardDefaults.captchaReset === 0) No change
|
|
|
|
option(value='1', selected=settings.boardDefaults.captchaReset === 1) Captcha disabled
|
|
|
|
option(value='2', selected=settings.boardDefaults.captchaReset === 2) Captcha for new thread
|
|
|
|
.row
|
|
|
|
.label Anon Name
|
|
|
|
input(type='text' name='board_defaults_default_name' value=settings.boardDefaults.defaultName)
|
|
|
|
.row
|
|
|
|
.label Force Anon
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='board_defaults_force_anon', value='true' checked=settings.boardDefaults.forceAnon)
|
|
|
|
.row
|
|
|
|
.label Sage Only Email
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='board_defaults_sage_only_email', value='true' checked=settings.boardDefaults.sageOnlyEmail)
|
|
|
|
.row
|
|
|
|
.label Early 404
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='board_defaults_early404', value='true' checked=settings.boardDefaults.early404)
|
|
|
|
.row
|
|
|
|
.label IDs
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='board_defaults_ids', value='true' checked=settings.boardDefaults.ids)
|
|
|
|
.row
|
|
|
|
.label Geo Flags
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='board_defaults_geo_flags', value='true' checked=settings.boardDefaults.geoFlags)
|
|
|
|
.row
|
|
|
|
.label Custom Flags
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='board_defaults_custom_flags', value='true' checked=settings.boardDefaults.customFlags)
|
|
|
|
.row
|
|
|
|
.label Enable Tegaki
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='board_defaults_enable_tegaki', value='true' checked=settings.boardDefaults.enableTegaki)
|
|
|
|
.row
|
|
|
|
.label User Post Deletion
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='board_defaults_user_post_delete', value='true' checked=settings.boardDefaults.userPostDelete)
|
|
|
|
.row
|
|
|
|
.label User File Spoilering
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='board_defaults_user_post_spoiler', value='true' checked=settings.boardDefaults.userPostSpoiler)
|
|
|
|
.row
|
|
|
|
.label User File Unlinking
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='board_defaults_user_post_unlink', value='true' checked=settings.boardDefaults.userPostUnlink)
|
|
|
|
.row
|
|
|
|
.label Thread Limit
|
|
|
|
input(type='number' name='board_defaults_thread_limit' value=settings.boardDefaults.threadLimit)
|
|
|
|
.row
|
|
|
|
.label Reply Limit
|
|
|
|
input(type='number' name='board_defaults_reply_limit' value=settings.boardDefaults.replyLimit)
|
|
|
|
.row
|
|
|
|
.label Bump Limit
|
|
|
|
input(type='number' name='board_defaults_bump_limit' value=settings.boardDefaults.bumpLimit)
|
|
|
|
.row
|
|
|
|
.label Max Files
|
|
|
|
input(type='number' name='board_defaults_max_files' value=settings.boardDefaults.maxFiles)
|
|
|
|
.row
|
|
|
|
.label Force Thread Subject
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='board_defaults_force_thread_subject', value='true' checked=settings.boardDefaults.forceThreadSubject)
|
|
|
|
.row
|
|
|
|
.label Force Thread Message
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='board_defaults_force_thread_message', value='true' checked=settings.boardDefaults.forceThreadMessage)
|
|
|
|
.row
|
|
|
|
.label Force Thread File
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='board_defaults_force_thread_file', value='true' checked=settings.boardDefaults.forceThreadFile)
|
|
|
|
.row
|
|
|
|
.label Force Reply Message
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='board_defaults_force_reply_message', value='true' checked=settings.boardDefaults.forceReplyMessage)
|
|
|
|
.row
|
|
|
|
.label Force Reply File
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='board_defaults_force_reply_file', value='true' checked=settings.boardDefaults.forceReplyFile)
|
|
|
|
.row
|
|
|
|
.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 Min Thread Message Length
|
|
|
|
input(type='number' name='board_defaults_min_thread_message_length' value=settings.boardDefaults.minThreadMessageLength)
|
|
|
|
.row
|
|
|
|
.label Min Reply Message Length
|
|
|
|
input(type='number' name='board_defaults_min_reply_message_length' value=settings.boardDefaults.minReplyMessageLength)
|
|
|
|
.row
|
|
|
|
.label Max Thread Message Length
|
|
|
|
input(type='number' name='board_defaults_max_thread_message_length' value=settings.boardDefaults.maxThreadMessageLength)
|
|
|
|
.row
|
|
|
|
.label Max Reply Message Length
|
|
|
|
input(type='number' name='board_defaults_max_reply_message_length' value=settings.boardDefaults.maxReplyMessageLength)
|
|
|
|
.row
|
|
|
|
.label OP Reply Count Delete Protection
|
|
|
|
input(type='number' name='board_defaults_delete_protection_count' value=settings.boardDefaults.deleteProtectionCount)
|
|
|
|
.row
|
|
|
|
.label OP Thread Age Delete Protection
|
|
|
|
input(type='text' name='board_defaults_delete_protection_age' placeholder='e.g. 1w' value=settings.boardDefaults.deleteProtectionAge)
|
|
|
|
.row
|
|
|
|
.label Disable anonymizer file posting
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='board_defaults_disable_anonymizer_file_posting', value='true' checked=settings.boardDefaults.disableAnonymizerFilePosting)
|
|
|
|
.row
|
|
|
|
.label Strict Filtering
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='board_defaults_strict_filtering', value='true' checked=settings.boardDefaults.strictFiltering)
|
|
|
|
.row
|
|
|
|
.label Filter Mode
|
|
|
|
select(name='board_defaults_filter_mode')
|
|
|
|
option(value='0', selected=settings.boardDefaults.filterMode === 0) Do nothing
|
|
|
|
option(value='1', selected=settings.boardDefaults.filterMode === 1) Block post
|
|
|
|
option(value='2', selected=settings.boardDefaults.filterMode === 2) Ban
|
|
|
|
.row
|
|
|
|
.label Filter Auto Ban Duration
|
|
|
|
input(type='text' name='board_defaults_filter_ban_duration' placeholder='e.g. 1w' value=settings.boardDefaults.filterBanDuration)
|
|
|
|
.row
|
|
|
|
.label Allow Video Files
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='board_defaults_allowed_file_types_video', value='true' checked=settings.boardDefaults.allowedFileTypes.video)
|
|
|
|
.row
|
|
|
|
.label Allow Image Files
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='board_defaults_allowed_file_types_image', value='true' checked=settings.boardDefaults.allowedFileTypes.image)
|
|
|
|
.row
|
|
|
|
.label Allow Animated Image Files
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='board_defaults_allowed_file_types_animated_image', value='true' checked=settings.boardDefaults.allowedFileTypes.animatedImage)
|
|
|
|
.row
|
|
|
|
.label Allow Audio Files
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='board_defaults_allowed_file_types_audio', value='true' checked=settings.boardDefaults.allowedFileTypes.audio)
|
|
|
|
.row
|
|
|
|
.label Allow Other Files
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='board_defaults_allowed_file_types_other', value='true' checked=settings.boardDefaults.allowedFileTypes.other)
|
|
|
|
.row
|
|
|
|
.label Reverse Image Search Links
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='board_defaults_reverse_image_search_links', value='true' checked=settings.boardDefaults.reverseImageSearchLinks)
|
|
|
|
.row
|
|
|
|
.label External Archive Links
|
|
|
|
label.postform-style.ph-5
|
|
|
|
input(type='checkbox', name='board_defaults_archive_links', value='true' checked=settings.boardDefaults.archiveLinks)
|
|
|
|
|
|
|
|
input.row(type='submit', value='save settings')
|