<?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; }
function simplify($group) { return array('type' => $group['type'], 'tokens' => join(' ', sorted(get_group_tokens($group['id'])))); }