echo "</div></fieldset>\n";
}
- echo (!$group && $select ? "" : "<script type='text/javascript'>tableCheck();</script>\n");
+ echo "<script type='text/javascript'>selectLinks(document.getElementById('table'));" . (!$group && $select ? "" : " tableCheck();") . "</script>\n";
}
if ($adminer->selectImportPrint()) {
var el = getTarget(event);
while (!isTag(el, 'tr')) {
if (isTag(el, 'table|a|input|textarea')) {
+ if (el.origHref) {
+ // open('about:blank').document.write('<meta http-equiv="Refresh">') 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;
}
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.
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 {
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