]> git.joonet.de Git - adminer.git/commitdiff
remove_from_uri()
authorjakubvrana <jakubvrana@7c3ca157-0c34-0410-bff1-cbf682f78f5c>
Fri, 27 Jul 2007 11:43:44 +0000 (11:43 +0000)
committerjakubvrana <jakubvrana@7c3ca157-0c34-0410-bff1-cbf682f78f5c>
Fri, 27 Jul 2007 11:43:44 +0000 (11:43 +0000)
git-svn-id: https://adminer.svn.sourceforge.net/svnroot/adminer/trunk@277 7c3ca157-0c34-0410-bff1-cbf682f78f5c

auth.inc.php
database.inc.php
functions.inc.php
lang.inc.php
select.inc.php

index 461280df6aa2ca64965e619212d8d5df5e538b9e..484ecbf5427d2211f3d132a005a9fbf8655ad4a2 100644 (file)
@@ -10,7 +10,7 @@ if (isset($_POST["server"])) {
                $_SESSION["passwords"][$_POST["server"]] = $_POST["password"];
                if (count($_POST) == count($ignore)) {
                        if ((string) $_GET["server"] === $_POST["server"]) {
-                               $location = preg_replace('~(\\?)' . urlencode(session_name()) . '=[^&]*&|[&?]' . urlencode(session_name()) . '=[^&]*~', '\\1', $_SERVER["REQUEST_URI"]);
+                               $location = remove_from_uri();
                        } else {
                                $location = preg_replace('~^[^?]*/([^?]*).*~', '\\1', $_SERVER["REQUEST_URI"]) . (strlen($_POST["server"]) ? '?server=' . urlencode($_POST["server"]) : '');
                        }
index 68546964afa0d0be13de7da27659a3a2c652f406..b7243fefa0af4231d77250c005c5233a3d60d471 100644 (file)
@@ -9,7 +9,7 @@ if ($_POST && !$error) {
                if ($mysql->query("CREATE DATABASE " . idf_escape($_POST["name"]) . ($_POST["collation"] ? " COLLATE '" . $mysql->escape_string($_POST["collation"]) . "'" : ""))) {
                        unset($_SESSION["databases"][$_GET["server"]]);
                        if (!strlen($_GET["db"])) {
-                               redirect(preg_replace('~db=[^&]*&~', '', $SELF) . "db=" . urlencode($_POST["name"]), lang('Database has been created.'));
+                               redirect($SELF . "db=" . urlencode($_POST["name"]), lang('Database has been created.'));
                        }
                        $result = $mysql->query("SHOW TABLES");
                        while ($row = $result->fetch_row()) {
index 86a36c0ece6654034a8da42227004b490e6f78e3..8485d057dcf30138b8f74feebc1ad60b6735f29f 100644 (file)
@@ -193,6 +193,13 @@ function redirect($location, $message = null) {
        exit;
 }
 
+function remove_from_uri($param = "") {
+       if (!isset($_COOKIE[session_name()])) {
+               $param = "($param|" . session_name() . ")";
+       }
+       return preg_replace("~\\?$param=[^&]*&~", '?', preg_replace("~\\?$param=[^&]*\$|&$param=[^&]*~", '', $_SERVER["REQUEST_URI"]));
+}
+
 function get_file($key) {
        if (isset($_POST["files"][$key])) {
                $length = strlen($_POST["files"][$key]);
index b911470364b900cdb535d484133dbf031b878b0a..73898ac4fafe58667fd5edfb78db8c5a19b4301a 100644 (file)
@@ -24,7 +24,7 @@ function lang($idf, $number = null) {
 function switch_lang() {
        global $translations;
        echo "<p>" . lang('Language') . ":";
-       $base = preg_replace('~(\\?)lang=[^&]*&|[&?]lang=[^&]*~', '\\1', $_SERVER["REQUEST_URI"]);
+       $base = remove_from_uri("lang");
        foreach ($translations as $lang => $val) {
                echo ' <a href="' . htmlspecialchars($base . (strpos($base, "?") !== false ? "&" : "?")) . "lang=$lang\">$lang</a>";
        }
index 1d76a7d34e523699f8d631ea28e6134032167902..7e71cf083ab8f7c3b5e8c14037f092a0386771d2 100644 (file)
@@ -176,7 +176,7 @@ function add_row(field) {
                if (intval($limit) && $found_rows > $limit) {
                        $max_page = floor($found_rows / $limit);
                        function print_page($page) {
-                               echo " " . ($page == $_GET["page"] ? $page + 1 : '<a href="' . htmlspecialchars(preg_replace('~(\\?)page=[^&]*&|&page=[^&]*~', '\\1', $_SERVER["REQUEST_URI"]) . ($page ? "&page=$page" : "")) . '">' . ($page + 1) . "</a>");
+                               echo " " . ($page == $_GET["page"] ? $page + 1 : '<a href="' . htmlspecialchars(remove_from_uri("page") . ($page ? "&page=$page" : "")) . '">' . ($page + 1) . "</a>");
                        }
                        echo "<p>" . lang('Page') . ":";
                        print_page(0);