]> git.joonet.de Git - adminer.git/commitdiff
Allow specifying operator in search anywhere
authorJakub Vrana <jakub@vrana.cz>
Mon, 5 May 2025 07:56:59 +0000 (09:56 +0200)
committerJakub Vrana <jakub@vrana.cz>
Mon, 5 May 2025 07:56:59 +0000 (09:56 +0200)
CHANGELOG.md
adminer/db.inc.php
adminer/include/driver.inc.php
plugins/drivers/elastic.php

index 6a629d62b560928a7909eb7f3231b71d5b6e91ec..27e89942e64945c69f550005fe259b9f88041f1b 100644 (file)
@@ -1,4 +1,5 @@
 ## Adminer dev
+- Allow specifying operator in search anywhere
 
 ## Adminer 5.3.0 (released 2025-05-04)
 - Align numeric functions right
index f7aabd4642bb06630095a802848f78f0c1d89fdc..ecc02dd431b985a398ada203a4e250c8aa598103 100644 (file)
@@ -64,12 +64,13 @@ if (adminer()->homepage()) {
                        echo "<form action='' method='post'>\n";
                        if (support("table")) {
                                echo "<fieldset><legend>" . lang('Search data in tables') . " <span id='selected2'></span></legend><div>";
-                               echo "<input type='search' name='query' value='" . h($_POST["query"]) . "'>";
+                               echo html_select("op", adminer()->operators(), idx($_POST, "op", JUSH == "elastic" ? "should" : "LIKE %%"));
+                               echo " <input type='search' name='query' value='" . h($_POST["query"]) . "'>";
                                echo script("qsl('input').onkeydown = partialArg(bodyKeydown, 'search');", "");
                                echo " <input type='submit' name='search' value='" . lang('Search') . "'>\n";
                                echo "</div></fieldset>\n";
                                if ($_POST["search"] && $_POST["query"] != "") {
-                                       $_GET["where"][0]["op"] = driver()->convertOperator("LIKE %%");
+                                       $_GET["where"][0]["op"] = $_POST["op"];
                                        search_tables();
                                }
                        }
index 8cf3b3db6ccf26214e4d7dd576386c66807453e5..5568839ac48cd0bb90289e37da520b675bc885df 100644 (file)
@@ -189,11 +189,6 @@ abstract class SqlDriver {
                return $idf;
        }
 
-       /** Convert operator so it can be used in search */
-       function convertOperator(string $operator): string {
-               return $operator;
-       }
-
        /** Convert value returned by database to actual value
        * @param Field $field
        */
index 0551b965e241ecc1dc4d84b16cc7b3befdc4481c..e07a2a825768c07c3a696a35a0bea11a65e4bde9 100644 (file)
@@ -287,10 +287,6 @@ if (isset($_GET["elastic"])) {
 
                        return !!$this->conn->affected_rows;
                }
-
-               function convertOperator($operator): string {
-                       return $operator == "LIKE %%" ? "should" : $operator;
-               }
        }
 
        function support($feature) {