";
- hidden_fields($_GET, array('lang'));
+ global $LANG, $langs, $token;
+ echo "
\n";
}
-if (isset($_GET["lang"])) {
- $_COOKIE["adminer_lang"] = $_GET["lang"];
- $_SESSION["lang"] = $_GET["lang"]; // cookies may be disabled
+if (isset($_POST["lang"]) && $_SESSION["token"] == $_POST["token"]) { // $token and $error not yet available
+ cookie("adminer_lang", $_POST["lang"]);
+ $_SESSION["lang"] = $_POST["lang"]; // cookies may be disabled
+ redirect(remove_from_uri());
}
$LANG = "en";
diff --git a/changes.txt b/changes.txt
index 4755b9f7..d34c8418 100644
--- a/changes.txt
+++ b/changes.txt
@@ -5,6 +5,7 @@ Time out long running database list and select count
Use VALUES() in INSERT+UPDATE export
Style logout button as link
Ctrl+click and Shift+click on button opens form to a blank window
+Switch language by POST
selectQueryBuild() method (customization)
Serbian translation
diff --git a/tests/0-login.html b/tests/0-login.html
index 384fce96..01e3c4e9 100644
--- a/tests/0-login.html
+++ b/tests/0-login.html
@@ -21,6 +21,21 @@
adminer/?username=ODBC&lang=en |
|
+
+ click |
+ name=lang |
+ |
+
+
+ select |
+ name=lang |
+ label=English |
+
+
+ clickAndWait |
+ css=option[value="en"] |
+ |
+
verifyTextPresent |
Logged as |