Ejemplo n.º 1
0
 function wfValidateSpamblacklist(&$article, &$user, &$text)
 {
     require_once "SpamBlacklist_body.php";
     global $wgSpamBlacklistFiles, $wgDBname, $wgOut, $wgValidateErrorOffset;
     $t = $article->getTitle();
     foreach ($wgSpamBlacklistFiles as $fileName) {
         if (preg_match('/^DB: (\\w*) (.*)$/', $fileName, $matches)) {
             if ($wgDBname == $matches[1] && $t && $t->getPrefixedDBkey() == $matches[2]) {
                 $lines = split("\n", $text);
                 $regexes = SpamBlacklist::buildRegexes($lines);
                 foreach ($regexes as $regex) {
                     if (preg_match($regex, "adfasdfasdfasdf") === false) {
                         $wgOut->errorPage('invalidspamexpression_title', 'invalidspamexpression');
                         return false;
                     }
                 }
             }
         }
     }
     //check the white list
     if ($t->getPrefixedDBKey() == 'MediaWiki:Spam-whitelist') {
         $lines = split("\n", $text);
         $regexes = SpamBlacklist::buildRegexes($lines);
         foreach ($regexes as $regex) {
             if (preg_match($regex, "adfasdfasdfasdf") === false) {
                 $wgOut->errorPage('invalidspamexpression_title', 'invalidspamexpression');
                 return false;
             }
         }
     }
     return true;
 }