Ejemplo n.º 1
0
<?php 
if (isset($_GET['lang'])) {
    $lang = htmlspecialchars($_GET['lang']);
    $db = Db::getInstance();
    $query = "SHOW COLUMNS FROM translations";
    $db->query($query, []);
    $rows = $db->fetchAll();
    $possibleLanguages = [];
    foreach ($rows as $row) {
        foreach ($row as $test) {
            if (strpos($test, 'text_') === 0) {
                array_push($possibleLanguages, str_replace('text_', '', $test));
            }
        }
    }
    Localization::$possibleLanguages = $possibleLanguages;
    Localization::$LANG_DEFAULT = $possibleLanguages[0];
    if (!in_array($lang, Localization::$possibleLanguages)) {
        $requestPath = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
        header("Location: " . $requestPath);
        exit;
    }
    setcookie('lang', $lang);
    $_COOKIE['lang'] = $lang;
}
function __($tag)
{
    $lang = isset($_COOKIE['lang']) ? htmlspecialchars($_COOKIE['lang']) : Localization::$LANG_DEFAULT;
    $db = Db::getInstance();
    $query = "SELECT text_{$lang} FROM translations WHERE tag = '{$tag}'";
    $db->query($query, [$lang, $tag]);