Пример #1
0
        }
        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}");
Пример #2
0
     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']);
Пример #3
0
<?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));
Пример #4
0
 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 {
Пример #5
0
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']));
Пример #6
0
function get_current_tagset()
{
    check_logged();
    return OPTION(OPT_NE_TAGSET);
}
Пример #7
0
function game_is_on()
{
    return OPTION(OPT_GAME_ON) == 1;
}