diff --git a/adminer/db.inc.php b/adminer/db.inc.php index 1cb76ebd..401371c0 100644 --- a/adminer/db.inc.php +++ b/adminer/db.inc.php @@ -80,7 +80,7 @@ if ($adminer->homepage()) { foreach ($tables_list as $name => $type) { $view = ($type !== null && !preg_match('~table~i', $type)); echo '
';
$links = array("select" => lang('Select data'));
- if (support("table")) {
+ if (support("table") || support("indexes")) {
$links["table"] = lang('Show structure');
+ }
+ if (support("table")) {
if (is_view($tableStatus)) {
$links["view"] = lang('Alter view');
} else {
@@ -854,7 +856,7 @@ username.form['auth[driver]'].onchange();
foreach ($tables as $table => $status) {
echo '" . lang('select') . " ";
$name = $this->tableName($status);
- echo (support("table")
+ echo (support("table") || support("indexes")
? '$name"
: "$name"
) . "
\n";
diff --git a/adminer/select.inc.php b/adminer/select.inc.php
index 0d81884c..1a070e1a 100644
--- a/adminer/select.inc.php
+++ b/adminer/select.inc.php
@@ -448,7 +448,7 @@ if (!$columns && support("table")) {
? $page + (count($rows) >= $limit ? 2 : 1)
: floor(($found_rows - 1) / $limit)
);
- if (support("table")) {
+ if ($jush != "simpledb") {
echo '" . lang('Page') . ":";
echo pagination(0, $page) . ($page > 5 ? " ..." : "");
for ($i = max(1, $page - 4); $i < min($max_page, $page + 5); $i++) {
diff --git a/adminer/table.inc.php b/adminer/table.inc.php
index a8bab598..aa12583c 100644
--- a/adminer/table.inc.php
+++ b/adminer/table.inc.php
@@ -25,64 +25,63 @@ if ($fields) {
echo "\n";
}
echo "\n";
-
- if (!is_view($table_status)) {
- if (support("indexes")) {
- echo "
$index[type] | " . implode(", ", $print) . "\n"; - } - echo " |
---|
' . lang('Alter indexes') . "\n"; - } - - if (fk_support($table_status)) { - echo "
" . lang('Source') . " | " . lang('Target') . " | " . lang('ON DELETE') . " | " . lang('ON UPDATE') . " | |
---|---|---|---|---|
" . implode(", ", array_map('h', $foreign_key["source"])) . ""; - echo " | " - . ($foreign_key["db"] != "" ? "" . h($foreign_key["db"]) . "." : "") . ($foreign_key["ns"] != "" ? "" . h($foreign_key["ns"]) . "." : "") . h($foreign_key["table"]) - . "" - ; - echo "(" . implode(", ", array_map('h', $foreign_key["target"])) . ")"; - echo " | " . nbsp($foreign_key["on_delete"]) . "\n"; - echo " | " . nbsp($foreign_key["on_update"]) . "\n"; - echo ' | ' . lang('Alter') . ''; - } - echo " |
' . lang('Add foreign key') . "\n"; - } - - } - - if (support(is_view($table_status) ? "view_trigger" : "trigger")) { - echo "
$val[0] | $val[1] | " . h($key) . " | " . lang('Alter') . "\n"; + foreach ($indexes as $name => $index) { + ksort($index["columns"]); // enforce correct columns order + $print = array(); + foreach ($index["columns"] as $key => $val) { + $print[] = "" . h($val) . "" + . ($index["lengths"][$key] ? "(" . $index["lengths"][$key] . ")" : "") + . ($index["descs"][$key] ? " DESC" : "") + ; + } + echo " |
---|---|---|---|
$index[type] | " . implode(", ", $print) . "\n"; } echo " |
' . lang('Add trigger') . "\n"; + echo '
' . lang('Alter indexes') . "\n"; + } + + if (fk_support($table_status)) { + echo "
" . lang('Source') . " | " . lang('Target') . " | " . lang('ON DELETE') . " | " . lang('ON UPDATE') . " | |
---|---|---|---|---|
" . implode(", ", array_map('h', $foreign_key["source"])) . ""; + echo " | " + . ($foreign_key["db"] != "" ? "" . h($foreign_key["db"]) . "." : "") . ($foreign_key["ns"] != "" ? "" . h($foreign_key["ns"]) . "." : "") . h($foreign_key["table"]) + . "" + ; + echo "(" . implode(", ", array_map('h', $foreign_key["target"])) . ")"; + echo " | " . nbsp($foreign_key["on_delete"]) . "\n"; + echo " | " . nbsp($foreign_key["on_update"]) . "\n"; + echo ' | ' . lang('Alter') . ''; + } + echo " |
' . lang('Add foreign key') . "\n"; } } + +if (support(is_view($table_status) ? "view_trigger" : "trigger")) { + echo "
$val[0] | $val[1] | " . h($key) . " | " . lang('Alter') . "\n"; + } + echo " |
---|
' . lang('Add trigger') . "\n"; +}