Ejemplo n.º 1
0
 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;
 }
Ejemplo n.º 2
0
 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;
 }
Ejemplo n.º 4
0
 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'];
 }
Ejemplo n.º 5
0
 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;
 }
Ejemplo n.º 6
0
 /**
  * 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;
 }