Add global limits filters max
Remove unused settings body checks in board/global settings controllers related to filters
Update en locale with a few more filter strings
{result:lengthBody(req.body.description,0,globalLimits.fieldLength.description),expected:false,error:__('Board description must be %s characters or less',globalLimits.fieldLength.description)},
{result:lengthBody(req.body.announcements,0,5000),expected:false,error:__('Board announcements must be 5000 characters or less')},
{result:lengthBody(req.body.tags,0,2000),expected:false,error:__('Tags length must be 2000 characters or less')},
{result:lengthBody(req.body.filters,0,20000),expected:false,error:__('Filters length must be 20000 characters or less')},
{result:lengthBody(req.body.custom_css,0,globalLimits.customCss.max),expected:false,error:__('Custom CSS must be %s characters or less',globalLimits.customCss.max)},
{result:arrayInBody(globalLimits.customCss.filters,req.body.custom_css),permission:Permissions.ROOT,expected:false,error:__('Custom CSS strict mode is enabled and does not allow the following: "%s"',globalLimits.customCss.filters.join('", "'))},
{result:lengthBody(req.body.name,1,globalLimits.fieldLength.boardname),expected:false,error:__('Board name must be 1-%s characters',globalLimits.fieldLength.boardname)},
@ -63,14 +62,12 @@ module.exports = {
error:__('Max reply message length must be 0-%s and not less than "Min Reply Message Length" (currently %s)',globalLimits.fieldLength.message,res.locals.board.settings.minReplyMessageLength)},
{result:numberBody(req.body.abandoned_board_action,0,3),expected:true,error:__('Abandoned board action must be a number from 0-3')},
{result:lengthBody(req.body.global_announcement,0,10000),expected:false,error:__('Global announcement must not exceed 10000 characters')},
{result:lengthBody(req.body.filters,0,50000),expected:false,error:__('Filter text cannot exceed 50000 characters')},
{result:numberBody(req.body.filter_mode,0,2),expected:true,error:__('Filter mode must be a number from 0-2')},
{result:numberBody(req.body.ban_duration),expected:true,error:__('Invalid filter auto ban duration')},
{result:lengthBody(req.body.allowed_hosts,0,10000),expected:false,error:__('Allowed hosts must not exceed 10000 characters')},
{result:lengthBody(req.body.country_code_header,0,100),expected:false,error:__('Country code header length must not exceed 100 characters')},
{result:lengthBody(req.body.ip_header,0,100),expected:false,error:__('IP header length must not exceed 100 characters')},
@ -170,6 +168,7 @@ module.exports = {
{result:numberBody(req.body.global_limits_field_length_description),expected:true,error:__('Global limit board description field length must be a number')},
{result:numberBody(req.body.global_limits_multi_input_posts_anon),expected:true,error:__('Multi input anon limit must be a number')},
{result:numberBody(req.body.global_limits_multi_input_posts_staff),expected:true,error:__('Multi input staff limit must be a number')},
{result:numberBody(req.body.global_limits_filters_max),expected:true,error:__('Filters max must be a number')},
{result:numberBody(req.body.global_limits_custom_css_max),expected:true,error:__('Custom css max must be a number')},
{result:lengthBody(req.body.global_limits_custom_css_filters,0,10000),expected:false,error:__('Custom css filters must not exceed 10000 characters')},
{result:numberBody(req.body.global_limits_custom_pages_max),expected:true,error:__('Custom pages max must be a number')},
@ -196,11 +195,9 @@ module.exports = {
{result:numberBody(req.body.board_defaults_min_reply_message_length),expected:true,error:__('Board defaults min reply message length must be a number')},
{result:minmaxBody(req.body.board_defaults_min_thread_message_length,req.body.board_defaults_max_thread_message_length),expected:true,error:__('Board defaults thread message length min must be less than max')},
{result:minmaxBody(req.body.board_defaults_min_reply_message_length,req.body.board_defaults_max_reply_message_length),expected:true,error:__('Board defaults reply message length min must be less than max')},
{result:numberBody(req.body.board_defaults_filter_mode,0,2),expected:true,error:__('Board defaults filter mode must be a number from 0-2')},
{result:numberBody(req.body.frontend_script_default_volume,0,100),expected:true,error:__('Default volume must be a number from 0-100')},
{result:numberBody(req.body.frontend_script_default_tegaki_width),expected:true,error:__('Tegaki width must be a number')},
{result:numberBody(req.body.frontend_script_default_tegaki_height),expected:true,error:__('Tegaki height must be a number')},
{result:numberBody(req.body.board_defaults_filter_ban_duration),expected:true,error:__('Board defaults filter ban duration must be a number')},
{result:numberBody(req.body.board_defaults_delete_protection_age,0),expected:true,error:__('Invalid board defaults OP thread age delete protection')},
{result:numberBody(req.body.board_defaults_delete_protection_count,0),expected:true,error:__('Invalid board defaults OP thread reply count delete protection')},
{result:lengthBody(req.body.webring_following,0,10000),expected:false,error:__('Webring following list must not exceed 10000 characters')},
"Please enter at least one allowed host in the \"Allowed Hosts\" field when the \"Referer Check\" option is selected.":"Please enter at least one allowed host in the \"Allowed Hosts\" field when the \"Referer Check\" option is selected.",
"pt-BR":"Brazilian Portuguese"
"pt-BR":"Brazilian Portuguese",
"Filters max must be a number":"Filters max must be a number",
"Max Filters Per Board":"Max Filters Per Board",
"Filters FAQ":"Filters FAQ",
"Total number of filters would exceed global limit of %s":"Total number of filters would exceed global limit of %s"