/** * 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); }