if (!$cant) { // no result
if ($fulltext && $words) // try a simple search
return $this->_find($h, $words, $offset, $maxRecords, false);
else
return array(
'data' => array(),
'cant' => 0
);
}
note: the simple search block causes following error in MySQL 4.0.15 boolean search "+listening +page":
Warning: mysql error: Got error 'repetition-operator operand invalid' from regexp in query:
SELECT COUNT(*) FROM tiki_comments c, tiki_pages p WHERE c.objectType = "wiki page"
AND p.pageName=c.object AND (UPPER(c.title) REGEXP '.*+LISTENING.*'
OR UPPER(c.data) REGEXP '.*+LISTENING.*') AND (UPPER(c.title) REGEXP '.*+PAGE.*'
OR UPPER(c.data) REGEXP '.*+PAGE.*')
in c:\program files\easyphp1-7\www\tw\lib\tikidblib.php on line 125
Values:
$result is false
$result is empty
Unless I'm missing something, the Tiki.org search engine doesn't work as expected either. Quoted strings just act like simple ORs and boolean +/- prefixes cause lots of error messages. I had the same symptoms on my 1.8 implementation until I made these changes.''
I will attach modified source code snippet and Unix diff file.
|