]> git.joonet.de Git - adminer.git/commitdiff
Add plugin for printing table structure in expanded format
authorMatthew Gamble <git@matthewgamble.net>
Sat, 5 Dec 2015 23:14:55 +0000 (10:14 +1100)
committerJakub Vrana <jakub@vrana.cz>
Sat, 18 Feb 2017 18:21:16 +0000 (19:21 +0100)
Instead of trying to squeeze everything into three columns, this plugin
uses multiple columns for each part of a column's structure.

plugins/table-structure.php [new file with mode: 0644]

diff --git a/plugins/table-structure.php b/plugins/table-structure.php
new file mode 100644 (file)
index 0000000..5d8e5c0
--- /dev/null
@@ -0,0 +1,31 @@
+<?php
+
+/** Expanded table structure output
+* @link https://www.adminer.org/plugins/#use
+* @author Matthew Gamble, https://www.matthewgamble.net/
+* @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
+* @license http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License, version 2 (one or other)
+*/
+class AdminerTableStructure {
+
+       /** Print table structure in tabular format
+       * @param array data about individual fields
+       * @return bool
+       */
+       function tableStructurePrint($fields) {
+               echo "<table cellspacing='0'>\n";
+               echo "<thead><tr><th>" . lang('Column') . "<th>" . lang('Type') . "<th>" . lang('Nullable') . "<th>" . lang('Default') . (support("comment") ? "<th>" . lang('Comment') : "") . "</thead>\n";
+               foreach ($fields as $field) {
+                       echo "<tr" . odd() . "><th>" . h($field["field"]) . ($field["primary"] ? " (PRIMARY)" : "");
+                       echo "<td><span>" . h($field["full_type"]) . "</span>";
+                       echo ($field["auto_increment"] ? " <i>" . lang('Auto Increment') . "</i>" : "");
+                       echo ($field["collation"] ? " <i>" . h($field["collation"]) . "</i>" : "");
+                       echo "<td>" . ($field["null"] ? lang('Yes') : lang('No'));
+                       echo "<td>" . (isset($field["default"]) ? h($field["default"]) : "&nbsp;");
+                       echo (support("comment") ? "<td>" . nbsp($field["comment"]) : "");
+                       echo "\n";
+               }
+               echo "</table>\n";
+               return true;
+       }
+}