function wiki_autospamctl($nick, $trailing) { $spam_user_list = array(); $safe_user_list = array(); $spam_rule_list = array(); if (file_exists(DATA_PATH . "wiki_spam_users") == True) { $spam_user_list = explode(PHP_EOL, file_get_contents(DATA_PATH . "wiki_spam_users")); delete_empty_elements($spam_user_list, True); } if (file_exists(DATA_PATH . "wiki_safe_users") == True) { $safe_user_list = explode(PHP_EOL, file_get_contents(DATA_PATH . "wiki_safe_users")); delete_empty_elements($safe_user_list, True); } if (file_exists(DATA_PATH . "wiki_spam_rules") == True) { $spam_rule_list = explode(PHP_EOL, file_get_contents(DATA_PATH . "wiki_spam_rules")); delete_empty_elements($spam_rule_list, True); } $test_title = trim(extract_text_nofalse($trailing, "14[[07", "14]]")); $test_nick = trim(extract_text_nofalse($trailing, " 5* 03", " 5*")); if ($test_title == "" or $test_nick == "") { return; } if (in_array($test_nick, $safe_user_list) == True) { return; } $prefix = "Special:"; if (substr($test_title, 0, strlen($prefix)) == $prefix) { return; } $rule_match = False; for ($i = 0; $i < count($spam_rule_list); $i++) { if (preg_match($spam_rule_list[$i], $test_nick) == 1) { $rule_match = True; break; } } if ($rule_match == False) { if (in_array($test_nick, $spam_user_list) == False) { return; } } privmsg("auto-spamctl for article \"{$test_title}\" by spam user \"{$test_nick}\""); wiki_spamctl($nick, ".spamctl {$test_title}"); }
wiki_delspamrule($nick, $trailing); return; } $cmd = ".spamrule"; if (strtolower(substr($trailing, 0, strlen($cmd))) == $cmd) { wiki_spamrule($nick, $trailing); return; } $cmd = ".unspamctl"; if (strtolower(substr($trailing, 0, strlen($cmd))) == $cmd) { wiki_unspamctl($nick, $trailing); return; } $cmd = ".spamctl"; if (strtolower(substr($trailing, 0, strlen($cmd))) == $cmd) { wiki_spamctl($nick, $trailing); return; } $cmd = ".delsafeuser"; if (strtolower(substr($trailing, 0, strlen($cmd))) == $cmd) { wiki_delsafeuser($nick, $trailing); return; } $cmd = ".safeuser"; if (strtolower(substr($trailing, 0, strlen($cmd))) == $cmd) { wiki_safeuser($nick, $trailing); return; } $cmd = ".delspamuser"; if (strtolower(substr($trailing, 0, strlen($cmd))) == $cmd) { wiki_delspamuser($nick, $trailing);