예제 #1
0
파일: NameFixer.php 프로젝트: zetas/nZEDb
    protected function _preFTsearchQuery($preTitle)
    {
        switch (nZEDb_RELEASE_SEARCH_TYPE) {
            case ReleaseSearch::SPHINX:
                $titlematch = SphinxSearch::escapeString($preTitle);
                $join = sprintf('INNER JOIN releases_se rse ON rse.id = r.id
						WHERE rse.query = "@(name,searchname,filename) %s;mode=extended"', $titlematch);
                break;
            case ReleaseSearch::FULLTEXT:
            default:
                //Remove all non-printable chars from PreDB title
                preg_match_all('#[a-zA-Z0-9]{3,}#', $preTitle, $matches, PREG_PATTERN_ORDER);
                $titlematch = '+' . implode(' +', $matches[0]);
                $join = sprintf("INNER JOIN release_search_data rs ON rs.releaseid = r.id\n\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t(MATCH (rs.name) AGAINST ('%1\$s' IN BOOLEAN MODE)\n\t\t\t\t\t\t\tOR MATCH (rs.searchname) AGAINST ('%1\$s' IN BOOLEAN MODE))", $titlematch);
                break;
        }
        return $join;
    }