public static function isAllowedText($text, &$block) { wfProfileIn(__METHOD__); $text = trim($text); $blocksData = PhalanxFallback::getFromFilter(PhalanxFallback::TYPE_WIKI_CREATION); if (!empty($blocksData) && !empty($text)) { $blockData = null; $result = PhalanxFallback::findBlocked($text, $blocksData, true, $blockData); if ($result['blocked']) { $block = (object) $blockData; wfProfileOut(__METHOD__); return false; } } wfProfileOut(__METHOD__); return true; }
public static function badWordsTest($title, &$block) { global $wgLanguageCode; wfProfileIn(__METHOD__); $text = preg_replace('/[^\\PP]+/', '', $title->getText()); $text = preg_replace('/\\s+/', ' ', $text); $blocksData = PhalanxFallback::getFromFilter(PhalanxFallback::TYPE_ANSWERS_QUESTION_TITLE, $wgLanguageCode); $blockData = null; $result = PhalanxFallback::findBlocked($text, $blocksData, true, $blockData); if ($result['blocked']) { $block = (object) $result; Wikia::log(__METHOD__, __LINE__, "Block '{$result['msg']}' blocked '{$text}'."); wfProfileOut(__METHOD__); return false; } wfProfileOut(__METHOD__); return true; }
public static function filterWordsTest($question) { wfProfileIn(__METHOD__); $text = preg_replace('/\\pP+/', '', $question); $text = preg_replace('/\\s+/', ' ', $text); $blocksData = PhalanxFallback::getFromFilter(PhalanxFallback::TYPE_ANSWERS_RECENT_QUESTIONS); if (!empty($blocksData) && !empty($text)) { $blockData = null; $result = PhalanxFallback::findBlocked($text, $blocksData, true, $blockData); if ($result['blocked']) { Wikia::log(__METHOD__, __LINE__, "Block '{$result['msg']}' blocked '{$text}'."); wfProfileOut(__METHOD__); return false; } } wfProfileOut(__METHOD__); return true; }
public static function checkTitle($title, &$block) { wfProfileIn(__METHOD__); if (is_null(self::$blocksData)) { self::$blocksData = PhalanxFallback::getFromFilter(PhalanxFallback::TYPE_TITLE); } $fullText = $title->getFullText(); $result = array('blocked' => false); if (!empty(self::$blocksData)) { $blockData = null; $result = PhalanxFallback::findBlocked($fullText, self::$blocksData, true, $blockData); if ($result['blocked']) { $block = (object) $blockData; #self::spamPage( $result['msg'], $title ); Wikia::log(__METHOD__, __LINE__, "Block '{$result['msg']}' blocked '{$fullText}'."); } } wfProfileOut(__METHOD__); return !$result['blocked']; }
public static function genericContentCheck($content) { wfProfileIn(__METHOD__); $blocksData = PhalanxFallback::getFromFilter(PhalanxFallback::TYPE_CONTENT); if (!empty($blocksData) && $content != '') { $content = self::applyWhitelist($content); $blockData = null; $result = PhalanxFallback::findBlocked($content, $blocksData, true, $blockData); if ($result['blocked']) { Wikia::log(__METHOD__, __LINE__, "Block '{$result['msg']}' blocked '{$content}'."); wfProfileOut(__METHOD__); return false; } } wfProfileOut(__METHOD__); return true; }
/** * Hook handler * Checks if user just being created is not blocked * * @author wladek * @param $user User * @param $name string * @param $validate string */ public static function onAbortNewAccount($user, &$abortError, &$block) { $text = $user->getName(); $blocksData = PhalanxFallback::getFromFilterShort(self::TYPE); $state = self::blockCheckInternal($user, $blocksData, $text, $block, true); if (!$state) { $abortError = wfMsg('phalanx-user-block-new-account'); return false; } // Check if email is blocked $emailBlocksData = PhalanxFallback::getFromFilter(PhalanxFallback::TYPE_EMAIL); $userEmail = $user->getEmail(); if ($userEmail !== '') { $blockData = null; $result = PhalanxFallback::findBlocked($userEmail, $emailBlocksData, true, $blockData); if ($result['blocked']) { $block = (object) $blockData; $abortError = wfMsg('phalanx-user-block-new-account'); return false; } } return true; }