Add content_flags_disabled field for additional filtering

This commit is contained in:
Akkadius
2020-05-24 02:24:38 -05:00
parent 630ab5e69d
commit e82f0254b0
3 changed files with 58 additions and 5 deletions
@@ -54,19 +54,31 @@ namespace ContentFilterCriteria {
);
std::vector<std::string> flags = content_service.GetContentFlags();
std::string flags_in_filter;
std::string flags_in_filter_enabled;
std::string flags_in_filter_disabled;
if (!flags.empty()) {
flags_in_filter = fmt::format(
flags_in_filter_enabled = fmt::format(
" OR CONCAT(',', {}content_flags, ',') REGEXP ',({}),' ",
table_prefix,
implode("|", flags)
);
flags_in_filter_disabled = fmt::format(
" OR CONCAT(',', {}content_flags, ',') NOT REGEXP ',({}),' ",
table_prefix,
implode("|", flags)
);
}
criteria += fmt::format(
" AND ({}content_flags IS NULL{}) ",
table_prefix,
flags_in_filter
flags_in_filter_enabled
);
criteria += fmt::format(
" AND ({}content_flags_disabled IS NULL{}) ",
table_prefix,
flags_in_filter_disabled
);
return std::string(criteria);