mirror of
https://github.com/vrana/adminer.git
synced 2025-08-30 09:39:51 +02:00
Clean up JS code
This commit is contained in:
@@ -182,7 +182,7 @@ foreach ($engines as $engine) {
|
|||||||
<p>
|
<p>
|
||||||
<?php if (support("columns") || $TABLE == "") { ?>
|
<?php if (support("columns") || $TABLE == "") { ?>
|
||||||
<?php echo lang('Table name'); ?>: <input name="name" data-maxlength="64" value="<?php echo h($row["name"]); ?>" autocapitalize="off">
|
<?php echo lang('Table name'); ?>: <input name="name" data-maxlength="64" value="<?php echo h($row["name"]); ?>" autocapitalize="off">
|
||||||
<?php if ($TABLE == "" && !$_POST) { echo script("focus(qs('#form')['name']);"); } ?>
|
<?php if ($TABLE == "" && !$_POST) { echo script("focus(gid('form')['name']);"); } ?>
|
||||||
<?php echo ($engines ? "<select name='Engine'>" . optionlist(array("" => "(" . lang('engine') . ")") + $engines, $row["Engine"]) . "</select>" . help_script_command("value", true) : ""); ?>
|
<?php echo ($engines ? "<select name='Engine'>" . optionlist(array("" => "(" . lang('engine') . ")") + $engines, $row["Engine"]) . "</select>" . help_script_command("value", true) : ""); ?>
|
||||||
<?php echo ($collations && !preg_match("~sqlite|mssql~", $jush) ? html_select("Collation", array("" => "(" . lang('collation') . ")") + $collations, $row["Collation"]) : ""); ?>
|
<?php echo ($collations && !preg_match("~sqlite|mssql~", $jush) ? html_select("Collation", array("" => "(" . lang('collation') . ")") + $collations, $row["Collation"]) : ""); ?>
|
||||||
<input type="submit" value="<?php echo lang('Save'); ?>">
|
<input type="submit" value="<?php echo lang('Save'); ?>">
|
||||||
|
@@ -66,7 +66,7 @@ echo ($_POST["add_x"] || strpos($name, "\n")
|
|||||||
'mariadb' => "supported-character-sets-and-collations/",
|
'mariadb' => "supported-character-sets-and-collations/",
|
||||||
'mssql' => "ms187963.aspx",
|
'mssql' => "ms187963.aspx",
|
||||||
)) : "");
|
)) : "");
|
||||||
echo script("focus(qs('#name'));");
|
echo script("focus(gid('name'));");
|
||||||
?>
|
?>
|
||||||
<input type="submit" value="<?php echo lang('Save'); ?>">
|
<input type="submit" value="<?php echo lang('Save'); ?>">
|
||||||
<?php
|
<?php
|
||||||
|
@@ -94,7 +94,7 @@ if ($adminer->homepage()) {
|
|||||||
echo "<table cellspacing='0' class='nowrap checkable'>\n";
|
echo "<table cellspacing='0' class='nowrap checkable'>\n";
|
||||||
echo script("mixin(qsl('table'), {onclick: tableClick, ondblclick: partialArg(tableClick, true)});");
|
echo script("mixin(qsl('table'), {onclick: tableClick, ondblclick: partialArg(tableClick, true)});");
|
||||||
echo '<thead><tr class="wrap">';
|
echo '<thead><tr class="wrap">';
|
||||||
echo '<td><input id="check-all" type="checkbox" class="jsonly">' . script("qs('#check-all').onclick = partial(formCheck, /^(tables|views)\[/);", "");
|
echo '<td><input id="check-all" type="checkbox" class="jsonly">' . script("gid('check-all').onclick = partial(formCheck, /^(tables|views)\[/);", "");
|
||||||
echo '<th>' . lang('Table');
|
echo '<th>' . lang('Table');
|
||||||
echo '<td>' . lang('Engine') . doc_link(array('sql' => 'storage-engines.html'));
|
echo '<td>' . lang('Engine') . doc_link(array('sql' => 'storage-engines.html'));
|
||||||
echo '<td>' . lang('Collation') . doc_link(array('sql' => 'charset-charsets.html', 'mariadb' => 'supported-character-sets-and-collations/'));
|
echo '<td>' . lang('Collation') . doc_link(array('sql' => 'charset-charsets.html', 'mariadb' => 'supported-character-sets-and-collations/'));
|
||||||
|
@@ -182,8 +182,8 @@ $prefixes = array();
|
|||||||
if (DB != "") {
|
if (DB != "") {
|
||||||
$checked = ($TABLE != "" ? "" : " checked");
|
$checked = ($TABLE != "" ? "" : " checked");
|
||||||
echo "<thead><tr>";
|
echo "<thead><tr>";
|
||||||
echo "<th style='text-align: left;'><label class='block'><input type='checkbox' id='check-tables'$checked>" . lang('Tables') . "</label>" . script("qs('#check-tables').onclick = partial(formCheck, /^tables\\[/);", "");
|
echo "<th style='text-align: left;'><label class='block'><input type='checkbox' id='check-tables'$checked>" . lang('Tables') . "</label>" . script("gid('check-tables').onclick = partial(formCheck, /^tables\\[/);", "");
|
||||||
echo "<th style='text-align: right;'><label class='block'>" . lang('Data') . "<input type='checkbox' id='check-data'$checked></label>" . script("qs('#check-data').onclick = partial(formCheck, /^data\\[/);", "");
|
echo "<th style='text-align: right;'><label class='block'>" . lang('Data') . "<input type='checkbox' id='check-data'$checked></label>" . script("gid('check-data').onclick = partial(formCheck, /^data\\[/);", "");
|
||||||
echo "</thead>\n";
|
echo "</thead>\n";
|
||||||
|
|
||||||
$views = "";
|
$views = "";
|
||||||
@@ -208,7 +208,7 @@ if (DB != "") {
|
|||||||
} else {
|
} else {
|
||||||
echo "<thead><tr><th style='text-align: left;'>";
|
echo "<thead><tr><th style='text-align: left;'>";
|
||||||
echo "<label class='block'><input type='checkbox' id='check-databases'" . ($TABLE == "" ? " checked" : "") . ">" . lang('Database') . "</label>";
|
echo "<label class='block'><input type='checkbox' id='check-databases'" . ($TABLE == "" ? " checked" : "") . ">" . lang('Database') . "</label>";
|
||||||
echo script("qs('#check-databases').onclick = partial(formCheck, /^databases\\[/);", "");
|
echo script("gid('check-databases').onclick = partial(formCheck, /^databases\\[/);", "");
|
||||||
echo "</thead>\n";
|
echo "</thead>\n";
|
||||||
$databases = $adminer->databases();
|
$databases = $adminer->databases();
|
||||||
if ($databases) {
|
if ($databases) {
|
||||||
|
@@ -129,7 +129,7 @@ class Adminer {
|
|||||||
echo "<table cellspacing='0' class='layout'>\n";
|
echo "<table cellspacing='0' class='layout'>\n";
|
||||||
echo $this->loginFormField('driver', '<tr><th>' . lang('System') . '<td>', html_select("auth[driver]", $drivers, DRIVER, "loginDriver(this);") . "\n");
|
echo $this->loginFormField('driver', '<tr><th>' . lang('System') . '<td>', html_select("auth[driver]", $drivers, DRIVER, "loginDriver(this);") . "\n");
|
||||||
echo $this->loginFormField('server', '<tr><th>' . lang('Server') . '<td>', '<input name="auth[server]" value="' . h(SERVER) . '" title="hostname[:port]" placeholder="localhost" autocapitalize="off">' . "\n");
|
echo $this->loginFormField('server', '<tr><th>' . lang('Server') . '<td>', '<input name="auth[server]" value="' . h(SERVER) . '" title="hostname[:port]" placeholder="localhost" autocapitalize="off">' . "\n");
|
||||||
echo $this->loginFormField('username', '<tr><th>' . lang('Username') . '<td>', '<input name="auth[username]" id="username" value="' . h($_GET["username"]) . '" autocomplete="username" autocapitalize="off">' . script("focus(qs('#username')); qs('#username').form['auth[driver]'].onchange();"));
|
echo $this->loginFormField('username', '<tr><th>' . lang('Username') . '<td>', '<input name="auth[username]" id="username" value="' . h($_GET["username"]) . '" autocomplete="username" autocapitalize="off">' . script("focus(gid('username')); gid('username').form['auth[driver]'].onchange();"));
|
||||||
echo $this->loginFormField('password', '<tr><th>' . lang('Password') . '<td>', '<input type="password" name="auth[password]" autocomplete="current-password">' . "\n");
|
echo $this->loginFormField('password', '<tr><th>' . lang('Password') . '<td>', '<input type="password" name="auth[password]" autocomplete="current-password">' . "\n");
|
||||||
echo $this->loginFormField('db', '<tr><th>' . lang('Database') . '<td>', '<input name="auth[db]" value="' . h($_GET["db"]) . '" autocapitalize="off">' . "\n");
|
echo $this->loginFormField('db', '<tr><th>' . lang('Database') . '<td>', '<input name="auth[db]" value="' . h($_GET["db"]) . '" autocapitalize="off">' . "\n");
|
||||||
echo "</table>\n";
|
echo "</table>\n";
|
||||||
@@ -557,7 +557,7 @@ class Adminer {
|
|||||||
json_row($key);
|
json_row($key);
|
||||||
}
|
}
|
||||||
echo ";\n";
|
echo ";\n";
|
||||||
echo "selectFieldChange.call(qs('#form')['select']);\n";
|
echo "selectFieldChange.call(gid('form')['select']);\n";
|
||||||
echo "</script>\n";
|
echo "</script>\n";
|
||||||
echo "</div></fieldset>\n";
|
echo "</div></fieldset>\n";
|
||||||
}
|
}
|
||||||
@@ -1073,7 +1073,7 @@ class Adminer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($output) {
|
if ($output) {
|
||||||
echo "<ul id='logins'>\n$output</ul>\n" . script("mixin(qs('#logins'), {onmouseover: menuOver, onmouseout: menuOut});");
|
echo "<ul id='logins'>\n$output</ul>\n" . script("mixin(gid('logins'), {onmouseover: menuOver, onmouseout: menuOut});");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$tables = array();
|
$tables = array();
|
||||||
@@ -1156,7 +1156,7 @@ bodyLoad('<?php echo (is_object($connection) ? preg_replace('~^(\d\.?\d).*~s', '
|
|||||||
|
|
||||||
if ($databases) {
|
if ($databases) {
|
||||||
echo "<select id='database-select' name='db'>" . optionlist(["" => lang('Database')] + $databases, DB) . "</select>"
|
echo "<select id='database-select' name='db'>" . optionlist(["" => lang('Database')] + $databases, DB) . "</select>"
|
||||||
. script("mixin(qs('#database-select'), {onmousedown: dbMouseDown, onchange: dbChange});");
|
. script("mixin(gid('database-select'), {onmousedown: dbMouseDown, onchange: dbChange});");
|
||||||
} else {
|
} else {
|
||||||
echo "<input id='database-select' name='db' value='" . h(DB) . "' autocapitalize='off'>\n";
|
echo "<input id='database-select' name='db' value='" . h(DB) . "' autocapitalize='off'>\n";
|
||||||
}
|
}
|
||||||
@@ -1164,7 +1164,7 @@ bodyLoad('<?php echo (is_object($connection) ? preg_replace('~^(\d\.?\d).*~s', '
|
|||||||
|
|
||||||
if (support("scheme") && $missing != "db" && DB != "" && $connection->select_db(DB)) {
|
if (support("scheme") && $missing != "db" && DB != "" && $connection->select_db(DB)) {
|
||||||
echo "<br><select id='scheme-select' name='ns'>" . optionlist(["" => lang('Schema')] + $adminer->schemas(), $_GET["ns"]) . "</select>"
|
echo "<br><select id='scheme-select' name='ns'>" . optionlist(["" => lang('Schema')] + $adminer->schemas(), $_GET["ns"]) . "</select>"
|
||||||
. script("mixin(qs('#scheme-select'), {onmousedown: dbMouseDown, onchange: dbChange});");
|
. script("mixin(gid('scheme-select'), {onmousedown: dbMouseDown, onchange: dbChange});");
|
||||||
|
|
||||||
if ($_GET["ns"] != "") {
|
if ($_GET["ns"] != "") {
|
||||||
set_schema($_GET["ns"]);
|
set_schema($_GET["ns"]);
|
||||||
@@ -1200,7 +1200,7 @@ bodyLoad('<?php echo (is_object($connection) ? preg_replace('~^(\d\.?\d).*~s', '
|
|||||||
* @return null
|
* @return null
|
||||||
*/
|
*/
|
||||||
function tablesPrint($tables) {
|
function tablesPrint($tables) {
|
||||||
echo "<ul id='tables'>" . script("mixin(qs('#tables'), {onmouseover: menuOver, onmouseout: menuOut});");
|
echo "<ul id='tables'>" . script("mixin(gid('tables'), {onmouseover: menuOver, onmouseout: menuOut});");
|
||||||
|
|
||||||
foreach ($tables as $table => $status) {
|
foreach ($tables as $table => $status) {
|
||||||
$name = $this->tableName($status);
|
$name = $this->tableName($status);
|
||||||
|
@@ -297,7 +297,7 @@ function edit_fields(array $fields, array $collations, $type = "TABLE", $foreign
|
|||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
<th id="label-name"><?php echo ($type == "TABLE" ? lang('Column name') : lang('Parameter name')); ?></th>
|
<th id="label-name"><?php echo ($type == "TABLE" ? lang('Column name') : lang('Parameter name')); ?></th>
|
||||||
<td id="label-type"><?php echo lang('Type'); ?><textarea id="enum-edit" rows="4" cols="12" wrap="off" style="display: none;"></textarea><?php echo script("qs('#enum-edit').onblur = editingLengthBlur;"); ?></td>
|
<td id="label-type"><?php echo lang('Type'); ?><textarea id="enum-edit" rows="4" cols="12" wrap="off" style="display: none;"></textarea><?php echo script("gid('enum-edit').onblur = editingLengthBlur;"); ?></td>
|
||||||
<td id="label-length"><?php echo lang('Length'); ?></td>
|
<td id="label-length"><?php echo lang('Length'); ?></td>
|
||||||
<td><?php echo lang('Options'); /* no label required, options have their own label */ ?></td>
|
<td><?php echo lang('Options'); /* no label required, options have their own label */ ?></td>
|
||||||
<?php if ($type == "TABLE") { ?>
|
<?php if ($type == "TABLE") { ?>
|
||||||
|
@@ -1599,7 +1599,7 @@ function edit_form($table, $fields, $row, $update) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
echo ($update ? "<input type='submit' name='delete' value='" . lang('Delete') . "'>" . confirm() . "\n"
|
echo ($update ? "<input type='submit' name='delete' value='" . lang('Delete') . "'>" . confirm() . "\n"
|
||||||
: ($_POST || !$fields ? "" : script("focus(qsa('td', qs('#form'))[1].firstChild);"))
|
: ($_POST || !$fields ? "" : script("focus(qsa('td', gid('form'))[1].firstChild);"))
|
||||||
);
|
);
|
||||||
if (isset($_GET["select"])) {
|
if (isset($_GET["select"])) {
|
||||||
hidden_fields(array("check" => (array) $_POST["check"], "clone" => $_POST["clone"], "all" => $_POST["all"]));
|
hidden_fields(array("check" => (array) $_POST["check"], "clone" => $_POST["clone"], "all" => $_POST["all"]));
|
||||||
|
@@ -50,9 +50,9 @@ foreach (table_status('', true) as $table => $table_status) {
|
|||||||
?>
|
?>
|
||||||
<div id="schema" style="height: <?php echo $top; ?>em;">
|
<div id="schema" style="height: <?php echo $top; ?>em;">
|
||||||
<script<?php echo nonce(); ?>>
|
<script<?php echo nonce(); ?>>
|
||||||
qs('#schema').onselectstart = function () { return false; };
|
gid('schema').onselectstart = function () { return false; };
|
||||||
var tablePos = {<?php echo implode(",", $table_pos_js) . "\n"; ?>};
|
var tablePos = {<?php echo implode(",", $table_pos_js) . "\n"; ?>};
|
||||||
var em = qs('#schema').offsetHeight / <?php echo $top; ?>;
|
var em = gid('schema').offsetHeight / <?php echo $top; ?>;
|
||||||
document.onmousemove = schemaMousemove;
|
document.onmousemove = schemaMousemove;
|
||||||
document.onmouseup = partialArg(schemaMouseup, '<?php echo js_escape(DB); ?>');
|
document.onmouseup = partialArg(schemaMouseup, '<?php echo js_escape(DB); ?>');
|
||||||
</script>
|
</script>
|
||||||
@@ -61,12 +61,12 @@ foreach ($schema as $name => $table) {
|
|||||||
echo "<div class='table' style='top: " . $table["pos"][0] . "em; left: " . $table["pos"][1] . "em;'>";
|
echo "<div class='table' style='top: " . $table["pos"][0] . "em; left: " . $table["pos"][1] . "em;'>";
|
||||||
echo '<a href="' . h(ME) . 'table=' . urlencode($name) . '"><b>' . h($name) . "</b></a>";
|
echo '<a href="' . h(ME) . 'table=' . urlencode($name) . '"><b>' . h($name) . "</b></a>";
|
||||||
echo script("qsl('div').onmousedown = schemaMousedown;");
|
echo script("qsl('div').onmousedown = schemaMousedown;");
|
||||||
|
|
||||||
foreach ($table["fields"] as $field) {
|
foreach ($table["fields"] as $field) {
|
||||||
$val = '<span' . type_class($field["type"]) . ' title="' . h($field["full_type"] . ($field["null"] ? " NULL" : '')) . '">' . h($field["field"]) . '</span>';
|
$val = '<span' . type_class($field["type"]) . ' title="' . h($field["full_type"] . ($field["null"] ? " NULL" : '')) . '">' . h($field["field"]) . '</span>';
|
||||||
echo "<br>" . ($field["primary"] ? "<i>$val</i>" : $val);
|
echo "<br>" . ($field["primary"] ? "<i>$val</i>" : $val);
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ((array) $table["references"] as $target_name => $refs) {
|
foreach ((array) $table["references"] as $target_name => $refs) {
|
||||||
foreach ($refs as $left => $ref) {
|
foreach ($refs as $left => $ref) {
|
||||||
$left1 = $left - $table_pos[$name][1];
|
$left1 = $left - $table_pos[$name][1];
|
||||||
@@ -76,7 +76,7 @@ foreach ($schema as $name => $table) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ((array) $referenced[$name] as $target_name => $refs) {
|
foreach ((array) $referenced[$name] as $target_name => $refs) {
|
||||||
foreach ($refs as $left => $columns) {
|
foreach ($refs as $left => $columns) {
|
||||||
$left1 = $left - $table_pos[$name][1];
|
$left1 = $left - $table_pos[$name][1];
|
||||||
@@ -86,7 +86,7 @@ foreach ($schema as $name => $table) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "\n</div>\n";
|
echo "\n</div>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -27,7 +27,7 @@ if (!$row) {
|
|||||||
|
|
||||||
<form action="" method="post">
|
<form action="" method="post">
|
||||||
<p><input name="name" id="name" value="<?php echo h($row["name"]); ?>" autocapitalize="off">
|
<p><input name="name" id="name" value="<?php echo h($row["name"]); ?>" autocapitalize="off">
|
||||||
<?php echo script("focus(qs('#name'));"); ?>
|
<?php echo script("focus(gid('name'));"); ?>
|
||||||
<input type="submit" value="<?php echo lang('Save'); ?>">
|
<input type="submit" value="<?php echo lang('Save'); ?>">
|
||||||
<?php
|
<?php
|
||||||
if ($_GET["ns"] != "") {
|
if ($_GET["ns"] != "") {
|
||||||
|
@@ -322,10 +322,10 @@ if (!$columns && support("table")) {
|
|||||||
|
|
||||||
echo "<div class='scrollable'>";
|
echo "<div class='scrollable'>";
|
||||||
echo "<table id='table' cellspacing='0' class='nowrap checkable'>";
|
echo "<table id='table' cellspacing='0' class='nowrap checkable'>";
|
||||||
echo script("mixin(qs('#table'), {onclick: tableClick, ondblclick: partialArg(tableClick, true), onkeydown: editingKeydown});");
|
echo script("mixin(gid('table'), {onclick: tableClick, ondblclick: partialArg(tableClick, true), onkeydown: editingKeydown});");
|
||||||
echo "<thead><tr>" . (!$group && $select
|
echo "<thead><tr>" . (!$group && $select
|
||||||
? ""
|
? ""
|
||||||
: "<td><input type='checkbox' id='all-page' class='jsonly'>" . script("qs('#all-page').onclick = partial(formCheck, /check/);", "")
|
: "<td><input type='checkbox' id='all-page' class='jsonly'>" . script("gid('all-page').onclick = partial(formCheck, /check/);", "")
|
||||||
. " <a href='" . h($_GET["modify"] ? remove_from_uri("modify") : $_SERVER["REQUEST_URI"] . "&modify=1") . "'>" . lang('Modify') . "</a>");
|
. " <a href='" . h($_GET["modify"] ? remove_from_uri("modify") : $_SERVER["REQUEST_URI"] . "&modify=1") . "'>" . lang('Modify') . "</a>");
|
||||||
$names = array();
|
$names = array();
|
||||||
$functions = array();
|
$functions = array();
|
||||||
|
@@ -243,7 +243,7 @@ if (!isset($_GET["import"])) {
|
|||||||
}
|
}
|
||||||
echo "<p>";
|
echo "<p>";
|
||||||
textarea("query", $q, 20);
|
textarea("query", $q, 20);
|
||||||
echo script(($_POST ? "" : "qs('textarea').focus();\n") . "qs('#form').onsubmit = partial(sqlSubmit, qs('#form'), '" . js_escape(remove_from_uri("sql|limit|error_stops|only_errors|history")) . "');");
|
echo script(($_POST ? "" : "qs('textarea').focus();\n") . "gid('form').onsubmit = partial(sqlSubmit, gid('form'), '" . js_escape(remove_from_uri("sql|limit|error_stops|only_errors|history")) . "');");
|
||||||
echo "<p>$execute\n";
|
echo "<p>$execute\n";
|
||||||
echo lang('Limit rows') . ": <input type='number' name='limit' class='size' value='" . h($_POST ? $_POST["limit"] : $_GET["limit"]) . "'>\n";
|
echo lang('Limit rows') . ": <input type='number' name='limit' class='size' value='" . h($_POST ? $_POST["limit"] : $_GET["limit"]) . "'>\n";
|
||||||
|
|
||||||
|
@@ -88,13 +88,17 @@ function messagesPrint(el) {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
/** Hide or show some login rows for selected driver
|
/**
|
||||||
* @param HTMLSelectElement
|
* Hides or shows some login rows for selected driver.
|
||||||
*/
|
*
|
||||||
function loginDriver(driver) {
|
* @param {HTMLSelectElement} driverSelect
|
||||||
var trs = parentTag(driver, 'table').rows;
|
*/
|
||||||
var disabled = /sqlite/.test(selectValue(driver));
|
function loginDriver(driverSelect) {
|
||||||
alterClass(trs[1], 'hidden', disabled); // 1 - row with server
|
const trs = parentTag(driverSelect, 'table').rows;
|
||||||
|
const disabled = /sqlite/.test(selectValue(driverSelect));
|
||||||
|
|
||||||
|
// 1 - row with server
|
||||||
|
trs[1].classList.toggle('hidden', disabled);
|
||||||
trs[1].getElementsByTagName('input')[0].disabled = disabled;
|
trs[1].getElementsByTagName('input')[0].disabled = disabled;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -251,7 +255,7 @@ function editFields() {
|
|||||||
* @return boolean false to cancel action
|
* @return boolean false to cancel action
|
||||||
*/
|
*/
|
||||||
function editingClick(event) {
|
function editingClick(event) {
|
||||||
var el = getTarget(event);
|
var el = event.target;
|
||||||
if (!isTag(el, 'input')) {
|
if (!isTag(el, 'input')) {
|
||||||
el = parentTag(el, 'label');
|
el = parentTag(el, 'label');
|
||||||
el = el && qs('input', el);
|
el = el && qs('input', el);
|
||||||
@@ -280,7 +284,7 @@ function editingClick(event) {
|
|||||||
* @param InputEvent
|
* @param InputEvent
|
||||||
*/
|
*/
|
||||||
function editingInput(event) {
|
function editingInput(event) {
|
||||||
var el = getTarget(event);
|
var el = event.target;
|
||||||
if (/\[default]$/.test(el.name)) {
|
if (/\[default]$/.test(el.name)) {
|
||||||
el.previousSibling.checked = true;
|
el.previousSibling.checked = true;
|
||||||
}
|
}
|
||||||
@@ -405,16 +409,17 @@ function editingTypeChange() {
|
|||||||
el.checked = false;
|
el.checked = false;
|
||||||
}
|
}
|
||||||
if (el.name === name + '[collation]') {
|
if (el.name === name + '[collation]') {
|
||||||
alterClass(el, 'hidden', !/(char|text|enum|set)$/.test(text));
|
el.classList.toggle('hidden', !/(char|text|enum|set)$/.test(text));
|
||||||
}
|
}
|
||||||
if (el.name === name + '[unsigned]') {
|
if (el.name === name + '[unsigned]') {
|
||||||
alterClass(el, 'hidden', !/(^|[^o])int(?!er)|numeric|real|float|double|decimal|money/.test(text));
|
el.classList.toggle('hidden', !/(^|[^o])int(?!er)|numeric|real|float|double|decimal|money/.test(text));
|
||||||
}
|
}
|
||||||
if (el.name === name + '[on_update]') {
|
if (el.name === name + '[on_update]') {
|
||||||
alterClass(el, 'hidden', !/timestamp|datetime/.test(text)); // MySQL supports datetime since 5.6.5
|
// MySQL supports datetime since 5.6.5.
|
||||||
|
el.classList.toggle('hidden', !/timestamp|datetime/.test(text));
|
||||||
}
|
}
|
||||||
if (el.name === name + '[on_delete]') {
|
if (el.name === name + '[on_delete]') {
|
||||||
alterClass(el, 'hidden', !/`/.test(text));
|
el.classList.toggle('hidden', !/`/.test(text));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -423,7 +428,7 @@ function editingTypeChange() {
|
|||||||
* @this HTMLInputElement
|
* @this HTMLInputElement
|
||||||
*/
|
*/
|
||||||
function editingLengthChange() {
|
function editingLengthChange() {
|
||||||
alterClass(this, 'required', !this.value.length && /var(char|binary)$/.test(selectValue(this.parentNode.previousSibling.firstChild)));
|
this.classList.toggle('required', !this.value.length && /var(char|binary)$/.test(selectValue(this.parentNode.previousSibling.firstChild)));
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Edit enum or set
|
/** Edit enum or set
|
||||||
@@ -432,7 +437,7 @@ function editingLengthChange() {
|
|||||||
function editingLengthFocus() {
|
function editingLengthFocus() {
|
||||||
var td = this.parentNode;
|
var td = this.parentNode;
|
||||||
if (/(enum|set)$/.test(selectValue(td.previousSibling.firstChild))) {
|
if (/(enum|set)$/.test(selectValue(td.previousSibling.firstChild))) {
|
||||||
var edit = qs('#enum-edit');
|
var edit = gid('enum-edit');
|
||||||
edit.value = enumValues(this.value);
|
edit.value = enumValues(this.value);
|
||||||
td.appendChild(edit);
|
td.appendChild(edit);
|
||||||
this.style.display = 'none';
|
this.style.display = 'none';
|
||||||
@@ -476,9 +481,9 @@ function editingLengthBlur() {
|
|||||||
* @param number
|
* @param number
|
||||||
*/
|
*/
|
||||||
function columnShow(checked, column) {
|
function columnShow(checked, column) {
|
||||||
var trs = qsa('tr', qs('#edit-fields'));
|
var trs = qsa('tr', gid('edit-fields'));
|
||||||
for (var i=0; i < trs.length; i++) {
|
for (var i=0; i < trs.length; i++) {
|
||||||
alterClass(qsa('td', trs[i])[column], 'hidden', !checked);
|
qsa('td', trs[i])[column].classList.toggle('hidden', !checked);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -487,8 +492,9 @@ function columnShow(checked, column) {
|
|||||||
*/
|
*/
|
||||||
function partitionByChange() {
|
function partitionByChange() {
|
||||||
var partitionTable = /RANGE|LIST/.test(selectValue(this));
|
var partitionTable = /RANGE|LIST/.test(selectValue(this));
|
||||||
alterClass(this.form['partitions'], 'hidden', partitionTable || !this.selectedIndex);
|
|
||||||
alterClass(qs('#partition-table'), 'hidden', !partitionTable);
|
this.form['partitions'].classList.toggle('hidden', partitionTable || !this.selectedIndex);
|
||||||
|
gid('partition-table').classList.toggle('hidden', !partitionTable);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Add next partition row
|
/** Add next partition row
|
||||||
@@ -508,7 +514,7 @@ function partitionNameChange() {
|
|||||||
function editingCommentsClick(el, focus) {
|
function editingCommentsClick(el, focus) {
|
||||||
var comment = el.form['Comment'];
|
var comment = el.form['Comment'];
|
||||||
columnShow(el.checked, 6);
|
columnShow(el.checked, 6);
|
||||||
alterClass(comment, 'hidden', !el.checked);
|
comment.classList.toggle('hidden', !el.checked);
|
||||||
if (focus && el.checked) {
|
if (focus && el.checked) {
|
||||||
comment.focus();
|
comment.focus();
|
||||||
}
|
}
|
||||||
@@ -521,7 +527,7 @@ function editingCommentsClick(el, focus) {
|
|||||||
* @this HTMLTableElement
|
* @this HTMLTableElement
|
||||||
*/
|
*/
|
||||||
function dumpClick(event) {
|
function dumpClick(event) {
|
||||||
var el = parentTag(getTarget(event), 'label');
|
var el = parentTag(event.target, 'label');
|
||||||
if (el) {
|
if (el) {
|
||||||
el = qs('input', el);
|
el = qs('input', el);
|
||||||
var match = /(.+)\[]$/.exec(el.name);
|
var match = /(.+)\[]$/.exec(el.name);
|
||||||
@@ -651,7 +657,7 @@ function triggerChange(tableRe, table, form) {
|
|||||||
if (tableRe.test(form['Trigger'].value)) {
|
if (tableRe.test(form['Trigger'].value)) {
|
||||||
form['Trigger'].value = table + '_' + (selectValue(form['Timing']).charAt(0) + formEvent.charAt(0)).toLowerCase();
|
form['Trigger'].value = table + '_' + (selectValue(form['Timing']).charAt(0) + formEvent.charAt(0)).toLowerCase();
|
||||||
}
|
}
|
||||||
alterClass(form['Of'], 'hidden', !/ OF/.test(formEvent));
|
form['Of'].classList.toggle('hidden', !/ OF/.test(formEvent));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -725,7 +731,7 @@ function schemaMouseup(event, db) {
|
|||||||
s += '_' + key + ':' + Math.round(tablePos[key][0] * 10000) / 10000 + 'x' + Math.round(tablePos[key][1] * 10000) / 10000;
|
s += '_' + key + ':' + Math.round(tablePos[key][0] * 10000) / 10000 + 'x' + Math.round(tablePos[key][1] * 10000) / 10000;
|
||||||
}
|
}
|
||||||
s = encodeURIComponent(s.substr(1));
|
s = encodeURIComponent(s.substr(1));
|
||||||
var link = qs('#schema-link');
|
var link = gid('schema-link');
|
||||||
link.href = link.href.replace(/[^=]+$/, '') + s;
|
link.href = link.href.replace(/[^=]+$/, '') + s;
|
||||||
cookie('adminer_schema-' + db + '=' + s, 30); //! special chars in db
|
cookie('adminer_schema-' + db + '=' + s, 30); //! special chars in db
|
||||||
}
|
}
|
||||||
|
@@ -73,17 +73,6 @@ function mixin(target, source) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Add or remove CSS class
|
|
||||||
* @param HTMLElement
|
|
||||||
* @param string
|
|
||||||
* @param [bool]
|
|
||||||
*/
|
|
||||||
function alterClass(el, className, enable) {
|
|
||||||
if (el) {
|
|
||||||
el.className = el.className.replace(RegExp('(^|\\s)' + className + '(\\s|$)'), '$2') + (enable ? ' ' + className : '');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Toggles visibility of element with ID.
|
* Toggles visibility of element with ID.
|
||||||
*
|
*
|
||||||
@@ -129,7 +118,7 @@ function verifyVersion(currentVersion, baseUrl, token) {
|
|||||||
ajax(baseUrl + 'script=version', function () {}, data);
|
ajax(baseUrl + 'script=version', function () {}, data);
|
||||||
|
|
||||||
if (currentVersion !== version) {
|
if (currentVersion !== version) {
|
||||||
qs('#version').innerText = version;
|
gid('version').innerText = version;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -173,7 +162,7 @@ function parentTag(el, tag) {
|
|||||||
*/
|
*/
|
||||||
function trCheck(el) {
|
function trCheck(el) {
|
||||||
var tr = parentTag(el, 'tr');
|
var tr = parentTag(el, 'tr');
|
||||||
alterClass(tr, 'checked', el.checked);
|
tr.classList.toggle('checked', el.checked);
|
||||||
if (el.form && el.form['all'] && el.form['all'].onclick) { // Opera treats form.all as document.all
|
if (el.form && el.form['all'] && el.form['all'].onclick) { // Opera treats form.all as document.all
|
||||||
el.form['all'].onclick();
|
el.form['all'].onclick();
|
||||||
}
|
}
|
||||||
@@ -186,7 +175,7 @@ function trCheck(el) {
|
|||||||
*/
|
*/
|
||||||
function selectCount(id, count) {
|
function selectCount(id, count) {
|
||||||
setHtml(id, (count === '' ? '' : '(' + (count + '').replace(/\B(?=(\d{3})+$)/g, thousandsSeparator) + ')'));
|
setHtml(id, (count === '' ? '' : '(' + (count + '').replace(/\B(?=(\d{3})+$)/g, thousandsSeparator) + ')'));
|
||||||
var el = qs('#' + id);
|
var el = gid(id);
|
||||||
if (el) {
|
if (el) {
|
||||||
var inputs = qsa('input', el.parentNode.parentNode);
|
var inputs = qsa('input', el.parentNode.parentNode);
|
||||||
for (var i = 0; i < inputs.length; i++) {
|
for (var i = 0; i < inputs.length; i++) {
|
||||||
@@ -259,7 +248,7 @@ function formChecked(el, name) {
|
|||||||
* @param [boolean] force click
|
* @param [boolean] force click
|
||||||
*/
|
*/
|
||||||
function tableClick(event, click) {
|
function tableClick(event, click) {
|
||||||
var td = parentTag(getTarget(event), 'td');
|
var td = parentTag(event.target, 'td');
|
||||||
var text;
|
var text;
|
||||||
if (td && (text = td.getAttribute('data-text'))) {
|
if (td && (text = td.getAttribute('data-text'))) {
|
||||||
if (selectClick.call(td, event, +text, td.getAttribute('data-warning'))) {
|
if (selectClick.call(td, event, +text, td.getAttribute('data-warning'))) {
|
||||||
@@ -267,7 +256,7 @@ function tableClick(event, click) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
click = (click || !window.getSelection || getSelection().isCollapsed);
|
click = (click || !window.getSelection || getSelection().isCollapsed);
|
||||||
var el = getTarget(event);
|
var el = event.target;
|
||||||
while (!isTag(el, 'tr')) {
|
while (!isTag(el, 'tr')) {
|
||||||
if (isTag(el, 'table|a|input|textarea')) {
|
if (isTag(el, 'table|a|input|textarea')) {
|
||||||
if (el.type !== 'checkbox') {
|
if (el.type !== 'checkbox') {
|
||||||
@@ -374,7 +363,7 @@ function initTablesFilter(dbName) {
|
|||||||
if (sessionStorage) {
|
if (sessionStorage) {
|
||||||
document.addEventListener('DOMContentLoaded', function () {
|
document.addEventListener('DOMContentLoaded', function () {
|
||||||
if (dbName === sessionStorage.getItem('adminer_tables_filter_db') && sessionStorage.getItem('adminer_tables_filter')) {
|
if (dbName === sessionStorage.getItem('adminer_tables_filter_db') && sessionStorage.getItem('adminer_tables_filter')) {
|
||||||
qs('#tables-filter').value = sessionStorage.getItem('adminer_tables_filter');
|
gid('tables-filter').value = sessionStorage.getItem('adminer_tables_filter');
|
||||||
filterTables();
|
filterTables();
|
||||||
} else {
|
} else {
|
||||||
sessionStorage.removeItem('adminer_tables_filter');
|
sessionStorage.removeItem('adminer_tables_filter');
|
||||||
@@ -384,7 +373,7 @@ function initTablesFilter(dbName) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
const filterInput = qs('#tables-filter');
|
const filterInput = gid('tables-filter');
|
||||||
filterInput.addEventListener('input', function () {
|
filterInput.addEventListener('input', function () {
|
||||||
window.clearTimeout(tablesFilterTimeout);
|
window.clearTimeout(tablesFilterTimeout);
|
||||||
tablesFilterTimeout = window.setTimeout(filterTables, 200);
|
tablesFilterTimeout = window.setTimeout(filterTables, 200);
|
||||||
@@ -401,7 +390,7 @@ function initTablesFilter(dbName) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function filterTables() {
|
function filterTables() {
|
||||||
const value = qs('#tables-filter').value.toLowerCase();
|
const value = gid('tables-filter').value.toLowerCase();
|
||||||
if (value === tablesFilterValue) {
|
if (value === tablesFilterValue) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -445,7 +434,7 @@ function filterTables() {
|
|||||||
* @this HTMLElement
|
* @this HTMLElement
|
||||||
*/
|
*/
|
||||||
function menuOver(event) {
|
function menuOver(event) {
|
||||||
var a = getTarget(event);
|
var a = event.target;
|
||||||
if (isTag(a, 'a|span') && a.offsetLeft + a.offsetWidth > a.parentNode.offsetWidth - 15) { // 15 - ellipsis
|
if (isTag(a, 'a|span') && a.offsetLeft + a.offsetWidth > a.parentNode.offsetWidth - 15) { // 15 - ellipsis
|
||||||
this.style.overflow = 'visible';
|
this.style.overflow = 'visible';
|
||||||
}
|
}
|
||||||
@@ -717,7 +706,7 @@ function columnMouse(className) {
|
|||||||
* @return boolean false
|
* @return boolean false
|
||||||
*/
|
*/
|
||||||
function selectSearch(name) {
|
function selectSearch(name) {
|
||||||
var el = qs('#fieldset-search');
|
var el = gid('fieldset-search');
|
||||||
el.className = '';
|
el.className = '';
|
||||||
var divs = qsa('div', el);
|
var divs = qsa('div', el);
|
||||||
for (var i=0; i < divs.length; i++) {
|
for (var i=0; i < divs.length; i++) {
|
||||||
@@ -744,16 +733,6 @@ function isCtrl(event) {
|
|||||||
return (event.ctrlKey || event.metaKey) && !event.altKey; // shiftKey allowed
|
return (event.ctrlKey || event.metaKey) && !event.altKey; // shiftKey allowed
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Return event target
|
|
||||||
* @param Event
|
|
||||||
* @return HTMLElement
|
|
||||||
*/
|
|
||||||
function getTarget(event) {
|
|
||||||
return event.target || event.srcElement;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/** Send form by Ctrl+Enter on <select> and <textarea>
|
/** Send form by Ctrl+Enter on <select> and <textarea>
|
||||||
* @param KeyboardEvent
|
* @param KeyboardEvent
|
||||||
* @param [string]
|
* @param [string]
|
||||||
@@ -761,7 +740,7 @@ function getTarget(event) {
|
|||||||
*/
|
*/
|
||||||
function bodyKeydown(event, button) {
|
function bodyKeydown(event, button) {
|
||||||
eventStop(event);
|
eventStop(event);
|
||||||
var target = getTarget(event);
|
var target = event.target;
|
||||||
if (target.jushTextarea) {
|
if (target.jushTextarea) {
|
||||||
target = target.jushTextarea;
|
target = target.jushTextarea;
|
||||||
}
|
}
|
||||||
@@ -785,7 +764,7 @@ function bodyKeydown(event, button) {
|
|||||||
* @param MouseEvent
|
* @param MouseEvent
|
||||||
*/
|
*/
|
||||||
function bodyClick(event) {
|
function bodyClick(event) {
|
||||||
var target = getTarget(event);
|
var target = event.target;
|
||||||
if ((isCtrl(event) || event.shiftKey) && target.type === 'submit' && isTag(target, 'input')) {
|
if ((isCtrl(event) || event.shiftKey) && target.type === 'submit' && isTag(target, 'input')) {
|
||||||
target.form.target = '_blank';
|
target.form.target = '_blank';
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
@@ -803,7 +782,7 @@ function bodyClick(event) {
|
|||||||
*/
|
*/
|
||||||
function editingKeydown(event) {
|
function editingKeydown(event) {
|
||||||
if ((event.keyCode === 40 || event.keyCode === 38) && isCtrl(event)) { // 40 - Down, 38 - Up
|
if ((event.keyCode === 40 || event.keyCode === 38) && isCtrl(event)) { // 40 - Down, 38 - Up
|
||||||
var target = getTarget(event);
|
var target = event.target;
|
||||||
var sibling = (event.keyCode === 40 ? 'nextSibling' : 'previousSibling');
|
var sibling = (event.keyCode === 40 ? 'nextSibling' : 'previousSibling');
|
||||||
var el = target.parentNode.parentNode[sibling];
|
var el = target.parentNode.parentNode[sibling];
|
||||||
if (el && (isTag(el, 'tr') || (el = el[sibling])) && isTag(el, 'tr') && (el = el.childNodes[nodePosition(target.parentNode)]) && (el = el.childNodes[nodePosition(target)])) {
|
if (el && (isTag(el, 'tr') || (el = el[sibling])) && isTag(el, 'tr') && (el = el.childNodes[nodePosition(target.parentNode)]) && (el = el.childNodes[nodePosition(target)])) {
|
||||||
@@ -901,7 +880,7 @@ function fieldChange() {
|
|||||||
function ajax(url, callback, data, message) {
|
function ajax(url, callback, data, message) {
|
||||||
var request = (window.XMLHttpRequest ? new XMLHttpRequest() : (window.ActiveXObject ? new ActiveXObject('Microsoft.XMLHTTP') : false));
|
var request = (window.XMLHttpRequest ? new XMLHttpRequest() : (window.ActiveXObject ? new ActiveXObject('Microsoft.XMLHTTP') : false));
|
||||||
if (request) {
|
if (request) {
|
||||||
var ajaxStatus = qs('#ajaxstatus');
|
var ajaxStatus = gid('ajaxstatus');
|
||||||
if (message) {
|
if (message) {
|
||||||
ajaxStatus.innerHTML = '<div class="message">' + message + '</div>';
|
ajaxStatus.innerHTML = '<div class="message">' + message + '</div>';
|
||||||
ajaxStatus.className = ajaxStatus.className.replace(/ hidden/g, '');
|
ajaxStatus.className = ajaxStatus.className.replace(/ hidden/g, '');
|
||||||
@@ -971,9 +950,9 @@ function ajaxForm(form, message, button) {
|
|||||||
return ajax(url, function (request) {
|
return ajax(url, function (request) {
|
||||||
setHtml('ajaxstatus', request.responseText);
|
setHtml('ajaxstatus', request.responseText);
|
||||||
if (window.jush) {
|
if (window.jush) {
|
||||||
jush.highlight_tag(qsa('code', qs('#ajaxstatus')), 0);
|
jush.highlight_tag(qsa('code', gid('ajaxstatus')), 0);
|
||||||
}
|
}
|
||||||
messagesPrint(qs('#ajaxstatus'));
|
messagesPrint(gid('ajaxstatus'));
|
||||||
}, data, message);
|
}, data, message);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -988,7 +967,7 @@ function ajaxForm(form, message, button) {
|
|||||||
*/
|
*/
|
||||||
function selectClick(event, text, warning) {
|
function selectClick(event, text, warning) {
|
||||||
var td = this;
|
var td = this;
|
||||||
var target = getTarget(event);
|
var target = event.target;
|
||||||
if (!isCtrl(event) || isTag(td.firstChild, 'input|textarea') || isTag(target, 'a')) {
|
if (!isCtrl(event) || isTag(td.firstChild, 'input|textarea') || isTag(target, 'a')) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -1075,7 +1054,7 @@ function selectLoadMore(limit, loading) {
|
|||||||
return !ajax(href, function (request) {
|
return !ajax(href, function (request) {
|
||||||
var tbody = document.createElement('tbody');
|
var tbody = document.createElement('tbody');
|
||||||
tbody.innerHTML = request.responseText;
|
tbody.innerHTML = request.responseText;
|
||||||
qs('#table').appendChild(tbody);
|
gid('table').appendChild(tbody);
|
||||||
if (tbody.children.length < limit) {
|
if (tbody.children.length < limit) {
|
||||||
a.parentNode.removeChild(a);
|
a.parentNode.removeChild(a);
|
||||||
} else {
|
} else {
|
||||||
@@ -1129,9 +1108,9 @@ function setupSubmitHighlightInput(input) {
|
|||||||
* @this HTMLInputElement
|
* @this HTMLInputElement
|
||||||
*/
|
*/
|
||||||
function inputFocus() {
|
function inputFocus() {
|
||||||
var submit = findDefaultSubmit(this);
|
const submit = findDefaultSubmit(this);
|
||||||
if (submit) {
|
if (submit) {
|
||||||
alterClass(submit, 'default', true);
|
submit.classList.toggle('default', true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1139,9 +1118,9 @@ function inputFocus() {
|
|||||||
* @this HTMLInputElement
|
* @this HTMLInputElement
|
||||||
*/
|
*/
|
||||||
function inputBlur() {
|
function inputBlur() {
|
||||||
var submit = findDefaultSubmit(this);
|
const submit = findDefaultSubmit(this);
|
||||||
if (submit) {
|
if (submit) {
|
||||||
alterClass(submit, 'default');
|
submit.classList.toggle('default', false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1223,7 +1202,9 @@ function getOffsetLeft(element) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
oninput = function (event) {
|
oninput = function (event) {
|
||||||
var target = event.target;
|
const target = event.target;
|
||||||
var maxLength = target.getAttribute('data-maxlength');
|
const maxLength = target.getAttribute('data-maxlength');
|
||||||
alterClass(target, 'maxlength', target.value && maxLength != null && target.value.length > maxLength); // maxLength could be 0
|
|
||||||
|
// maxLength could be 0
|
||||||
|
target.classList.toggle('maxlength', target.value && maxLength != null && target.value.length > maxLength);
|
||||||
};
|
};
|
||||||
|
@@ -40,7 +40,7 @@ page_header(($name != "" ? lang('Alter trigger') . ": " . h($name) : lang('Creat
|
|||||||
<tr><th><?php echo lang('Type'); ?><td><?php echo html_select("Type", $trigger_options["Type"], $row["Type"]); ?>
|
<tr><th><?php echo lang('Type'); ?><td><?php echo html_select("Type", $trigger_options["Type"], $row["Type"]); ?>
|
||||||
</table>
|
</table>
|
||||||
<p><?php echo lang('Name'); ?>: <input name="Trigger" value="<?php echo h($row["Trigger"]); ?>" data-maxlength="64" autocapitalize="off">
|
<p><?php echo lang('Name'); ?>: <input name="Trigger" value="<?php echo h($row["Trigger"]); ?>" data-maxlength="64" autocapitalize="off">
|
||||||
<?php echo script("qs('#form')['Timing'].onchange();"); ?>
|
<?php echo script("gid('form')['Timing'].onchange();"); ?>
|
||||||
<p><?php textarea("Statement", $row["Statement"]); ?>
|
<p><?php textarea("Statement", $row["Statement"]); ?>
|
||||||
<p>
|
<p>
|
||||||
<input type="submit" value="<?php echo lang('Save'); ?>">
|
<input type="submit" value="<?php echo lang('Save'); ?>">
|
||||||
|
@@ -142,7 +142,7 @@ if ($_POST) {
|
|||||||
<tr><th><?php echo lang('Server'); ?><td><input name="host" data-maxlength="60" value="<?php echo h($row["host"]); ?>" autocapitalize="off">
|
<tr><th><?php echo lang('Server'); ?><td><input name="host" data-maxlength="60" value="<?php echo h($row["host"]); ?>" autocapitalize="off">
|
||||||
<tr><th><?php echo lang('Username'); ?><td><input name="user" data-maxlength="80" value="<?php echo h($row["user"]); ?>" autocapitalize="off">
|
<tr><th><?php echo lang('Username'); ?><td><input name="user" data-maxlength="80" value="<?php echo h($row["user"]); ?>" autocapitalize="off">
|
||||||
<tr><th><?php echo lang('Password'); ?><td><input name="pass" id="pass" value="<?php echo h($row["pass"]); ?>" autocomplete="new-password">
|
<tr><th><?php echo lang('Password'); ?><td><input name="pass" id="pass" value="<?php echo h($row["pass"]); ?>" autocomplete="new-password">
|
||||||
<?php if (!$row["hashed"]) { echo script("typePassword(qs('#pass'));"); } ?>
|
<?php if (!$row["hashed"]) { echo script("typePassword(gid('pass'));"); } ?>
|
||||||
<?php echo (min_version(8) ? "" : checkbox("hashed", 1, $row["hashed"], lang('Hashed'), "typePassword(this.form['pass'], this.checked);")); ?>
|
<?php echo (min_version(8) ? "" : checkbox("hashed", 1, $row["hashed"], lang('Hashed'), "typePassword(this.form['pass'], this.checked);")); ?>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
@@ -11,11 +11,11 @@ if ($adminer->homepage()) {
|
|||||||
echo "<table cellspacing='0' class='nowrap checkable'>\n";
|
echo "<table cellspacing='0' class='nowrap checkable'>\n";
|
||||||
echo script("mixin(qsl('table'), {onclick: tableClick, ondblclick: partialArg(tableClick, true)});");
|
echo script("mixin(qsl('table'), {onclick: tableClick, ondblclick: partialArg(tableClick, true)});");
|
||||||
echo '<thead><tr class="wrap">';
|
echo '<thead><tr class="wrap">';
|
||||||
echo '<td><input id="check-all" type="checkbox" class="jsonly">' . script("qs('#check-all').onclick = partial(formCheck, /^tables\[/);", "");
|
echo '<td><input id="check-all" type="checkbox" class="jsonly">' . script("gid('check-all').onclick = partial(formCheck, /^tables\[/);", "");
|
||||||
echo '<th>' . lang('Table');
|
echo '<th>' . lang('Table');
|
||||||
echo '<td>' . lang('Rows');
|
echo '<td>' . lang('Rows');
|
||||||
echo "</thead>\n";
|
echo "</thead>\n";
|
||||||
|
|
||||||
foreach (table_status() as $table => $row) {
|
foreach (table_status() as $table => $row) {
|
||||||
$name = $adminer->tableName($row);
|
$name = $adminer->tableName($row);
|
||||||
if (isset($row["Engine"]) && $name != "") {
|
if (isset($row["Engine"]) && $name != "") {
|
||||||
@@ -25,7 +25,7 @@ if ($adminer->homepage()) {
|
|||||||
echo "<td align='right'><a href='" . h(ME . "edit=") . urlencode($table) . "'>" . ($row["Engine"] == "InnoDB" && $val ? "~ $val" : $val) . "</a>";
|
echo "<td align='right'><a href='" . h(ME . "edit=") . urlencode($table) . "'>" . ($row["Engine"] == "InnoDB" && $val ? "~ $val" : $val) . "</a>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "</table>\n";
|
echo "</table>\n";
|
||||||
echo "</div>\n";
|
echo "</div>\n";
|
||||||
echo "</form>\n";
|
echo "</form>\n";
|
||||||
|
@@ -77,7 +77,7 @@ class Adminer {
|
|||||||
|
|
||||||
function loginForm() {
|
function loginForm() {
|
||||||
echo "<table cellspacing='0' class='layout'>\n";
|
echo "<table cellspacing='0' class='layout'>\n";
|
||||||
echo $this->loginFormField('username', '<tr><th>' . lang('Username') . '<td>', '<input type="hidden" name="auth[driver]" value="server"><input name="auth[username]" id="username" value="' . h($_GET["username"]) . '" autocomplete="username" autocapitalize="off">' . script("focus(qs('#username'));"));
|
echo $this->loginFormField('username', '<tr><th>' . lang('Username') . '<td>', '<input type="hidden" name="auth[driver]" value="server"><input name="auth[username]" id="username" value="' . h($_GET["username"]) . '" autocomplete="username" autocapitalize="off">' . script("focus(gid('username'));"));
|
||||||
echo $this->loginFormField('password', '<tr><th>' . lang('Password') . '<td>', '<input type="password" name="auth[password]" autocomplete="current-password">' . "\n");
|
echo $this->loginFormField('password', '<tr><th>' . lang('Password') . '<td>', '<input type="password" name="auth[password]" autocomplete="current-password">' . "\n");
|
||||||
echo "</table>\n";
|
echo "</table>\n";
|
||||||
echo "<p><input type='submit' value='" . lang('Login') . "'>\n";
|
echo "<p><input type='submit' value='" . lang('Login') . "'>\n";
|
||||||
@@ -620,7 +620,7 @@ qsl('div').onclick = whisperClick;", "")
|
|||||||
if ($password !== null) {
|
if ($password !== null) {
|
||||||
if ($first) {
|
if ($first) {
|
||||||
echo "<ul id='logins'>";
|
echo "<ul id='logins'>";
|
||||||
echo script("mixin(qs('#logins'), {onmouseover: menuOver, onmouseout: menuOut});");
|
echo script("mixin(gid('logins'), {onmouseover: menuOver, onmouseout: menuOut});");
|
||||||
$first = false;
|
$first = false;
|
||||||
}
|
}
|
||||||
echo "<li><a href='" . h(auth_url($vendor, "", $username)) . "'>" . ($username != "" ? h($username) : "<i>" . lang('empty') . "</i>") . "</a>\n";
|
echo "<li><a href='" . h(auth_url($vendor, "", $username)) . "'>" . ($username != "" ? h($username) : "<i>" . lang('empty') . "</i>") . "</a>\n";
|
||||||
@@ -655,7 +655,7 @@ qsl('div').onclick = whisperClick;", "")
|
|||||||
}
|
}
|
||||||
|
|
||||||
function tablesPrint($tables) {
|
function tablesPrint($tables) {
|
||||||
echo "<ul id='tables'>" . script("mixin(qs('#tables'), {onmouseover: menuOver, onmouseout: menuOut});");
|
echo "<ul id='tables'>" . script("mixin(gid('tables'), {onmouseover: menuOver, onmouseout: menuOut});");
|
||||||
|
|
||||||
foreach ($tables as $row) {
|
foreach ($tables as $row) {
|
||||||
// Skip views and tables without a name.
|
// Skip views and tables without a name.
|
||||||
|
@@ -43,7 +43,7 @@ function whisper(url) {
|
|||||||
*/
|
*/
|
||||||
function whisperClick(event) {
|
function whisperClick(event) {
|
||||||
var field = this.previousSibling;
|
var field = this.previousSibling;
|
||||||
var el = getTarget(event);
|
var el = event.target;
|
||||||
if (isTag(el, 'a') && !(event.button || event.shiftKey || event.altKey || isCtrl(event))) {
|
if (isTag(el, 'a') && !(event.button || event.shiftKey || event.altKey || isCtrl(event))) {
|
||||||
field.value = el.firstChild.data;
|
field.value = el.firstChild.data;
|
||||||
field.previousSibling.value = decodeURIComponent(el.href.replace(/.*=/, ''));
|
field.previousSibling.value = decodeURIComponent(el.href.replace(/.*=/, ''));
|
||||||
|
@@ -65,7 +65,7 @@ tinyMCE.init({
|
|||||||
return "<textarea$attrs id='fields-" . h($field["field"]) . "' rows='12' cols='50'>" . h($value) . "</textarea>" . script("
|
return "<textarea$attrs id='fields-" . h($field["field"]) . "' rows='12' cols='50'>" . h($value) . "</textarea>" . script("
|
||||||
tinyMCE.remove(tinyMCE.get('fields-" . js_escape($field["field"]) . "') || { });
|
tinyMCE.remove(tinyMCE.get('fields-" . js_escape($field["field"]) . "') || { });
|
||||||
tinyMCE.EditorManager.execCommand('mceAddControl', true, 'fields-" . js_escape($field["field"]) . "');
|
tinyMCE.EditorManager.execCommand('mceAddControl', true, 'fields-" . js_escape($field["field"]) . "');
|
||||||
qs('#form').onsubmit = function () {
|
gid('form').onsubmit = function () {
|
||||||
tinyMCE.each(tinyMCE.editors, function (ed) {
|
tinyMCE.each(tinyMCE.editors, function (ed) {
|
||||||
ed.remove();
|
ed.remove();
|
||||||
});
|
});
|
||||||
|
Reference in New Issue
Block a user