function openthesaurus_searchSynonyms($query)
{
    $start = getmicrotime();
    $items = array();
    $query_str = sprintf("\n\t\tSELECT words.id AS word_id, word, meaning_id\n\t\tFROM words, word_meanings, meanings\n\t\tWHERE \n\t\t\tword = '%s' AND\n\t\t\twords.id = word_meanings.word_id AND\n\t\t\tword_meanings.meaning_id = meanings.id AND\n\t\t\tmeanings.hidden = 0\n\t\n\t\tUNION\n\n\t\tSELECT words.id AS word_id, word, meaning_id\n\t\tFROM words, word_meanings, meanings\n\t\tWHERE \n\t\t\tlookup = '%s' AND\n\t\t\twords.id = word_meanings.word_id AND\n\t\t\tword_meanings.meaning_id = meanings.id AND\n\t\t\tmeanings.hidden = 0\n\n\t\tORDER BY word", myaddslashes($query), myaddslashes($query), myaddslashes($query), myaddslashes($query));
    $db = new DB_Thesaurus();
    $db->query($query_str);
    $synmatches = 1;
    if ($db->nf() == 0) {
        $item['words'] = array();
        $items[] = $item;
    }
    while ($db->next_record()) {
        $mid = $db->f('meaning_id');
        $item['words'] = getSynsetWithUsage($db->f('meaning_id'), 1);
        $items[] = $item;
    }
    $_GET['search'] = 1;
    # otherwise logSearch ignores the search
    logSearch($db, $query, $db->nf(), 0, getEndTimer(), 1);
    XMLRPC_response(XMLRPC_prepare($items), KD_XMLRPC_USERAGENT);
}
    $query = sprintf("INSERT INTO wiktionary (headword, meanings, synonyms) VALUES ('%s', '%s', '%s')", addslashes($title), myaddslashes($meanings_str), myaddslashes($synonyms_str));
    $db->query($query);
    $insert_count++;
    #print "<p>$title:<br>&nbsp;MEAN:".join(',', $meanings)."<br>";
    #print "&nbsp;SYNO:".join(',', $synonyms);
}
$handle = fopen(WIKTIONARY_XML, "r");
$i = 0;
$insert_count = 0;
$title = "";
$meanings = array();
$synonyms = array();
$state = "";
if ($handle) {
    $query = sprintf("DELETE FROM wiktionary");
    $db->query($query);
    $lang = "";
    while (!feof($handle)) {
        $buffer = fgets($handle, 4096);
        #echo "\n<br>###".$buffer;
        $pos = strpos($buffer, "<title>");
        $endpos = strpos($buffer, "</title>");
        if ($pos !== false && $endpos !== false) {
            if (sizeof($meanings) > 0 && $lang == WIKTIONARY_LANG) {
                if (strpos($title, "Categoría:") !== false || strpos($title, "Wiktionary:") !== false) {
                    #print "Ignoring(2): $title<br>";
                } else {
                    storeData($title, $meanings, $synonyms);
                }
                $lang = "";
            } elseif (sizeof($meanings) > 0 && $lang != WIKTIONARY_LANG) {
$query = sprintf("SELECT date, term, matches, submatch, ip\n\tFROM search_log\n\tWHERE matches = 0 AND submatch = 0\n\tORDER by date DESC\n\tLIMIT %d", $limit);
$db->query($query);
?>
<table>
<tr>
	<td><strong>#</strong></td>
	<td><strong>Date</strong></td>
	<td><strong>Term</strong></td>
	<td align="right"><strong>Matches</strong></td>
	<td align="right"><strong>IP</strong></td>
</tr>
</tr>
	<?php 
while ($db->next_record()) {
    $query2 = sprintf("SELECT word, meaning_id\n\t\t\tFROM word_meanings, words, meanings\n\t\t\tWHERE \n\t\t\t\twords.word = '%s' AND\n\t\t\t\twords.id = word_meanings.word_id AND\n\t\t\t\tword_meanings.meaning_id = meanings.id AND\n\t\t\t\tmeanings.hidden = 0\n\t\t\t\tLIMIT 1", addslashes($db->f('term')));
    $db2->query($query2);
    if ($db2->nf() > 0) {
        continue;
    }
    if ($i % 2 == 0) {
        $col = ' bgcolor="#eeeeee"';
    } else {
        $col = "";
    }
    ?>
		<tr<?php 
    print $col;
    ?>
>
			<td align="right"><?php 
    print $i + 1;
Exemplo n.º 4
0
function getSubject($meaning_id)
{
    $db = new DB_Thesaurus();
    $query = sprintf("SELECT subject\n\t\t\tFROM meanings, subjects\n\t\t\tWHERE \n\t\t\t\tmeanings.id = %d AND\n\t\t\t\tsubjects.id = meanings.subject_id", $meaning_id);
    $db->query($query);
    $db->next_record();
    return $db->f('subject');
}
$title = "OpenThesaurus admin interface: update 'lookup' field";
include "../include/top.php";
?>

<?php 
$query = sprintf("SELECT id, word, lookup\n\tFROM words\n\tORDER by word");
$db->query($query);
while ($db->next_record()) {
    $lookup = getLookupWord($db->f('word'));
    $lookup_db = $db->f('lookup');
    if ($lookup == $db->f('word')) {
        # lookup is the same as the original word, so it should be set to NULL
        if (!is_null($lookup_db)) {
            print "Setting lookup of '" . $db->f('word') . "' to NULL<br>\n";
            $query = sprintf("UPDATE words SET lookup = NULL WHERE id = %d", $db->f('id'));
            $db2->query($query);
        }
    } else {
        # lookup is NOT the same as the original word, so it should be set to getLookupWord(...):
        if ($lookup_db != $lookup) {
            print "Setting lookup of '" . $db->f('word') . "' to '{$lookup}'<br>\n";
            $query = sprintf("UPDATE words SET lookup = '%s' WHERE id = %d", addslashes($lookup), $db->f('id'));
            $db2->query($query);
        }
    }
}
print "Done.\n";
?>

<p><a href="<?php 
print BASE_URL;
        array_push($l, $db->f('meaning_id'));
    }
    $last_id = $db->f('meaning_id');
    $prev_word = $db->f('word');
}
array_push($l, $last_id);
$words[$prev_word] = join(',', $l);
$wordlist = array();
$thes = array();
while (list($key, $val) = each($words)) {
    $query = sprintf("SELECT DISTINCT word, word_id, word_meanings.id AS wmid\n\t\tFROM word_meanings, words\n\t\tWHERE \n\t\t\tmeaning_id IN (%s) AND\n\t\t\twords.id = word_meanings.word_id", $val);
    $db->query($query);
    $table = array();
    while ($db->next_record()) {
        $query = sprintf("SELECT uses.name, word_meanings.id\n\t\t\tFROM word_meanings, uses\n\t\t\tWHERE word_meanings.id = %d AND\n\t\t\t\tuses.id = word_meanings.use_id", $db->f('wmid'));
        $db_temp->query($query);
        $db_temp->next_record();
        $w = $db->f('word');
        if ($db_temp->f('name')) {
            $w .= " (" . $db_temp->f('name') . ")";
            # "use" information
            array_push($wordlist, trim($w));
        }
        $table[$w] = 1;
        # 1 =fake value
    }
    $key_org = $key;
    $key = preg_replace("/,/", ";", $key);
    if (!(strpos($key_org, ",") === false)) {
        print "Replacing {$key_org} by {$key}<br>\n";
    }
Exemplo n.º 7
0
function getMorphologic($meaning_id)
{
    $db = new DB_Thesaurus();
    $query = sprintf("SELECT morphologic\n\t\t\tFROM meanings, morphologics\n\t\t\tWHERE \n\t\t\t\tmeanings.id = %d AND\n\t\t\t\tmorphologics.id = meanings.morphologic_id", $meaning_id);
    $db->query($query);
    $db->next_record();
    return $db->f('morphologic');
}