<?php

/**
* Please note, this a first test and second a example
* If this show to diffcult, so you have to know: you only need parts of this and you CAN (not must; not shold) simplify many things.
**/

# Simulate Cookie with Language:
#$_COOKIE['USER_SELECTED_LANGUAGE'] = 'es';

# Simulate hostname with Language:
#$_SERVER['HTTP_HOST'] = 'pt.fastix.org';

# Simulate uri:
#$_SERVER['REQUEST_URI'] = '/ru/test.php';

$tr['Willkommen']['de'] = 'Willkommen!';
$tr['Willkommen']['en'] = 'Welcome!';
$tr['Willkommen']['fr'] = 'Bienvenue!';
$tr['Willkommen']['pt'] = 'Bem-vindo!';
$tr['Willkommen']['es'] = 'Bienvenida!';
$tr['Willkommen']['zh'] = '欢迎!';
$tr['Willkommen']['ru'] = 'добро пожаловать!';
$tr['Willkommen']['tr'] = 'Karşılama!';

$tr['Projektbeschreibung']['de'] = 'Projektbeschreibung';
$tr['Projektbeschreibung']['en'] = 'Project description';
$tr['Projektbeschreibung']['fr'] = 'Description du projet';
$tr['Projektbeschreibung']['pt'] = 'descrição do projecto';
$tr['Projektbeschreibung']['es'] = 'Descripción del proyecto';
$tr['Projektbeschreibung']['zh'] = '项目介绍';
$tr['Projektbeschreibung']['ru'] = 'описание проекта';
$tr['Projektbeschreibung']['tr'] = 'proje açıklaması';

$tr['Cookie löschen + neu laden']['de'] = 'Cookie löschen + neu laden';
$tr['Cookie löschen + neu laden']['en'] = 'Delete cookie + reload';
$tr['Cookie löschen + neu laden']['fr'] = 'Supprimer Cookie + Reload';
$tr['Cookie löschen + neu laden']['pt'] = 'Excluir Cookies + Reload';
$tr['Cookie löschen + neu laden']['es'] = 'Eliminar la galleta + Actualizar';
$tr['Cookie löschen + neu laden']['zh'] = '删除Cookie+刷新';
$tr['Cookie löschen + neu laden']['ru'] = 'Удалить Cookie + Reload';
$tr['Cookie löschen + neu laden']['tr'] = 'Çerez + yükle Sil';

$tr['Wählen Sie die gewünschte Sprache']['de'] = 'Wählen Sie die gewünschte Sprache';
$tr['Wählen Sie die gewünschte Sprache']['en'] = 'Select the desired language';
$tr['Wählen Sie die gewünschte Sprache']['fr'] = 'Sélectionnez la langue quelque vous prefere';
$tr['Wählen Sie die gewünschte Sprache']['pt'] = 'Seleccione el idioma deseado';
$tr['Wählen Sie die gewünschte Sprache']['es'] = 'Seleccione la lengua';
$tr['Wählen Sie die gewünschte Sprache']['zh'] = '选择的语言的链路你';
$tr['Wählen Sie die gewünschte Sprache']['ru'] = 'Выберите нужный язык';
$tr['Wählen Sie die gewünschte Sprache']['tr'] = 'İstediğiniz dili seçin';

$langName['de'] = 'deutsch';
$langName['en'] = 'english';
$langName['fr'] = 'français';
$langName['pt'] = 'português';
$langName['es'] = 'español';
$langName['zh'] = '中国';
$langName['ru'] = 'русский';
$langName['tr'] = 'türk';

$startTime = microtime( true );

### RUN!
require_once 'LanguageSelector.php';
$arLanguages = array('de', 'en', 'fr','pt', 'es', 'zh', 'ru', 'tr'  );
$LanguageSelector = new LanguageSelector( $arLanguages );
#$LanguageSelector -> storeMethod = 'cookie';                    # this is the default
#$LanguageSelector -> storeMethod = 'session';                   # alternative method
#$LanguageSelector -> storeName   = 'USER_SELECTED_LANGUAGE';    # this is the default
define ( 'LANGUAGE', $LanguageSelector  -> getLang() );


?><!doctype HTML>
<html lang="<?=LANGUAGE;?>">
    <head>
        <meta charset="utf-8">
        <title><?=$tr['Willkommen'][LANGUAGE];?></title>
<?php
                foreach ($arLanguages as $lang) {
?>
        <link rel="alternate" hreflang="<?=$lang;?>" href="?<?=urlencode( $LanguageSelector -> storeName );?>=<?=urlencode($lang);?>" />
<?php
                }
?>
    </head>
    <body>
        <h1><?=$tr['Willkommen'][LANGUAGE];?></h1>
<?php if ( 'cookie' == $LanguageSelector -> storeMethod ) { ?>
        <h2>(Cookie)</h2>
        <p><?=$tr['Wählen Sie die gewünschte Sprache'][LANGUAGE];?>:</p>
        <p>
<?php
                foreach ( $arLanguages as $lang ) {
?>
            <button onclick="document.cookie='<?=$LanguageSelector->storeName;?>=<?=$lang;?>'; location.reload();"><?=$lang;?></button>
<?php
                }
}
?>
        </p>
        <h2>(HREF/GET)</h2>
        <p><?=$tr['Wählen Sie die gewünschte Sprache'][LANGUAGE];?>:</p>
        <p>
<?php
                foreach ( $arLanguages as $lang ) {
?>
            <a hreflang="<?=$lang;?>" href="?<?=urlencode( $LanguageSelector -> storeName );?>=<?=urlencode( $lang );?>"><?=htmlspecialchars( $lang );?></a>&nbsp;
<?php
                }
?>
        </p>

        <h2>(Form/Post)</h2>
        <p><?=$tr['Wählen Sie die gewünschte Sprache'][LANGUAGE];?>:</p>
        <form method="post">
            <select id="<?=$LanguageSelector -> storeName;?>" name="<?=$LanguageSelector -> storeName;?>" onchange="submit()">
<?php
                foreach ( $arLanguages as $lang ) {
                $selected='';
                if ( $lang == $LanguageSelector -> getLastSelection() ) { $selected=' selected="selected"'; }
?>
                <option value="<?=htmlspecialchars($lang);?>"<?=$selected;?>><?=htmlentities($langName[$lang]);?></option>
<?php
                }
?>
            </select>
        </form>
        <p>
<?php if ( 'cookie' == $LanguageSelector -> storeMethod ) { ?>
            <button onclick="document.cookie = '<?=$LanguageSelector -> storeName;?>=; expires=Thu, 01 Jan 1970 00:00:01 GMT;'; location.reload();"><?=$tr['Cookie löschen + neu laden'][LANGUAGE]?></button>
<?php } elseif ( 'session' == $LanguageSelector -> storeMethod ) { ?>
            <button onclick="location.href='<?=$_SERVER['SCRIPT_NAME'];?>?<?=urlencode($LanguageSelector -> storeName);?>=unset';"><?=$tr['Cookie löschen + neu laden'][LANGUAGE]?></button>
<?php } else {
            trigger_error("Fatal: storeMethod must be 'cookie' or 'session'. given is: '" . $this -> storeMethod . "'", E_USER_ERROR );
      }
?>
        </p>
        <hr />
        <?=round( ( microtime( true ) - $startTime ) * 1000, 2 ); ?> ms elapsed on a Banana Pi M3
        <hr />
        <a href="https://code.fastix.org/Projekte/PHP%3ALanguageSelector/"><?=$tr['Projektbeschreibung'][LANGUAGE];?></a>
    </body>
</html>