} if ($is_book_moderator) { $spans = get_ne_entities_by_book($book_id, $_SESSION['user_id'], $tagset_id); $spans = array_unique(array_map(function ($span) { $tokens = ''; foreach ($span['tokens'] as $t) { $tokens .= $t[1] . ' '; } return trim($tokens); }, $spans)); $book['all_spans'] = $spans; } $smarty->assign('book', $book); $smarty->assign('use_fast_mode', OPTION(OPT_NE_QUICK)); $smarty->assign('possible_guidelines', array(1 => "Default (2014)", 2 => "Dialogue Eval (2016)")); $smarty->assign('current_guideline', OPTION(OPT_NE_TAGSET)); $smarty->assign('entity_types', get_ne_types($tagset_id)); $smarty->assign('mention_types', get_object_types($tagset_id)); $smarty->assign('is_moderator', $is_book_moderator); $smarty->display('ner/book.tpl'); } else { throw new UnexpectedValueException(); } } else { switch ($action) { case 'add': $book_name = trim($_POST['book_name']); $book_parent = $_POST['book_parent']; $book_id = books_add($book_name, $book_parent); if (isset($_POST['goto'])) { header("Location:books.php?book_id={$book_id}");
if (isset($_GET['tabs'])) { $smarty->assign('pool', get_morph_samples_page($_GET['pool_id'], true, 100)); header("Content-type: application/csv; charset=utf-8"); header("Content-disposition: attachment; filename=pool_" . (int) $_GET['pool_id'] . ".tab"); $smarty->display('qa/pool_tabs.tpl'); } else { $filter = isset($_GET['filter']) ? $_GET['filter'] : false; $matches = NULL; if ($filter && !user_has_permission(PERM_MORPH_MODER) && preg_match('/^user:(\\d+)$/', $filter, $matches)) { if ($matches[1] != $_SESSION['user_id']) { show_error("Можно просматривать только свои ответы."); return; } } $smarty->assign('sortby', isset($_GET['sortby']) ? $_GET['sortby'] : ''); $smarty->assign('pool', get_morph_samples_page($_GET['pool_id'], isset($_GET['ext']), $config['misc']['morph_annot_moder_context_size'], isset($_GET['skip']) ? $_GET['skip'] : 0, $filter, !user_has_permission(PERM_MORPH_MODER) || OPTION(OPT_MODER_SPLIT) == 1 ? $config['misc']['morph_annot_moder_page_size'] : 0, isset($_GET['sortby']) ? $_GET['sortby'] : '')); $smarty->display('qa/pool.tpl'); } break; case 'promote': check_permission(PERM_MORPH_MODER); promote_samples((int) $_GET['pool_type'], $_POST['type'], (int) $_POST[$_POST['type'] . "_n"], (int) $_POST['pools_num'], $_SESSION['user_id']); header("Location:pools.php?type=2"); break; case 'publish': publish_pool($_GET['pool_id']); header("Location:pools.php?type=2"); break; case 'unpublish': unpublish_pool($_GET['pool_id']); header("Location:pools.php?act=samples&pool_id=" . $_GET['pool_id']);
<?php require_once '../lib/header_ajax.php'; require_once '../lib/lib_dict.php'; require_once '../lib/lib_annot.php'; require_once '../lib/lib_users.php'; if (isset($_POST['tf_id'])) { $res = sql_pe("SELECT tf_text FROM tokens WHERE tf_id=? LIMIT 1", array($_POST['tf_id'])); $r = $res[0]; $pset = new MorphParseSet(false, $r['tf_text'], false, true); $result['xml'] = "<tfr>"; foreach ($pset->parses as $parse) { $result['xml'] .= '<v><l id="' . $parse->lemma_id . '" t="' . htmlspecialchars($parse->lemma_text) . '">'; foreach ($parse->gramlist as $gram) { if (OPTION(OPT_GRAMNAMES) == 1) { $result['xml'] .= '<g v="' . $gram['outer'] . '" d="' . $gram['descr'] . '"/>'; } else { $result['xml'] .= '<g v="' . $gram['inner'] . '" d="' . $gram['descr'] . '"/>'; } } $result['xml'] .= '</l></v>'; } $result['xml'] .= '</tfr>'; } log_timing(true); die(json_encode($result));
print "</select>\n"; # --- named ... --- print "<tr>\n"; print "<td>Named: "; print "<td>"; print "<input type=text name=match_name value=\"{$match_name}\" size=8>\n"; # --- limit to ... per page --- print "<tr>\n"; print "<td>Show: "; print "<td>"; print "<select name=perpage>"; $perpagelist = array(10, 25, 50, 100); foreach ($perpagelist as $elemvalue) { OPTION($elemvalue, $perpage, "{$elemvalue}"); } OPTION(-1, $perpage, "all"); print "</select> " . PROJECTTYPETEXTP . " on one page\n"; print "</table>\n"; # --- only own projects --- if ($userid > 0) { print "<input type=checkbox name=match_userid value=checked {$match_userid}> Show only my projects<br>\n"; print "<input type=checkbox name=show_deleted value=checked {$show_deleted}> Show deleted projects<br>\n"; } # ----- print "<input type=submit value=\"Show\"> "; print "</form>\n"; # --- set up the query condition -- $querycondition = "where type = " . PROJECTTYPE; if ($show_deleted) { $querycondition .= " and deleted = 1"; } else {
require_once 'lib/lib_morph_pools.php'; $smarty->assign('active_page', 'tasks'); if (!is_logged()) { $smarty->assign('content', get_wiki_page("Инструкция по интерфейсу для снятия омонимии")); $smarty->display('qa/tasks_guest.tpl'); return; } $action = isset($_GET['act']) ? $_GET['act'] : ''; $smarty->assign('user_rating', get_user_rating($_SESSION['user_id'])); switch ($action) { case 'annot': if (!isset($_GET['pool_id']) || !$_GET['pool_id']) { throw new UnexpectedValueException('Wrong pool_id'); } $pool_size = 5; $opt = OPTION(OPT_SAMPLES_PER_PAGE); switch ($opt) { case 2: $pool_size = 10; break; case 3: $pool_size = 20; break; case 4: $pool_size = 50; } if ($t = get_annotation_packet((int) $_GET['pool_id'], $pool_size)) { $smarty->assign('packet', $t); $smarty->display('qa/morph_annot.tpl'); } else { $smarty->assign('next_pool_id', get_next_pool($_SESSION['user_id'], (int) $_GET['pool_id']));
function get_current_tagset() { check_logged(); return OPTION(OPT_NE_TAGSET); }
function game_is_on() { return OPTION(OPT_GAME_ON) == 1; }