diff --git a/adminer/select.inc.php b/adminer/select.inc.php
index 3e70feb6..b7ce53f6 100644
--- a/adminer/select.inc.php
+++ b/adminer/select.inc.php
@@ -515,7 +515,7 @@ if (!$columns && support("table")) {
echo "\n";
}
- echo (!$group && $select ? "" : "\n");
+ echo "\n";
}
if ($adminer->selectImportPrint()) {
diff --git a/adminer/static/functions.js b/adminer/static/functions.js
index c18fe9bc..27836512 100644
--- a/adminer/static/functions.js
+++ b/adminer/static/functions.js
@@ -179,6 +179,14 @@ function tableClick(event, click) {
var el = getTarget(event);
while (!isTag(el, 'tr')) {
if (isTag(el, 'table|a|input|textarea')) {
+ if (el.origHref) {
+ // open('about:blank').document.write('') still passes the referer in Chrome
+ var href = el.href;
+ el.href = el.origHref;
+ setTimeout(function () {
+ el.href = href;
+ }, 0);
+ }
if (el.type != 'checkbox') {
return;
}
@@ -195,6 +203,21 @@ function tableClick(event, click) {
trCheck(el);
}
+/** Clean redirect links to simplify their copying
+* @param HTMLElement
+*/
+function selectLinks(table) {
+ var as = table.getElementsByTagName('a');
+ for (var i = 0; i < as.length; i++) {
+ var a = as[i];
+ var match = /^https?:\/\/www\.adminer\.org\/redirect\/\?url=(.+)/.exec(a.href); //! rewrites also links intentionally stored with http://www.adminer.org/redirect/?url=
+ if (match) {
+ a.origHref = a.href;
+ a.href = decodeURIComponent(match[1]);
+ }
+ }
+}
+
var lastChecked;
/** Shift-click on checkbox for multiple selection.
@@ -661,6 +684,7 @@ function selectLoadMore(a, limit, loading) {
var tbody = document.createElement('tbody');
tbody.innerHTML = request.responseText;
document.getElementById('table').appendChild(tbody);
+ selectLinks(tbody);
if (tbody.children.length < limit) {
a.parentNode.removeChild(a);
} else {
diff --git a/changes.txt b/changes.txt
index 630586ad..a15be753 100644
--- a/changes.txt
+++ b/changes.txt
@@ -4,6 +4,7 @@ Compute number of tables in the overview explicitly
Display edit form after error in clone or multi-edit
Display time of the select command
Print elapsed time in HTML instead of SQL command comment
+Simplify copying of redirected links
Improve gzip export ratio (bug #387)
Fix enum types in routines (bug #391)
MySQL: Fix editing rows by binary values, bug since Adminer 3.7.1