Example #1
0
<?php

require_once '/var/www/config.php';
sro('/Includes/mysql.php');
sro('/Includes/session.php');
sro('/Includes/functions.php');
sro('/PHP5/lib/PHPLang/common.php');
sro('/PHP5/lib/PHPLang/db.php');
sro('/PHP5/lib/PHPLang/translation.php');
if (array_key_exists("id", $_GET) and array_key_exists("path", $_GET) and is_numeric($_GET["id"])) {
    $w = WORD(defaultDB(), intval($_GET["id"]));
    $w->read_paths();
    $p = PATH($w, $_GET["path"]);
    echo la_en($p, !safe_get("all_forms", $_GET));
} else {
    exit("\$_GET was invalid");
}
Example #2
0
 function get_sentence()
 {
     global $OP_PARAGRAPH;
     return [["store_path" => "path", "word" => $this->word, "path" => [get_pick("voice"), get_pick("mood-tense"), get_pick("selected-person"), get_pick("selected-number")]], $OP_PARAGRAPH, function ($pick_db) {
         $path = $pick_db["path"];
         $t = la_en($path, true);
         $T = la_en($path, false);
         return name_answer_lang_tool("translation", new FreeResponseExpr($t, $T), "en", "English translation");
     }];
 }
Example #3
0
function make_chart($w, $values = NULL, $ignore = NULL, $legend = "this chart", $add = NULL, $translate = FALSE)
{
    if ($translate === TRUE) {
        $translate = [];
    }
    ob_start();
    if ($values === NULL) {
        $values = word_table_values($w, $ignore);
        list($values0, $values1, $values2, $values3, $values4) = $values;
    } else {
        list($values0, $values1, $values2, $values3, $values4) = $values;
        $values0 = _do_ignore($values0, $ignore);
        if (is_fillable($values1)) {
            $values1 = _fill($values1, $values0);
        }
        if (is_fillable($values2)) {
            $values2 = _fill($values2, $values0);
        }
        if (is_fillable($values3)) {
            $values3 = _fill($values3, $values0);
        }
        if (is_fillable($values4)) {
            $values4 = _fill($values4, $values0);
        }
        _filter_ignore2($values1, $ignore, PATH($w), $values0);
        _filter_ignore2($values2, $ignore, PATH($w), $values0, $values1);
        _filter_ignore2($values3, $ignore, PATH($w), $values0);
        _filter_ignore2($values4, $ignore, PATH($w), $values0, $values3);
    }
    global $OP_USER_INPUT;
    $w->read_paths();
    $w->read_attrs();
    if (is_string($add) && $add) {
        $add = ", {$add}";
    }
    $ret = ["help" => !is_callable($legend) && !is_callable($add) ? "Fill in {$legend} for “" . display_word_name($w) . "”{$add}." : function ($pick_db, $db) use($w, $add, $legend) {
        if (is_callable($add)) {
            $add = $add($pick_db, $db);
            if ($add) {
                $add = ", {$add}";
            }
        }
        if (is_callable($legend)) {
            $legend = $legend($pick_db, $db);
        }
        return "Fill in " . $legend . " for “" . display_word_name($w) . "”{$add}.";
    }, "selections" => [], "sentence" => []];
    $i = 0;
    $get_question = function ($form, $path) use(&$i, &$ret, $translate) {
        $ret["answer{$i}-hidden"] = TRUE;
        $ret["answer{$i}"] = array_map("format_word", explode("\n", $form));
        $ret["answer{$i}-tooltip"] = "Enter form";
        $i++;
        if ($translate === FALSE or _in_ignore($path, $translate)) {
            return '<input>';
        } else {
            $ret["answer{$i}-hidden"] = TRUE;
        }
        $ret["answer{$i}"] = ["correct" => [la_en($path, true)], "expr" => la_en($path, false)];
        //error_log($path.json_encode($ret["answer$i"]));
        $ret["answer{$i}-tooltip"] = "Translate";
        $i++;
        return '<input><br><input>';
    };
    do_table($w, $values0, $values1, $values2, $values3, $values4, $ignore, "format_value", $get_question, NULL, NULL, 0);
    $table = explode("<input>", ob_get_contents());
    ob_clean();
    $i = count($table) - 1;
    foreach ($table as $r) {
        $ret["sentence"][] = HTML($r);
        if ($i) {
            $ret["sentence"][] = $OP_USER_INPUT;
        }
        $i -= 1;
    }
    return $ret;
}