// Text. $text = $_REQUEST['text']; if ($attachment_type === NULL && !preg_match('/\\S/', $text)) { // Cleanup DataExchange::releaseResources(); display_error_page($smarty, new EmptyPostError()); exit(1); } if (posts_check_text_size($text) === FALSE) { // Cleanup DataExchange::releaseResources(); display_error_page($smarty, kotoba_last_error()); exit(1); } if (Config::ENABLE_SPAMFILTER) { $spam_filter = spamfilter_get_all(); foreach ($spam_filter as $record) { if (TRUE || preg_match("/{$record['pattern']}/", $text) > 0) { // Cleanup DataExchange::releaseResources(); display_error_page($smarty, new SpamError()); exit(1); } } } $text = htmlentities($text, ENT_QUOTES, Config::MB_ENCODING); //$text = transform($text); if (Config::ENABLE_WORDFILTER) { $words = words_get_all_by_board(boards_check_id($_REQUEST['board'])); foreach ($words as $_) { $text = preg_replace("#" . $_['word'] . "#iu", $_['replace'], $text);
display_error_page($smarty, kotoba_last_error()); exit(1); } spamfilter_add($_); $reload_patterns = true; } // Delete patterns. foreach ($patterns as $p) { if (isset($_POST["delete_{$p['id']}"])) { spamfilter_delete($p['id']); $reload_patterns = true; } } } if ($reload_patterns) { $patterns = spamfilter_get_all(); } // Generate html code of edit spamfilter page and display it. $smarty->assign('show_control', is_admin() || is_mod()); $smarty->assign('boards', boards_get_visible($_SESSION['user'])); $smarty->assign('patterns', $patterns); $smarty->display('edit_spamfilter.tpl'); // Cleanup. DataExchange::releaseResources(); Logging::close_log(); exit(0); } catch (KotobaException $e) { // Cleanup. DataExchange::releaseResources(); Logging::close_log(); display_exception_page($smarty, $e, is_admin() || is_mod());