dl/includes/SearchQuery.php

39 lines
1,012 B
PHP
Raw Permalink Normal View History

2020-06-17 20:49:28 +02:00
<?php
define('SEARCH_STOPS',1);
define('SEARCH_LINES',2);
define('SEARCH_ALL',SEARCH_STOPS|SEARCH_LINES);
class SearchQuery {
private $originalQueryString;
private $queryString;
private $searchForTypes;
public function __construct ($queryString, $searchForTypes=SEARCH_ALL) {
if (!is_string($queryString)) {
throw new InvalidArgumentException('$queryString must be a string');
}
if (!is_int($searchForTypes)) {
throw new InvalidArgumentException('$searchForTypes must be an integer (a bitwise OR-combination of SEARCH_...)');
}
$this->originalQueryString = $queryString;
$this->queryString = rawurlencode(strtolower(str_replace(array('"', "'", '-', '.', '%'), ' ', $queryString)));
$this->searchForTypes = $searchForTypes;
}
//https://www.delijn.be/rise-api-search/search/lijnen/knokke/1
public function execute () {
$req = new ApiSearchRequest('search/haltes/' . $this->queryString . '/1');
return $req->exec();
}
}
?>