} return $ra > $rb ? -1 : 1; } if ($query && strlen($query) <= 50) { $link = mysql_connect("localhost", "nobody"); if (!$link) { echo "<p> Could not connect to the database: ", mysql_error(); } else { mysql_select_db("xmlsoft", $link); $list = explode(" ", $query); $results = array(); $number = 0; for ($number = 0; $number < count($list); $number++) { $word = $list[$number]; if ($scope == 'any' || $scope == 'XML' || $scope == 'API' || $scope == 'XMLAPI') { list($result, $j) = queryWord($word); if ($j > 0) { for ($i = 0; $i < $j; $i++) { $relevance = mysql_result($result, $i, 0); $name = mysql_result($result, $i, 1); $type = mysql_result($result, $i, 2); $module = mysql_result($result, $i, 3); $desc = mysql_result($result, $i, 4); if (array_key_exists($name, $results)) { list($r, $t, $m, $d, $w, $u) = $results[$name]; $results[$name] = array(($r + $relevance) * 2, $t, $m, $d, $w, $u); } else { $id = strtoupper($name); $m = strtolower($module); $url = "html/libxml-{$module}.html#{$id}"; $results[$name] = array($relevance, $type, $module, $desc, $name, $url);
$results[$name] = array(($r + $relevance) * 2, $t, $m, $d, $w, $u); } else { $id = $name; $m = strtolower($module); $u = str_replace("http://www.redhat.com/archives/libvir-list/", "", $url); $results[$url] = array($relevance, $type, $u, $desc, $name, $url); } } mysql_free_result($result); } } } if (count($results) == 0 && count($list) == 1) { $word = $list[0]; if ($scope == 'any' || $scope == 'XMLAPI') { list($result, $j) = queryWord("vir{$word}"); if ($j > 0) { for ($i = 0; $i < $j; $i++) { $relevance = mysql_result($result, $i, 0); $name = mysql_result($result, $i, 1); $type = mysql_result($result, $i, 2); $module = mysql_result($result, $i, 3); $desc = mysql_result($result, $i, 4); if (array_key_exists($name, $results)) { list($r, $t, $m, $d, $w, $u) = $results[$name]; $results[$name] = array(($r + $relevance) * 2, $t, $m, $d, $w, $u); } else { $id = $name; $m = strtolower($module); $url = "html/libvirt-{$module}.html#{$id}"; $results[$name] = array($relevance, $type, $module, $desc, $name, $url);
$results[$name] = array(($r + $relevance) * 2, $t, $m, $d, $w, $u); } else { $id = $name; $m = strtolower($module); $u = str_replace("http://mail.gnome.org/archives/xslt/", "", $url); $results[$url] = array($relevance, $type, $u, $desc, $name, $url); } } mysql_free_result($result); } } } if (count($results) == 0 && count($list) == 1) { $word = $list[0]; if ($scope == 'any' || $scope == 'XML' || $scope == 'API' || $scope == 'XMLAPI') { list($result, $j) = queryWord("xml{$word}"); if ($j > 0) { for ($i = 0; $i < $j; $i++) { $relevance = mysql_result($result, $i, 0); $name = mysql_result($result, $i, 1); $type = mysql_result($result, $i, 2); $module = mysql_result($result, $i, 3); $desc = mysql_result($result, $i, 4); if (array_key_exists($name, $results)) { list($r, $t, $m, $d, $w, $u) = $results[$name]; $results[$name] = array(($r + $relevance) * 2, $t, $m, $d, $w, $u); } else { $id = $name; $m = strtolower($module); $url = "html/libxml-{$module}.html#{$id}"; $results[$name] = array($relevance, $type, $module, $desc, $name, $url);
function processWord($word) { global $WORD_STRUCTURE; preg_match($WORD_STRUCTURE, $word, $matches); $d_word = queryWord($matches[2]); if (!is_null($d_word[1])) { //Make sure songs are hit. if (count($matches) >= 3) { if (count($matches) == 4) { //Suffix present. $d_word[5] = array($matches[1], $matches[3]); } else { $d_word[5] = array($matches[1], NULL); } } } else { $d_word = queryWord($word); } return $d_word; }