diff --git a/adminer/create.inc.php b/adminer/create.inc.php index ab8a4443..cd32b6ea 100644 --- a/adminer/create.inc.php +++ b/adminer/create.inc.php @@ -82,8 +82,7 @@ if ($_POST && !$error && !$_POST["add"] && !$_POST["drop_col"] && !$_POST["up"] if (strlen($TABLE)) { query_redirect("ALTER TABLE " . idf_escape($TABLE) . "$fields\nRENAME TO " . idf_escape($_POST["name"]) . ",\n$status", $location, lang('Table has been altered.')); } else { - $path = preg_replace('~\\?.*~', '', $_SERVER["REQUEST_URI"]); - setcookie("adminer_engine", $_POST["Engine"], gmmktime(0, 0, 0, gmdate("n") + 1), $path); + cookie("adminer_engine", $_POST["Engine"]); query_redirect("CREATE TABLE " . idf_escape($_POST["name"]) . " (" . substr($fields, 0, -1) . "\n) $status", $location, lang('Table has been created.')); } } diff --git a/adminer/include/functions.inc.php b/adminer/include/functions.inc.php index 71d274ac..ac4e6b2e 100644 --- a/adminer/include/functions.inc.php +++ b/adminer/include/functions.inc.php @@ -154,6 +154,15 @@ function where_link($i, $column, $value) { return "&where%5B$i%5D%5Bcol%5D=" . urlencode($column) . "&where%5B$i%5D%5Bop%5D=%3D&where%5B$i%5D%5Bval%5D=" . urlencode($value); } +/** Set cookie valid for 1 month +* @param string +* @param string +* @return bool +*/ +function cookie($name, $value) { + return setcookie($name, $value, gmmktime(0, 0, 0, gmdate("n") + 1), preg_replace('~\\?.*~', '', $_SERVER["REQUEST_URI"])); +} + /** Send Location header and exit * @param string * @param string diff --git a/adminer/include/lang.inc.php b/adminer/include/lang.inc.php index b2c0198a..0f8b4154 100644 --- a/adminer/include/lang.inc.php +++ b/adminer/include/lang.inc.php @@ -44,7 +44,7 @@ if (isset($_GET["lang"])) { $LANG = "en"; if (isset($langs[$_COOKIE["adminer_lang"]])) { - setcookie("adminer_lang", $_COOKIE["adminer_lang"], gmmktime(0, 0, 0, gmdate("n") + 1), preg_replace('~\\?.*~', '', $_SERVER["REQUEST_URI"])); + cookie("adminer_lang", $_COOKIE["adminer_lang"]); $LANG = $_COOKIE["adminer_lang"]; } elseif (isset($langs[$_SESSION["lang"]])) { $LANG = $_SESSION["lang"]; diff --git a/editor/include/adminer.inc.php b/editor/include/adminer.inc.php index 6f1823fb..c7e4132c 100644 --- a/editor/include/adminer.inc.php +++ b/editor/include/adminer.inc.php @@ -185,7 +185,7 @@ ORDER BY ORDINAL_POSITION"); //! requires MySQL 5 global $confirm; if ($emailFields) { echo '
' . lang('E-mail') . "