Escape solr query, better query type management

master
Gilles Crettenand 11 years ago
parent de1d465ad3
commit 11f315c458

@ -29,10 +29,13 @@ class BookSearch
$this->query->addParam('q.op', 'AND'); $this->query->addParam('q.op', 'AND');
} }
public function addQuery($queryText, $queryField = '') public function addQuery($queryText, $queryField = null)
{ {
if ($queryField != '') $queryText= SolrUtils::escapeQueryChars($queryText);
if (strlen($queryField) > 0) {
$queryText = "$queryField:\"$queryText\""; $queryText = "$queryField:\"$queryText\"";
}
$this->queryParts[] = $queryText; $this->queryParts[] = $queryText;
} }

@ -328,7 +328,8 @@ class NetBiblio extends WebService
} }
if (isset($queryArray['queryText']) && strlen($queryArray['queryText']) > 0) { if (isset($queryArray['queryText']) && strlen($queryArray['queryText']) > 0) {
$bs->addQuery($queryArray['queryText'], $queryArray['queryType']); $type = isset($queryArray['queryType']) ? $queryArray['queryType'] : null;
$bs->addQuery($queryArray['queryText'], $type);
} }
if(isset($queryArray['reader']) && strlen($queryArray['reader']) > 0) { if(isset($queryArray['reader']) && strlen($queryArray['reader']) > 0) {

Loading…
Cancel
Save