msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-11-18 11:57-0500\n"
+"POT-Creation-Date: 2022-12-10 14:42-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
msgid "Content Filter (NSFW and more)"
msgstr ""
-#: nsfw.php:140
+#: nsfw.php:96
+#, php-format
+msgid "Regular expression \"%s\" fails to compile"
+msgstr ""
+
+#: nsfw.php:154
#, php-format
msgid "Filtered tag: %s"
msgstr ""
-#: nsfw.php:142
+#: nsfw.php:156
#, php-format
msgid "Filtered word: %s"
msgstr ""
}
if (!empty($_POST['nsfw-submit'])) {
- DI::pConfig()->set(DI::userSession()->getLocalUserId(), 'nsfw', 'words', trim($_POST['nsfw-words']));
- $enable = (!empty($_POST['nsfw-enable']) ? intval($_POST['nsfw-enable']) : 0);
+ $enable = !empty($_POST['nsfw-enable']) ? intval($_POST['nsfw-enable']) : 0;
$disable = 1 - $enable;
+
+ $words = trim($_POST['nsfw-words']);
+ $word_list = explode(',', $words);
+ foreach ($word_list as $word) {
+ $word = trim($word);
+ if (!$words || $word[0] != '/') {
+ continue;
+ }
+
+ if (@preg_match($word, '') === false) {
+ DI::sysmsg()->addNotice(DI::l10n()->t('Regular expression "%s" fails to compile', $word));
+ };
+ }
+
+ DI::pConfig()->set(DI::userSession()->getLocalUserId(), 'nsfw', 'words', $words);
DI::pConfig()->set(DI::userSession()->getLocalUserId(), 'nsfw', 'disable', $disable);
}
}
$tag_search = false;
switch ($word[0]) {
case '/'; // Regular expression
- $found = preg_match($word, $body);
+ $found = @preg_match($word, $body);
break;
case '#': // Hashtag-only search
$tag_search = true;