Exemplo n.º 1
0
function logEnd(&$oDB, $hLog, $iNumResults)
{
    $aEndTime = explode('.', microtime(true));
    if (!$aEndTime[1]) {
        $aEndTime[1] = '0';
    }
    $sEndTime = date('Y-m-d H:i:s', $aEndTime[0]) . '.' . $aEndTime[1];
    if (CONST_Log_DB) {
        $sSQL = 'update query_log set endtime = ' . getDBQuoted($sEndTime) . ', results = ' . $iNumResults;
        $sSQL .= ' where starttime = ' . getDBQuoted($hLog[0]);
        $sSQL .= ' and ipaddress = ' . getDBQuoted($hLog[1]);
        $sSQL .= ' and query = ' . getDBQuoted($hLog[3]);
        $oDB->query($sSQL);
        $sSQL = 'update new_query_log set endtime = ' . getDBQuoted($sEndTime) . ', results = ' . $iNumResults;
        $sSQL .= ' where starttime = ' . getDBQuoted($hLog[0]);
        $sSQL .= ' and ipaddress = ' . getDBQuoted($hLog[1]);
        $sSQL .= ' and query = ' . getDBQuoted($hLog[2]);
        $oDB->query($sSQL);
    }
    if (CONST_Log_File && CONST_Log_File_SearchLog != '') {
        $aStartTime = explode('.', $hLog[0]);
        file_put_contents(CONST_Log_File_SearchLog, $aStartTime[0] . ',' . $aStartTime[1] . ',' . php_uname('n') . ',' . '"' . addslashes(isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '') . '",' . '"' . addslashes($hLog[1]) . '",' . '"' . addslashes($hLog[3]) . '",' . '"' . addslashes($_SERVER['HTTP_USER_AGENT']) . '",' . '"' . addslashes(isset($_GET['format']) ? $_GET['format'] : '') . '",' . $iNumResults . "\n", FILE_APPEND);
    }
}
Exemplo n.º 2
0
function getWordSuggestions(&$oDB, $sWord)
{
    $sWordQuoted = getDBQuoted(trim($sWord));
    $sSQL = "select *,levenshtein({$sWordQuoted},word) from test_token ";
    $sSQL .= "where (metaphone = dmetaphone({$sWordQuoted}) or metaphonealt = dmetaphone({$sWordQuoted}) or ";
    $sSQL .= "metaphone = dmetaphone_alt({$sWordQuoted}) or metaphonealt = dmetaphone_alt({$sWordQuoted})) ";
    $sSQL .= "and len between length({$sWordQuoted})-2 and length({$sWordQuoted})+2 ";
    $sSQL .= "and levenshtein({$sWordQuoted},word) < 3 ";
    $sSQL .= "order by levenshtein({$sWordQuoted},word) asc, abs(len - length({$sWordQuoted})) asc limit 20";
    $aSimilar = $oDB->getAll($sSQL);
    return $aSimilar;
}
Exemplo n.º 3
0
     } else {
         $aValidTokens[$aToken['word_token']] = array($aToken);
     }
     if ($aToken['word_token'][0] == ' ' && !$aToken['class'] && !$aToken['country_code']) {
         $aPossibleMainWordIDs[$aToken['word_id']] = 1;
     }
 }
 if (CONST_Debug) {
     var_Dump($aPhrases, $aValidTokens);
 }
 $aSuggestion = array();
 $bSuggestion = false;
 if (CONST_Suggestions_Enabled) {
     foreach ($aPhrases as $iPhrase => $aPhrase) {
         if (!isset($aValidTokens[' ' . $aPhrase['wordsets'][0][0]])) {
             $sQuotedPhrase = getDBQuoted(' ' . $aPhrase['wordsets'][0][0]);
             $aSuggestionWords = getWordSuggestions($oDB, $aPhrase['wordsets'][0][0]);
             $aRow = $aSuggestionWords[0];
             if ($aRow && $aRow['word']) {
                 $aSuggestion[] = $aRow['word'];
                 $bSuggestion = true;
             } else {
                 $aSuggestion[] = $aPhrase['string'];
             }
         } else {
             $aSuggestion[] = $aPhrase['string'];
         }
     }
 }
 if ($bSuggestion) {
     $sSuggestion = join(', ', $aSuggestion);