Example #1
0
 /**
  * Here, we're checking for conditions that should preclude a match, given our current environment settings.
  * We're using DeMorgan's theorem here. So write FOR the condition you're trying to filter out.
  * @param \Wikia\Search\Match\Article $match
  * @return boolean
  */
 protected function articleMatchPassesFilters(\Wikia\Search\Match\Article $match)
 {
     $result = $match->getResult();
     $filterKeys = $this->getPublicFilterKeys();
     $isVideoFile = $this->getService()->pageIdIsVideoFile($result['pageid']);
     $minArticleQuality = $this->getMinArticleQuality();
     if ($minArticleQuality && $result['article_quality_i'] <= $minArticleQuality) {
         return false;
     }
     return !($minArticleQuality && $result['article_quality_i'] < $minArticleQuality || $result['ns'] == NS_FILE && in_array(\Wikia\Search\Config::FILTER_IMAGE, $filterKeys) && $isVideoFile || $result['ns'] == NS_FILE && in_array(\Wikia\Search\Config::FILTER_VIDEO, $filterKeys) && !$isVideoFile);
 }