diff --git a/adminer/drivers/mysql.inc.php b/adminer/drivers/mysql.inc.php index 47ba442f..bdafbddc 100644 --- a/adminer/drivers/mysql.inc.php +++ b/adminer/drivers/mysql.inc.php @@ -335,7 +335,7 @@ if (!defined("DRIVER")) { } } - function tableHelp($name) { + function tableHelp($name, $is_view = false) { $maria = preg_match('~MariaDB~', $this->_conn->server_info); if (information_schema(DB)) { return strtolower("information-schema-" . ($maria ? "$name-table/" : str_replace("_", "-", $name) . "-table.html")); diff --git a/adminer/drivers/pgsql.inc.php b/adminer/drivers/pgsql.inc.php index 069d3f85..69be6117 100644 --- a/adminer/drivers/pgsql.inc.php +++ b/adminer/drivers/pgsql.inc.php @@ -238,10 +238,10 @@ if (isset($_GET["pgsql"])) { return $this->_conn->warnings(); } - function tableHelp($name) { + function tableHelp($name, $is_view = false) { $links = array( "information_schema" => "infoschema", - "pg_catalog" => "catalog", + "pg_catalog" => ($is_view ? "view" : "catalog"), ); $link = $links[$_GET["ns"]]; if ($link) { diff --git a/adminer/drivers/sqlite.inc.php b/adminer/drivers/sqlite.inc.php index efe267b8..ec7bdd7a 100644 --- a/adminer/drivers/sqlite.inc.php +++ b/adminer/drivers/sqlite.inc.php @@ -130,7 +130,7 @@ if (isset($_GET["sqlite"])) { return queries("REPLACE INTO " . table($table) . " (" . implode(", ", array_keys(reset($rows))) . ") VALUES\n" . implode(",\n", $values)); } - function tableHelp($name) { + function tableHelp($name, $is_view = false) { if ($name == "sqlite_sequence") { return "fileformat2.html#seqtab"; } diff --git a/adminer/include/adminer.inc.php b/adminer/include/adminer.inc.php index a7d8f8d1..73e45a57 100644 --- a/adminer/include/adminer.inc.php +++ b/adminer/include/adminer.inc.php @@ -180,8 +180,10 @@ class Adminer { if (support("table") || support("indexes")) { $links["table"] = lang('Show structure'); } + $is_view = false; if (support("table")) { - if (is_view($tableStatus)) { + $is_view = is_view($tableStatus); + if ($is_view) { $links["view"] = lang('Alter view'); } else { $links["create"] = lang('Alter table'); @@ -194,7 +196,7 @@ class Adminer { foreach ($links as $key => $val) { echo " $val"; } - echo doc_link(array($jush => $driver->tableHelp($name)), "?"); + echo doc_link(array($jush => $driver->tableHelp($name, $is_view)), "?"); echo "\n"; } diff --git a/adminer/include/driver.inc.php b/adminer/include/driver.inc.php index 9bb21e35..830a3492 100644 --- a/adminer/include/driver.inc.php +++ b/adminer/include/driver.inc.php @@ -188,9 +188,10 @@ function get_driver($id) { /** Get help link for table * @param string + * @param bool * @return string relative URL or null */ - function tableHelp($name) { + function tableHelp($name, $is_view = false) { } /** Check if C-style escapes are supported