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);
}
if (!WORD_DETAIL_WITHOUT_AUTH && $auth->auth["uid"] == "nobody") {
    $auth->login_if(true);
    return;
}
if (uservar('do_save') == 1 && $auth->auth["uid"] == "nobody") {
    $auth->login_if(true);
    return;
}
$db = new DB_Thesaurus();
$query = sprintf("SELECT words.word, word_meanings.use_id, word_meanings.meaning_id\n\tFROM word_meanings, words\n\tWHERE \n\t\tword_meanings.id = %d AND\n\t\twords.id = word_meanings.word_id", myaddslashes(uservar('wmid')));
$db->query($query);
if ($db->nf() == 0) {
    print "ID not found";
    return;
}
$db->next_record();
$word = $db->f('word');
$word_use = $db->f('use_id');
if (isset($_POST['use_id'])) {
    $word_use = $_POST['use_id'];
}
$meaning_id = $db->f('meaning_id');
$error = "";
$disambiguate = "";
if (uservar('do_save') == 1) {
    if (uservar('use_id') == 1) {
        $new_id = "NULL";
    } else {
        $new_id = intval(uservar('use_id'));
    }
    # Update database:
<?php

include "../include/phplib/prepend.php3";
page_open(array("sess" => "Thesaurus_Session", "auth" => "Thesaurus_Auth"));
$db = new DB_Thesaurus();
include "../include/tool.php";
if ($auth->auth['uname'] != 'admin') {
    print "Access denied.";
    return;
}
$title = "OpenThesaurus admin interface: Search senses != NULL";
include "../include/top.php";
$i = 1;
$query = sprintf("SELECT id, distinction FROM meanings\n\t\tWHERE distinction IS NOT NULL\n\t\t\tAND hidden = 0\n\t\t\tORDER BY id");
$db->query($query);
while ($db->next_record()) {
    ?>
	<?php 
    print $i;
    ?>
.
		<a href="../synset.php?id=<?php 
    print $db->f('id');
    ?>
">
		<?php 
    print join(', ', getSynset($db->f('id')));
    ?>
</a>
		in terms of '<?php 
    print $db->f('distinction');
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');
}
Exemplo n.º 5
0
if ($auth->auth['uname'] != 'admin') {
    print "Access denied.";
    return;
}
function shorten($str, $length = 15)
{
    $str = substr($str, 0, $length);
    return $str;
}
$title = "OpenThesaurus admin interface";
$no_text_decoration = 1;
include "../include/top.php";
# get last display date of this page:
$query = sprintf("SELECT value FROM admin_checks\n\tWHERE keyname = 'login_date'");
$db->query($query);
$db->next_record();
$admin_page_last_display = $db->f('value');
# get last memory DB update:
$mem_db_date = "";
if (MEMORY_DB) {
    $query = sprintf("SELECT lookup FROM memwords\n\t\tWHERE word = '__last_modified__'");
    $db->query($query);
    $db->next_record();
    $mem_db_date = $db->f('lookup');
}
# store date of now:
$query = sprintf("UPDATE\n\tadmin_checks\n\tSET value = '%s'\n\tWHERE keyname = 'login_date'", date("Y-m-d H:i:s"));
$db->query($query);
?>

<table border="0" cellpadding="4" cellspacing="0">
    }
    $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";
    }
    $thes[$key] = array_keys($table);
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');
}