Exemple #1
0
<?php

require_once '../lib/header_ajax.php';
require_once '../lib/lib_anaphora_syntax.php';
/*
    Сюда приходит POST'ом следующее:
    act - что нужно делать
*/
try {
    // TODO: проверка на модератора книги
    switch ($_POST['act']) {
        case 'new':
            $result['aid'] = add_anaphora($_POST['anph_id'], $_POST['group_id']);
            $result['token_ids'] = json_encode(get_group_tokens((int) $_POST['group_id']));
            break;
        case 'delete':
            delete_anaphora($_POST['aid']);
            break;
        default:
            $result['error'] = 1;
            $result['message'] = "Action not implemented: {$_POST['act']}";
            break;
    }
} catch (Exception $e) {
    $result['error'] = 1;
}
log_timing(true);
die(json_encode($result));
function get_anaphora_by_book($book_id)
{
    $res = sql_pe("\n        SELECT token_id, group_id, ref_id, tf.tf_text as token\n        FROM anaphora a\n            JOIN tokens tf ON (a.token_id = tf.tf_id)\n            JOIN sentences USING (sent_id)\n            JOIN paragraphs USING (par_id)\n        WHERE book_id = ?\n    ", array($book_id));
    $out = array();
    foreach ($res as $r) {
        $out[$r['ref_id']] = $r;
        $out[$r['ref_id']]['group_text'] = get_group_text($r['group_id']);
        $out[$r['ref_id']]['group_tokens'] = get_group_tokens($r['group_id']);
    }
    return $out;
}
Exemple #3
0
function simplify($group)
{
    return array('type' => $group['type'], 'tokens' => join(' ', sorted(get_group_tokens($group['id']))));
}