<?php
    session_start();
    require_once ($_SERVER['DOCUMENT_ROOT'] . '/conf.php');

    if (!auth_is_user()) {
        redirect("/");
    }

    if (DEMO) {
        message_error("Заперщено в Demo-режиме");
    }

    $login = session("login");

    if (PRODUCTION) {
        csrf_check_token();
    }

    /* добавить проверку на право внесение изменений, настройки может редактировать только админ */
    if (session("groups") !== "admin") {
        return message_error("Недостаточно прав доступа");
    }

    $arr = ["csrf", "save", "from"];

    if (!post('from')) {
        return message_error('Не передан параметр from!');
    }

    if (DEMO) {
        return message_error('Редактирование текста в демо-режиме запрещено!');
    }

    if (!(post('lang') && post("origin") && post("translation"))) {
        return message_error('Заполните все поля!');
    }

    $res = translate_manually(post('lang'), post('origin'), post ('translation'));
    $res['data']['csrf'] = csrf_get_token();

    return send_json($res);

function translate_manually($key, $origin, $translation) {

    if (empty($key) || $key === 'ru') {
        return message_error('Не указан язык перевода!');
    }

    session('tr_lang', $key);

    if (empty($origin)) {
        return message_error('Вы не ввели текст для перевода!');
    }

    if (empty($translation)) {
        return message_error('Вы не ввели перевод!');
    }

    if (is_file(ROOT."/translate/".basename($key).".php")) {
        include(ROOT."/translate/".basename($key).".php");
    }

    $translate_text[$key][$origin] = $translation;
    file_put_contents(ROOT."/translate/{$key}.php",
        "<?php \$translate_text['$key'] = ".var_export($translate_text[$key], true).";"
    );

    return message_success('Изменения сохранены!', [
        'key' => $origin,
        'value' => $translation
    ]);
}
