]> git.joonet.de Git - adminer.git/commitdiff
Make kill_process / process_list extendable
authorsalacr <radek.salac@finportal.sk>
Tue, 6 May 2025 17:02:46 +0000 (19:02 +0200)
committerJakub Vrana <jakub@vrana.cz>
Wed, 7 May 2025 06:29:43 +0000 (08:29 +0200)
CHANGELOG.md
adminer/drivers/mysql.inc.php
adminer/include/adminer.inc.php
adminer/processlist.inc.php

index 27e89942e64945c69f550005fe259b9f88041f1b..2d00eacf0892fa619433de39a63a06337ea29110 100644 (file)
@@ -1,5 +1,6 @@
 ## Adminer dev
 - Allow specifying operator in search anywhere
+- Plugins: Methods processList() and killProcess()
 
 ## Adminer 5.3.0 (released 2025-05-04)
 - Align numeric functions right
index 6b5dfe68a4482e5edc0a973b9fc31f27b3c62fa7..9de33046f6098d404f225ec6af2b1819085d9d52 100644 (file)
@@ -1067,11 +1067,11 @@ if (!defined('Adminer\DRIVER')) {
        }
 
        /** Kill a process
-       * @param numeric-string $val
+       * @param numeric-string $id
        * @return Result|bool
        */
-       function kill_process(string $val) {
-               return queries("KILL " . number($val));
+       function kill_process(string $id) {
+               return queries("KILL " . number($id));
        }
 
        /** Return query to get connection ID */
index 3d5a86e63c54fda03a29609166637aaafeaf73fc..f68c15e00ebc60767b25136b1a3e4d6325fa8739 100644 (file)
@@ -1115,4 +1115,19 @@ class Adminer {
                }
                echo "</ul>\n";
        }
+
+       /** Get process list
+       * @return list<string[]> [$row]
+       */
+       function processList(): array {
+               return process_list();
+       }
+
+       /** Kill a process
+       * @param numeric-string $id
+       * @return Result|bool
+       */
+       function killProcess(string $id) {
+               return kill_process($id);
+       }
 }
index dbef17b6363f2c24ec4aa4ffd17c49ed12ec77a0..1a38637903a3fc83b5ce20e5f2095f04ff72ad45 100644 (file)
@@ -5,7 +5,7 @@ if (support("kill")) {
        if ($_POST && !$error) {
                $killed = 0;
                foreach ((array) $_POST["kill"] as $val) {
-                       if (kill_process($val)) {
+                       if (adminer()->killProcess($val)) {
                                $killed++;
                        }
                }
@@ -23,7 +23,7 @@ page_header(lang('Process list'), $error);
 echo script("mixin(qsl('table'), {onclick: tableClick, ondblclick: partialArg(tableClick, true)});");
 // HTML valid because there is always at least one process
 $i = -1;
-foreach (process_list() as $i => $row) {
+foreach (adminer()->processList() as $i => $row) {
        if (!$i) {
                echo "<thead><tr lang='en'>" . (support("kill") ? "<th>" : "");
                foreach ($row as $key => $val) {