diff --git a/adminer/include/adminer.inc.php b/adminer/include/adminer.inc.php index 55177ad8..e9c3c0f4 100644 --- a/adminer/include/adminer.inc.php +++ b/adminer/include/adminer.inc.php @@ -1066,7 +1066,9 @@ class Adminer { } echo "\n"; } - echo script("bodyLoad('" . (is_object($connection) ? preg_replace('~^(\d\.?\d).*~s', '\1', $connection->server_info) : "") . "'" . ($connection->maria ? ", true" : "") . ");"); + echo script("syntaxHighlighting('" . (is_object($connection) ? preg_replace('~^(\d\.?\d).*~s', '\1', $connection->server_info) : "") . "'" + . ($connection->maria ? ", 'maria'" : ($connection->cockroach ? ", 'cockroach'" : "")) . ");" + ); } /** Prints databases list in menu diff --git a/adminer/include/editing.inc.php b/adminer/include/editing.inc.php index 7412325b..ebdfb757 100644 --- a/adminer/include/editing.inc.php +++ b/adminer/include/editing.inc.php @@ -596,7 +596,7 @@ function doc_link($paths, $text = "?") { $urls = array( 'sql' => "https://dev.mysql.com/doc/refman/$version/en/", 'sqlite' => "https://www.sqlite.org/", - 'pgsql' => "https://www.postgresql.org/docs/$version/", + 'pgsql' => "https://www.postgresql.org/docs/" . ($connection->cockroach ? "current" : $version) . "/", 'mssql' => "https://learn.microsoft.com/en-us/sql/", 'oracle' => "https://www.oracle.com/pls/topic/lookup?ctx=db" . preg_replace('~^.* (\d+)\.(\d+)\.\d+\.\d+\.\d+.*~s', '\1\2', $server_info) . "&id=", ); diff --git a/adminer/static/editing.js b/adminer/static/editing.js index ab895cf9..8e09c7ca 100644 --- a/adminer/static/editing.js +++ b/adminer/static/editing.js @@ -2,9 +2,9 @@ /** Load syntax highlighting * @param string first three characters of database system version -* @param [boolean] +* @param [string] */ -function bodyLoad(version, maria) { +function syntaxHighlighting(version, vendor) { if (window.jush) { jush.create_links = ' target="_blank" rel="noreferrer noopener"'; if (version) { @@ -13,7 +13,7 @@ function bodyLoad(version, maria) { if (typeof obj[key] != 'string') { obj = obj[key]; key = 0; - if (maria) { + if (vendor == 'maria') { for (var i = 1; i < obj.length; i++) { obj[i] = obj[i] .replace('.html', '/') @@ -29,10 +29,12 @@ function bodyLoad(version, maria) { } } - obj[key] = (maria ? obj[key].replace('dev.mysql.com/doc/mysql', 'mariadb.com/kb') : obj[key]) // MariaDB + obj[key] = (vendor == 'maria' ? obj[key].replace('dev.mysql.com/doc/mysql', 'mariadb.com/kb') : obj[key]) // MariaDB .replace('/doc/mysql', '/doc/refman/' + version) // MySQL - .replace('/docs/current', '/docs/' + version) // PostgreSQL ; + if (vendor != 'cockroach') { + obj[key] = obj[key].replace('/docs/current', '/docs/' + version); // PostgreSQL + } } } if (window.jushLinks) {