]> git.joonet.de Git - adminer.git/commitdiff
Correct redirect after change in where field
authorjakubvrana <jakubvrana@7c3ca157-0c34-0410-bff1-cbf682f78f5c>
Fri, 2 Apr 2010 12:29:56 +0000 (12:29 +0000)
committerjakubvrana <jakubvrana@7c3ca157-0c34-0410-bff1-cbf682f78f5c>
Fri, 2 Apr 2010 12:29:56 +0000 (12:29 +0000)
git-svn-id: https://adminer.svn.sourceforge.net/svnroot/adminer/trunk@1359 7c3ca157-0c34-0410-bff1-cbf682f78f5c

adminer/edit.inc.php
adminer/include/functions.inc.php
adminer/select.inc.php
changes.txt

index edae47b5940de9ed54f24e0526cd370b562544b5..0b6b3fbc6815a604c47cf4b0501b3ac7f26a66d6 100644 (file)
@@ -11,7 +11,7 @@ foreach ($fields as $name => $field) {
 if ($_POST && !$error && !isset($_GET["select"])) {
        $location = $_POST["referer"];
        if ($_POST["insert"]) { // continue edit or insert
-               $location = $_SERVER["REQUEST_URI"]; //! doesn't work with change in &where field
+               $location = ($update ? ME . "&edit=" . urlencode($TABLE) . unique_idf($_POST["fields"], indexes($TABLE)) : $_SERVER["REQUEST_URI"]); //! doesn't work with functions
        } elseif (!ereg('^.+&select=.+$', $location)) {
                $location = ME . "select=" . urlencode($TABLE);
                $i = 0; // append &set converted to &where
index bb61d4d7f60a656af2a6dea79c8e3d8c7c7a53e4..90a12817a43a18dc36e0560d3ec4481d6ce15d5f 100644 (file)
@@ -159,6 +159,19 @@ function unique_array($row, $indexes) {
        return $return;
 }
 
+/** Get query string for unique identifier of a row
+* @param array
+* @param array result of indexes()
+* @return string
+*/
+function unique_idf($row, $indexes) {
+       $return = "";
+       foreach (unique_array($row, $indexes) as $key => $val) {
+               $return .= "&" . (isset($val) ? urlencode("where[" . bracket_escape($key) . "]") . "=" . urlencode($val) : "null%5B%5D=" . urlencode($key));
+       }
+       return $return;
+}
+
 /** Create SQL condition from parsed query string
 * @param array parsed query string
 * @return string
index 847363b8925e6e34f52c68fc8e5f6e4663faaf57..a24b78b07cdcc6f6dd9308ab99dbd70a731af314 100644 (file)
@@ -205,11 +205,7 @@ if (!$columns) {
                        }
                        echo ($backward_keys ? "<th>" . lang('Relations') : "") . "</thead>\n";
                        foreach ($adminer->rowDescriptions($rows, $foreign_keys) as $n => $row) {
-                               $unique_array = unique_array($row, $indexes);
-                               $unique_idf = "";
-                               foreach ($unique_array as $key => $val) {
-                                       $unique_idf .= "&" . (isset($val) ? urlencode("where[" . bracket_escape($key) . "]") . "=" . urlencode($val) : "null%5B%5D=" . urlencode($key));
-                               }
+                               $unique_idf = unique_idf($row, $indexes);
                                echo "<tr" . odd() . "><td>" . checkbox("check[]", substr($unique_idf, 1), in_array(substr($unique_idf, 1), (array) $_POST["check"]), "", "this.form['all'].checked = false; formUncheck('all-page');") . (count($select) != count($group) || information_schema(DB) ? '' : " <a href='" . h(ME . "edit=" . urlencode($TABLE) . $unique_idf) . "'>" . lang('edit') . "</a>");
                                foreach ($row as $key => $val) {
                                        if (isset($names[$key])) {
@@ -247,7 +243,7 @@ if (!$columns) {
                                                        if ($key == "COUNT(*)") { //! columns looking like functions
                                                                $link = h(ME . "select=" . urlencode($TABLE));
                                                                $i = 0;
-                                                               foreach ($unique_array as $k => $v) {
+                                                               foreach (unique_array($row, $indexes) as $k => $v) {
                                                                        $link .= h("&where[$i][col]=" . urlencode($k) . "&where[$i][op]=" . (isset($v) ? "%3D&where[$i][val]=" . urlencode($v) : "IS+NULL"));
                                                                        $i++;
                                                                }
index ab456c2d1ece98e6baa9f463beffbfafd15305c3..92780f94379c67748f7be25927f3f3b0cdf56e08 100644 (file)
@@ -1,5 +1,7 @@
 Adminer 2.3.1-dev:
 Add Drop button to Alter pages (regression from 2.0.0)
+Link COUNT(*) result to listing
+Newlines in select query edit
 Return to referer after edit
 
 Adminer 2.3.0 (released 2010-02-26):