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');
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'); }
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);
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'); }