]> git.joonet.de Git - adminer.git/commitdiff
Respect order after search (Editor)
authorJakub Vrana <jakub@vrana.cz>
Sat, 19 Mar 2011 13:47:44 +0000 (14:47 +0100)
committerJakub Vrana <jakub@vrana.cz>
Sat, 19 Mar 2011 13:47:44 +0000 (14:47 +0100)
changes.txt
editor/include/adminer.inc.php

index 322bbc6de2996da9927d0944804d57a8a478e48e..70b1dfe8c8841f5ad9fadd3a215149ddf50d2377 100644 (file)
@@ -14,6 +14,7 @@ Disable maxlength with functions in edit
 Better placement of AJAX icon
 Table header in CSV export (Editor)
 Time format hint (Editor)
+Respect order after search (Editor)
 Polish translation
 
 Adminer 3.2.0 (released 2011-02-24):
index 39c7d0394abf2a19de5caf888578d88f571f1ea1..eed82cc631379bbfaaaa045c6de74a7903b79c1c 100644 (file)
@@ -250,9 +250,15 @@ ORDER BY ORDINAL_POSITION", null, "") as $row) { //! requires MySQL 5
                }
                if ($orders) {
                        echo '<fieldset><legend>' . lang('Sort') . "</legend><div>";
-                       echo "<select name='index_order'>" . optionlist(array("" => "") + $orders, $_GET["index_order"], true) . "</select>";
+                       echo "<select name='index_order'>" . optionlist(array("" => "") + $orders, ($_GET["order"][0] != "" ? "" : $_GET["index_order"]), true) . "</select>";
                        echo "</div></fieldset>\n";
                }
+               if ($_GET["order"]) {
+                       echo "<div style='display: none;'>" . hidden_fields(array(
+                               "order" => array(1 => reset($_GET["order"])),
+                               "desc" => ($_GET["desc"] ? array(1 => 1) : array()),
+                       )) . "</div>\n";
+               }
        }
        
        function selectLimitPrint($limit) {
@@ -322,10 +328,13 @@ ORDER BY ORDINAL_POSITION", null, "") as $row) { //! requires MySQL 5
        }
        
        function selectOrderProcess($fields, $indexes) {
+               $index_order = $_GET["index_order"];
+               if ($index_order != "") {
+                       unset($_GET["order"][1]);
+               }
                if ($_GET["order"]) {
-                       return array(idf_escape($_GET["order"][0]) . (isset($_GET["desc"][0]) ? " DESC" : ""));
+                       return array(idf_escape(reset($_GET["order"])) . ($_GET["desc"] ? " DESC" : ""));
                }
-               $index_order = $_GET["index_order"];
                foreach (($index_order != "" ? array($indexes[$index_order]) : $indexes) as $index) {
                        if ($index_order != "" || $index["type"] == "INDEX") {
                                $desc = false;