3.文件修改
開啟search.php
---------------------------------------------------------------------------------------
| 搜尋
---------------------------------------------------------------------------------------
// #############################################################################
// if query string is specified, check syntax and replace common syntax errors
if ($query)
{
| 後面加上
---------------------------------------------------------------------------------------
// 007pig
$oriquery = $query;
---------------------------------------------------------------------------------------
| 搜尋
---------------------------------------------------------------------------------------
if (verify_word_allowed($word))
{
// word is okay - add it to the list of NOT words to be queried
$words['NOT']["$word"] = 'NOT';
$queryWords["$word"] = &$words['NOT']["$word"];
}
| 取代為
---------------------------------------------------------------------------------------
if (verify_word_allowed($word))
{
if ($vboptions['searchposttable']) {
$words['NOT']["$word"] = 'NOT';
$queryWords["$word"] = &$words['NOT']["$word"];
} else {
foreach (sp_str($word) as $word)
{
$words['NOT']["$word"] = 'NOT';
$queryWords["$word"] = &$words['NOT']["$word"];
}
}
}
---------------------------------------------------------------------------------------
| 搜尋
---------------------------------------------------------------------------------------
if (verify_word_allowed($orBit))
{
// word is okay - add it to the list of OR words for this clause
$checkwords[] = $orBit;
}
| 取代為
---------------------------------------------------------------------------------------
if (verify_word_allowed($orBit))
{
// word is okay - add it to the list of OR words for this clause
// 007pig
if ($vboptions['searchposttable']) {
$checkwords[] = $orBit;
} else {
foreach (sp_str($orBit) as $orBit)
{
$checkwords[] = $orBit;
}
}
}
---------------------------------------------------------------------------------------
| 搜尋
---------------------------------------------------------------------------------------
// #############################################################################
// other words must be required (AND)
| 後面加上
---------------------------------------------------------------------------------------
// 007pig
if (!$vboptions['searchposttable']) {
$querysplit = implode(" ", sp_str($querysplit));
}
---------------------------------------------------------------------------------------
| 搜尋
---------------------------------------------------------------------------------------
if ($phrasequery)
{
$words = array();
$display['words'] = array(htmlspecialchars_uni('"' . $phrasequery . '"'));
$display['common'] = array();
$display['highlight'] = array(htmlspecialchars_uni($phrasequery));
$query = '"' . $query . '"';
}
else
{
foreach ($words AS $wordtype => $searchwords)
{
switch($wordtype)
{
case 'AND':
// do AND words
foreach (array_keys($searchwords) AS $word)
{
$display['words'][] = $word;
}
break;
case 'NOT':
// do NOT words
foreach (array_keys($searchwords) AS $word)
{
$display['words'][] = "</u></b>-<b><u>$word";
}
break;
case 'OR':
// do OR clauses
foreach ($searchwords AS $orClause)
{
$or = array();
foreach (array_keys($orClause) AS $orWord)
{
$or[] = $orWord;
}
$display['words'][] = implode('</u> OR <u>', $or);
}
break;
default:
// ignore COMMON words
}
}
}
| 取代為
---------------------------------------------------------------------------------------
if ($phrasequery)
{
$words = array();
$display['words'] = array(htmlspecialchars_uni('"' . $phrasequery . '"'));
$display['common'] = array();
$display['highlight'] = array(htmlspecialchars_uni($phrasequery));
$query = '"' . $query . '"';
}
else
{
// 007pig
$patterns[0] = "/\sOR\s/";
$patterns[1] = "/\s-/";
$patterns[2] = "/ /";
$replacements[0] = "|||</u>OR<u>";
$replacements[1] = "|||</u></b>-<b><u>";
$replacements[2] = "|||";
if($oriquery) $replacedwords = preg_replace($patterns, $replacements, sanitize_search_query($oriquery));
$display['words'] = explode("|||", str_replace("</u>OR<u>", "</u> OR <u>", $replacedwords));
}
---------------------------------------------------------------------------------------
| 搜尋
---------------------------------------------------------------------------------------
$getwords = $DB_site->query("
SELECT wordid, title FROM " . TABLE_PREFIX . "word
WHERE title LIKE('$queryword')
");
| 取代為
---------------------------------------------------------------------------------------
if (!$vboptions['searchposttable']) {
$getwords = $DB_site->query("
SELECT wordid, title FROM " . TABLE_PREFIX . "word
WHERE title LIKE('$queryword')
");
}
---------------------------------------------------------------------------------------
| 搜尋
---------------------------------------------------------------------------------------
if ($DB_site->num_rows($getwords))
| 取代為
---------------------------------------------------------------------------------------
if ($vboptions['searchposttable'] || $DB_site->num_rows($getwords))
---------------------------------------------------------------------------------------
|