<?php require '../../../vendor/autoload.php'; use piwidict\Piwidict; use piwidict\sql\{TLang, TPage, TPOS, TRelationType}; use piwidict\widget\WForm; require '../config_examples.php'; require '../config_password.php'; // $pw = new Piwidict(); Piwidict::setDatabaseConnection($config['hostname'], $config['user_login'], $config['user_password'], $config['dbname']); $link_db = Piwidict::getDatabaseConnection(); $wikt_lang = "ru"; // Russian language is the main language in ruwikt (Russian Wiktionary) Piwidict::setWiktLang($wikt_lang); $lang_id = TLang::getIDByLangCode("ru"); $pos_ids = array(TPOS::getIDbyName('noun') => "сущ", TPOS::getIDbyName('adjective') => "прил", TPOS::getIDbyName('verb') => "глаг", TPOS::getIDbyName('adverb') => "нареч"); $relation_type_id = (int) TRelationType::getIDByName("synonyms"); $fh = fopen('ru.wiktionary.with.synonyms.json', 'w'); $query = "SELECT page_title, lang_pos.id as id, pos_id FROM lang_pos,page WHERE lang_pos.page_id = page.id AND lang_id={$lang_id} order by page_title"; print "<p>{$query}"; $result = $link_db->query_e($query, "Query failed in file <b>" . __FILE__ . "</b>, string <b>" . __LINE__ . "</b>"); while ($row = $result->fetch_object()) { $def_arr = $synonyms = array(); $is_exists_syn = 0; $query = "SELECT text, meaning.id as meaning_id FROM meaning, wiki_text WHERE lang_pos_id=" . (int) $row->id . " and meaning.wiki_text_id=wiki_text.id order by meaning_n"; $result_meaning = $link_db->query_e($query, "Query failed in file <b>" . __FILE__ . "</b>, string <b>" . __LINE__ . "</b>"); if ($link_db->query_count($result_meaning)) { while ($row_meaning = $result_meaning->fetch_object()) { $def_arr[] = PWString::escapeQuotes($row_meaning->text); $query = "SELECT text FROM relation, wiki_text WHERE relation.wiki_text_id=wiki_text.id AND relation.meaning_id=" . (int) $row_meaning->meaning_id . " AND relation_type_id=" . (int) $relation_type_id; //print "<p>$query";