]> git.joonet.de Git - adminer.git/commitdiff
Switch language by POST
authorJakub Vrana <jakub@vrana.cz>
Fri, 7 Sep 2012 06:32:42 +0000 (23:32 -0700)
committerJakub Vrana <jakub@vrana.cz>
Fri, 7 Sep 2012 15:21:21 +0000 (08:21 -0700)
adminer/include/lang.inc.php
changes.txt
tests/0-login.html

index db6450868941ad0b5e2d06f0aa62c4d081da135b..c6fd7df285ce2b58d552e16f9b176e868e46340f 100644 (file)
@@ -70,17 +70,18 @@ function lang($idf, $number = null) {
 }
 
 function switch_lang() {
-       global $LANG, $langs;
-       echo "<form action=''>\n<div id='lang'>";
-       hidden_fields($_GET, array('lang'));
+       global $LANG, $langs, $token;
+       echo "<form action='' method='post'>\n<div id='lang'>";
        echo lang('Language') . ": " . html_select("lang", $langs, $LANG, "this.form.submit();");
        echo " <input type='submit' value='" . lang('Use') . "' class='hidden'>\n";
+       echo "<input type='hidden' name='token' value='$token'>\n";
        echo "</div>\n</form>\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";
index 4755b9f754f46f17502c8baf3e126cb56366c8f1..d34c84182a43643938e32011b2e6aa0ef8535544 100644 (file)
@@ -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
 
index 384fce968b608dbf4475e2bbb77712d442433392..01e3c4e9fd34adf706c1c66c0972f5807fba7f64 100644 (file)
        <td>adminer/?username=ODBC&amp;lang=en</td>
        <td></td>
 </tr>
+<tr>
+       <td>click</td>
+       <td>name=lang</td>
+       <td></td>
+</tr>
+<tr>
+       <td>select</td>
+       <td>name=lang</td>
+       <td>label=English</td>
+</tr>
+<tr>
+       <td>clickAndWait</td>
+       <td>css=option[value=&quot;en&quot;]</td>
+       <td></td>
+</tr>
 <tr>
        <td>verifyTextPresent</td>
        <td>Logged as</td>