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); }
<?php $check_new_prob = 50; $order = ""; if (rand(1, 100) <= $check_new_prob) { $order = "check_count ASC, RAND()"; } else { $order = "RAND()"; } $query = sprintf("SELECT id, check_count\n\tFROM meanings \n\tWHERE hidden = 0 AND\n\tid NOT IN (%s)\n\tORDER BY %s\n\tLIMIT %d", HIDDEN_SYNSETS, $order, $limit); $db->query($query); ?> <ul> <?php $ids = array(); while ($db->next_record()) { $synset = getSynsetWithUsage($db->f('id'), 1); array_push($ids, $db->f('id')); ?> <li><!-- check_count: <?php print $db->f('check_count'); ?> --> <a href="synset.php?id=<?php print $db->f('id'); ?> "><?php print join(', ', $synset); ?> </a></li> <?php }
/** Get the synset as an array, including "(colloquial)" etc but limited to at * most $max_elements words. */ function getLimitedSynsetWithUsage($id, $shortname, $max_elements) { return getSynsetWithUsage($id, $shortname, $max_elements); }
# Antonyme: $antonym_line = ""; if ($antonym_term != "") { $antonym_array = getAntonym($db2, $db->f('wmid')); if (is_array($antonym_array)) { list($antonym_mid, $antonym_word) = $antonym_array; $antonym_line = $antonym_word . $antonym_term; #print "Anto: ".$w.": ".$antonym_word." -- ".$antonym_line."<br>"; } } if ($sub_term != "") { #subordinate concepts: $sub_line = ""; $sub = getSubordinateSynsets($db2, $db->f('meaning_id')); foreach ($sub as $sub_id) { $sub_synset = getSynsetWithUsage($sub_id); if (sizeof($sub_synset) > 0) { $sub_line = getLine($sub_synset, $w, $sub_term); $sub_line = substr($sub_line, 1); # cut off "-" $syn_line = $syn_line . $sub_line; } } } $syn_line = $syn_line . $generic_line; if ($antonym_line != "") { $syn_line .= "|" . $antonym_line; } if (strtolower($prev_word) == strtolower($w)) { if ($syn_line != "") { array_push($lines, $syn_line . "\n");
print $url_suffix; ?> "><?php print $synset_str . " " . $subject_str; ?> </a> <?php if (SUPERSETS_IN_OVERVIEW && $db->f('super_id')) { ?> <br /> <span class="supersynsethead"><?php print _("Superordinate synset"); ?> :</span> <span class="supersynset"><?php print join(getSynsetWithUsage($db->f('super_id'), 1, 3), ", "); ?> </span> <?php } ?> </li> <?php } if ($db->nf() > 0) { ?> </ul> <?php } ?> <!-- TIME for synset matches: <?php
while ($db->next_record()) { $w = $db->f('lookup'); if (!$w) { $w = $db->f('word'); if (!$w) { continue; } } if ($i % 1000 == 0) { print strftime("%H:%M:%S") . " -- word {$i}...<br>"; flush(); } $i++; $word_id = $db->f('word_id'); #print $db->f('meaning_id')."\n"; $synset = getSynsetWithUsage($db->f('meaning_id')); $str = getMorphologic($db->f('meaning_id')); $str2 = ""; if ($str != "") { $str2 = "(" . $str . ")"; } else { $str2 = "-"; } $syn_line = getLine($synset, $w, ''); $generic_line = ""; # Antonyme: $antonym_line = ""; if ($antonym_term != "") { $antonym_array = getAntonym($db2, $db->f('wmid')); if (is_array($antonym_array)) { list($antonym_mid, $antonym_word) = $antonym_array;
vollständig. Mehr findet man in der <a href="http://de.wikipedia.org/wiki/Helvetismus">Wikipedia</a>.</p> <?php } } ?> <?php $query = sprintf("SELECT meaning_id, word, meanings.super_id,\n\t\tdistinction, meanings.hidden\n\tFROM word_meanings, words, meanings\n\tWHERE \n\t\twords.word LIKE '%%%s%%' AND\n\t\twords.id = word_meanings.word_id AND\n\t\tword_meanings.meaning_id = meanings.id AND\n\t\tmeanings.hidden = 0\n\tORDER BY word", $condition); $db->query($query); ?> <ul> <?php $i = 1; $prev_id = -1; while ($db->next_record()) { $s = getSynsetWithUsage($db->f('meaning_id'), 1); $str = ""; $var_word = ""; $nonvar_words = array(); foreach ($s as $syn) { if ($str != "") { $str .= ", "; } if (strpos($syn, $condition) !== false) { #$str .= "<strong>".$syn."</strong>"; $var_word = preg_replace("/\\({$condition}\\)/", "", $syn); $var_word = trim($var_word); } else { array_push($nonvar_words, $syn); } }
// } include "../include/phplib/prepend.php3"; $db = new DB_Thesaurus(); include "../include/tool.php"; $hp = HOMEPAGE; $copyright = COPYRIGHT; $ti = LANGUAGE . ' Thesaurus in text format'; $target = TARGET_TEXT; print "Exporting data to '../download/{$target}'...<br>\n"; flush(); $query = sprintf("SELECT id FROM meanings WHERE hidden = 0"); $db->query($query); $lines = array(); while ($db->next_record()) { #print $db->f('id')."<br>"; $s = getSynsetWithUsage($db->f('id')); if (sizeof($s) > 1) { array_push($lines, join(';', unescape($s))); } } sort($lines); $fh = fopen("../download/" . $target, 'w'); if (!$fh) { print "Error: Cannot open '../download/{$target}' for writing.\n"; return; } fwrite($fh, "# OpenThesaurus - {$ti}\n"); fwrite($fh, "# Automatically generated " . strftime("%Y-%m-%d %H:%M", time()) . "\n"); fwrite($fh, "# {$hp}\n"); fwrite($fh, "# {$copyright}\n"); fwrite($fh, LICENSE);
<td></td> <td colspan="3" bgcolor="#dddddd"> <?php print T_("Superordinate und subordinate synsets (<a href=\"faq.php#hierarchie\">Help</a>):<br />"); ?></td> </tr> <tr> <td></td> <td colspan="3" bgcolor="#dddddd"> <?php $max_synset_size = 3; # don't display more words than this if( $meaning_id == TOP_SYNSET_ID || $meaning_id == TOP_SYNSET_ID_VERB ) { print T_("This is the top superordinate synset."); } else if( $super_id ) { print T_("Superordinate concept:"); print " <a href=\"synset.php?id=".intval($super_id)."\">".join(', ', getSynsetWithUsage($super_id, 1, $max_synset_size))."</a>"; print " (<label class=\"myhover\"><input type=\"checkbox\" name=\"delete_super\" value=\"1\"/>".T_("delete reference").")</label>"; $can_delete = 0; $super_defined = 1; } else { print T_("No superordinate concept defined yet for this synset. Set one now:"); ?> <input accesskey="o" type="text" name="super_new" value="" /> <?php } ?> <br /> <?php $query = sprintf("SELECT id FROM meanings WHERE super_id = %s", $meaning_id);