}
}
echo ($update ? "<input type='submit' name='delete' value='" . lang('Delete') . "'" . confirm() . ">\n"
- : ($_POST || !$fields ? "" : "<script type='text/javascript'>focus(qs('#form').getElementsByTagName('td')[1].firstChild);</script>\n")
+ : ($_POST || !$fields ? "" : "<script type='text/javascript'>focus(qsa('td', qs('#form'))[1].firstChild);</script>\n")
);
if (isset($_GET["select"])) {
hidden_fields(array("check" => (array) $_POST["check"], "clone" => $_POST["clone"], "all" => $_POST["all"]));
jush.custom_links = jushLinks;
}
jush.highlight_tag('code', 0);
- var tags = document.getElementsByTagName('textarea');
+ var tags = qsa('textarea', document);
for (var i = 0; i < tags.length; i++) {
if (/(^|\s)jush-/.test(tags[i].className)) {
var pre = jush.textarea(tags[i]);
*/
function selectFieldChange(form) {
var ok = (function () {
- var inputs = form.getElementsByTagName('input');
+ var inputs = qsa('input', form);
for (var i=0; i < inputs.length; i++) {
if (inputs[i].value && /^fulltext/.test(inputs[i].name)) {
return true;
}
}
var ok = form.limit.value;
- var selects = form.getElementsByTagName('select');
+ var selects = qsa('select', form);
var group = false;
var columns = {};
for (var i=0; i < selects.length; i++) {
var x = match[0] + (match[2] ? added.substr(match[2].length) : added) + '1';
var row = parentTag(button, 'tr');
var row2 = cloneNode(row);
- var tags = row.getElementsByTagName('select');
- var tags2 = row2.getElementsByTagName('select');
+ var tags = qsa('select', row);
+ var tags2 = qsa('select', row2);
for (var i=0; i < tags.length; i++) {
tags2[i].name = tags[i].name.replace(/[0-9.]+/, x);
tags2[i].selectedIndex = tags[i].selectedIndex;
}
- tags = row.getElementsByTagName('input');
- tags2 = row2.getElementsByTagName('input');
+ tags = qsa('input', row);
+ tags2 = qsa('input', row2);
var input = tags2[0]; // IE loose tags2 after insertBefore()
for (var i=0; i < tags.length; i++) {
if (tags[i].name == 'auto_increment_col') {
* @param number
*/
function columnShow(checked, column) {
- var trs = qs('#edit-fields').getElementsByTagName('tr');
+ var trs = qsa('tr', qs('#edit-fields'));
for (var i=0; i < trs.length; i++) {
- alterClass(trs[i].getElementsByTagName('td')[column], 'hidden', !checked);
+ alterClass(qsa('td', trs[i])[column], 'hidden', !checked);
}
}
function foreignAddRow(field) {
field.onchange = function () { };
var row = cloneNode(parentTag(field, 'tr'));
- var selects = row.getElementsByTagName('select');
+ var selects = qsa('select', row);
for (var i=0; i < selects.length; i++) {
selects[i].name = selects[i].name.replace(/\]/, '1$&');
selects[i].selectedIndex = 0;
function indexesAddRow(field) {
field.onchange = function () { };
var row = cloneNode(parentTag(field, 'tr'));
- var selects = row.getElementsByTagName('select');
+ var selects = qsa('select', row);
for (var i=0; i < selects.length; i++) {
selects[i].name = selects[i].name.replace(/indexes\[\d+/, '$&1');
selects[i].selectedIndex = 0;
}
- var inputs = row.getElementsByTagName('input');
+ var inputs = qsa('input', row);
for (var i=0; i < inputs.length; i++) {
inputs[i].name = inputs[i].name.replace(/indexes\[\d+/, '$&1');
inputs[i].value = '';
function indexesChangeColumn(field, prefix) {
var names = [];
for (var tag in { 'select': 1, 'input': 1 }) {
- var columns = parentTag(field, 'td').getElementsByTagName(tag);
+ var columns = qsa(tag, parentTag(field, 'td'));
for (var i=0; i < columns.length; i++) {
if (/\[columns\]/.test(columns[i].name)) {
var value = selectValue(columns[i]);
select.onchange();
}
var column = cloneNode(field.parentNode);
- var selects = column.getElementsByTagName('select');
+ var selects = qsa('select', column);
for (var i = 0; i < selects.length; i++) {
select = selects[i];
select.name = select.name.replace(/\]\[\d+/, '$&1');
select.selectedIndex = 0;
}
- var inputs = column.getElementsByTagName('input');
+ var inputs = qsa('input', column);
for (var i = 0; i < inputs.length; i++) {
var input = inputs[i];
input.name = input.name.replace(/\]\[\d+/, '$&1');
ev = ev || event;
var left = (ev.clientX - x) / em;
var top = (ev.clientY - y) / em;
- var divs = that.getElementsByTagName('div');
+ var divs = qsa('div', that);
var lineSet = { };
for (var i=0; i < divs.length; i++) {
if (divs[i].className == 'references') {
return document.querySelector(selector);
}
+/** Get all elements by selector
+* @param string
+* @param HTMLElement
+* @return NodeList
+*/
+function qsa(selector, context) {
+ return context.querySelectorAll(selector);
+}
+
/** Add or remove CSS class
* @param HTMLElement
* @param string
*/
function selectCount(id, count) {
setHtml(id, (count === '' ? '' : '(' + (count + '').replace(/\B(?=(\d{3})+$)/g, ' ') + ')'));
- var inputs = qs('#' + id).parentNode.parentNode.getElementsByTagName('input');
+ var inputs = qsa('input', qs('#' + id).parentNode.parentNode);
for (var i = 0; i < inputs.length; i++) {
var input = inputs[i];
if (input.type == 'submit') {
/** Check all rows in <table class="checkable">
*/
function tableCheck() {
- var tables = document.getElementsByTagName('table');
+ var tables = qsa('table', document);
for (var i=0; i < tables.length; i++) {
if (/(^|\s)checkable(\s|$)/.test(tables[i].className)) {
- var trs = tables[i].getElementsByTagName('tr');
+ var trs = qsa('tr', tables[i]);
for (var j=0; j < trs.length; j++) {
trCheck(trs[j].firstChild.firstChild);
}
}
if (event.shiftKey && (!lastChecked || lastChecked.name == el.name)) {
var checked = (lastChecked ? lastChecked.checked : true);
- var inputs = parentTag(el, 'table').getElementsByTagName('input');
+ var inputs = qsa('input', parentTag(el, 'table'));
var checking = !lastChecked;
for (var i=0; i < inputs.length; i++) {
var input = inputs[i];
};
field.onchange();
var row = cloneNode(field.parentNode);
- var selects = row.getElementsByTagName('select');
+ var selects = qsa('select', row);
for (var i=0; i < selects.length; i++) {
selects[i].name = selects[i].name.replace(/[a-z]\[\d+/, '$&1');
selects[i].selectedIndex = 0;
}
- var inputs = row.getElementsByTagName('input');
+ var inputs = qsa('input', row);
for (var i=0; i < inputs.length; i++) {
inputs[i].name = inputs[i].name.replace(/[a-z]\[\d+/, '$&1');
inputs[i].className = '';
* @param [string] extra class name
*/
function columnMouse(el, className) {
- var spans = el.getElementsByTagName('span');
+ var spans = qsa('span', el);
for (var i=0; i < spans.length; i++) {
if (/column/.test(spans[i].className)) {
spans[i].className = 'column' + (className || '');
function selectSearch(name) {
var el = qs('#fieldset-search');
el.className = '';
- var divs = el.getElementsByTagName('div');
+ var divs = qsa('div', el);
for (var i=0; i < divs.length; i++) {
var div = divs[i];
if (isTag(div.firstChild, 'select') && selectValue(div.firstChild) == name) {
*/
function fieldChange(field) {
var row = cloneNode(parentTag(field, 'tr'));
- var inputs = row.getElementsByTagName('input');
+ var inputs = qsa('input', row);
for (var i = 0; i < inputs.length; i++) {
inputs[i].value = '';
}
return ajax(url, function (request) {
setHtml('ajaxstatus', request.responseText);
if (window.jush) {
- jush.highlight_tag(qs('#ajaxstatus').getElementsByTagName('code'), 0);
+ jush.highlight_tag(qsa('code', qs('#ajaxstatus')), 0);
}
}, data, message);
}
});
input.rows = rows;
}
- if (value == '\u00A0' || td.getElementsByTagName('i').length) { // or i - NULL
+ if (value == '\u00A0' || qsa('i', td).length) { // or i - NULL
value = '';
}
if (document.selection) {
*/
function setupSubmitHighlight(parent) {
for (var key in { input: 1, select: 1, textarea: 1 }) {
- var inputs = parent.getElementsByTagName(key);
+ var inputs = qsa(key, parent);
for (var i = 0; i < inputs.length; i++) {
setupSubmitHighlightInput(inputs[i])
}
if (el.jushTextarea) {
el = el.jushTextarea;
}
- var inputs = el.form.getElementsByTagName('input');
+ var inputs = qsa('input', el.form);
for (var i = 0; i < inputs.length; i++) {
var input = inputs[i];
if (input.type == 'submit' && !input.style.zIndex) {
if (sessionStorage) {
sessionStorage.setItem('adminer_tables_filter', value);
}
- var tables = qs('#tables').getElementsByTagName('li');
+ var tables = qsa('li', qs('#tables'));
for (var i = 0; i < tables.length; i++) {
- var a = tables[i].getElementsByTagName('a')[1];
+ var a = qsa('a', tables[i])[1];
var text = tables[i].getAttribute('data-table-name');
if (value == '') {
tables[i].className = '';