From 4053dbddd8e73b3e712f7c8249fd049252b922f1 Mon Sep 17 00:00:00 2001 From: Lionel Laffineur Date: Fri, 21 Jul 2023 17:22:33 +0200 Subject: [PATCH] Some finishing touch for links and separators --- adminer/include/adminer.inc.php | 50 ++++++++++++++++++++----------- adminer/include/functions.inc.php | 8 ++--- adminer/sql.inc.php | 2 +- adminer/static/default.css | 2 ++ 4 files changed, 40 insertions(+), 22 deletions(-) diff --git a/adminer/include/adminer.inc.php b/adminer/include/adminer.inc.php index 15f6ec3e..49d7444c 100644 --- a/adminer/include/adminer.inc.php +++ b/adminer/include/adminer.inc.php @@ -176,27 +176,26 @@ class Adminer { function selectLinks($tableStatus, $set = "") { global $jush, $driver; echo '\n"; } + $links = []; + if (support("sql")) { + $links[] = '' . lang('Edit') . ''; + $links[] = '' . lang('Copy to clipboard') . ''; + } return " " . @date("H:i:s") . "" // @ - time zone may be not set . " $return' ; } @@ -923,10 +927,20 @@ class Adminer { * @return bool whether to print default homepage */ function homepage() { - echo '

"; + echo "
"; hidden_fields_get(); $db_events = script("mixin(qsl('select'), {onmousedown: dbMouseDown, onchange: dbChange});"); echo "" . lang('DB') . ":" . ($databases @@ -1054,7 +1068,6 @@ bodyLoad('\n"; } /** Prints table list in menu @@ -1082,3 +1095,6 @@ bodyLoad(' +

+ diff --git a/adminer/include/functions.inc.php b/adminer/include/functions.inc.php index f5f3f406..5e65ef05 100644 --- a/adminer/include/functions.inc.php +++ b/adminer/include/functions.inc.php @@ -272,14 +272,14 @@ function print_fieldset($id, $legend, $visible = false) { } function generate_linksbar($links) { - $linksbar = "\n"; + $linksbar .= "

"; return $linksbar; } diff --git a/adminer/sql.inc.php b/adminer/sql.inc.php index ef7ef31a..ff089028 100644 --- a/adminer/sql.inc.php +++ b/adminer/sql.inc.php @@ -98,7 +98,7 @@ if (!$error && $_POST) { $q = substr($query, 0, $pos); $commands++; $print = "
" . $adminer->sqlCommandQuery($q) . "
\n"; - $print .= " | " . lang('Copy to clipboard') . ""; + $print .= generate_linksbar(["" . lang('Copy to clipboard') . ""]); if ($jush == "sqlite" && preg_match("~^$space*+ATTACH\\b~i", $q, $match)) { // PHP doesn't support setting SQLITE_LIMIT_ATTACHED echo $print; diff --git a/adminer/static/default.css b/adminer/static/default.css index 28d93f22..c2254f90 100644 --- a/adminer/static/default.css +++ b/adminer/static/default.css @@ -33,6 +33,7 @@ input[type='submit'] { padding-left: 10px; padding-right: 10px; } select { border-radius: 5px; padding: 2px; vertical-align: middle;; } fieldset label input[type='checkbox'] { margin-bottom: 6px; } fieldset a { line-height: 20px; } +span.separator { margin-left: 5px; margin-right: 5px; } .block { display: block; } .version { color: #777; font-size: 50%; } .js .hidden, .nojs .jsonly { display: none; } @@ -78,6 +79,7 @@ fieldset a { line-height: 20px; } #table tbody tr td a.edit { font-size: 0; padding: 12px 8px 5px 8px; background-size: 16px; background-repeat: no-repeat; background-position: 0 0; background-image: url('data:image/png;base64,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'); } #table thead tr td a { font-size: 0; padding: 12px 8px 5px 8px; background-size: 16px; background-repeat: no-repeat; background-position: 0 0; background-image: url('data:image/png;base64,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'); } #dbs { overflow: hidden; } +#dbs table { width: 100%; margin-top: 0px; } #logins, #tables { white-space: nowrap; overflow: auto; } #logins a, #tables a, #tables span { background: #fff; } #content { margin: 2em 0 0 21em; padding: 10px 20px 20px 0; }