$term = preg_replace( '/:/', ' ', $term );
$searchstring = '';
- $m = array();
+ $m = [];
if ( preg_match_all( '/([-!]?)(\S+)\s*/', $term, $m, PREG_SET_ORDER ) ) {
foreach ( $m as $terms ) {
if ( strlen( $terms[1] ) ) {
}
if ( strtolower( $terms[2] ) === 'and' ) {
$searchstring .= ' & ';
- }
- elseif ( strtolower( $terms[2] ) === 'or' || $terms[2] === '|' ) {
+ } elseif ( strtolower( $terms[2] ) === 'or' || $terms[2] === '|' ) {
$searchstring .= ' | ';
- }
- elseif ( strtolower( $terms[2] ) === 'not' ) {
+ } elseif ( strtolower( $terms[2] ) === 'not' ) {
$searchstring .= ' & !';
- }
- else {
+ } else {
$searchstring .= " & $terms[2]";
}
}
# # TODO: Better output (example to catch: one 'two)
die( "Sorry, that was not a valid search string. Please go back and try again" );
}
- $top = $res->fetchRow();
- $top = $top[0];
+ $top = $res->fetchRow()[0];
- $this->searchTerms = array();
+ $this->searchTerms = [];
if ( $top === "" ) { # # e.g. if only stopwords are used XXX return something better
$query = "SELECT page_id, page_namespace, page_title, 0 AS score " .
"FROM page p, revision r, pagecontent c WHERE p.page_latest = r.rev_id " .
"AND r.rev_text_id = c.old_id AND 1=0";
- }
- else {
- $m = array();
+ } else {
+ $m = [];
if ( preg_match_all( "/'([^']+)'/", $top, $m, PREG_SET_ORDER ) ) {
foreach ( $m as $terms ) {
$this->searchTerms[$terms[1]] = $terms[1];
}
$query = "SELECT page_id, page_namespace, page_title, " .
- "ts_rank($fulltext, to_tsquery($searchstring), 5) AS score " .
- "FROM page p, revision r, pagecontent c WHERE p.page_latest = r.rev_id " .
- "AND r.rev_text_id = c.old_id AND $fulltext @@ to_tsquery($searchstring)";
+ "ts_rank($fulltext, to_tsquery($searchstring), 5) AS score " .
+ "FROM page p, revision r, pagecontent c WHERE p.page_latest = r.rev_id " .
+ "AND r.rev_text_id = c.old_id AND $fulltext @@ to_tsquery($searchstring)";
}
# # Namespaces - defaults to 0