Files
adminer/plugins/table-structure.php
Jakub Vrana 2ee325183b Doc-comment: Improve array @param
This uses syntax from https://phpstan.org/writing-php-code/phpdoc-types#general-arrays.

int[] means an array of ints with arbitrary keys (usually strings)
list<string> means an array of strings with sequential integer keys starting at 0
list<string>[] means an arbitrary array of string lists
list<string[]> means list of arbitrary string arrays
string[][] means two dimensional array with arbitrary keys in both dimensions
array was left in the comments for https://phpstan.org/writing-php-code/phpdoc-types#array-shapes
2025-03-25 14:31:27 +01:00

42 lines
1.6 KiB
PHP

<?php
/** Expanded table structure output
* @link https://www.adminer.org/plugins/#use
* @author Matthew Gamble, https://www.matthewgamble.net/
* @license https://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
* @license https://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, $tableStatus = null) {
echo "<div class='scrollable'>\n";
echo "<table class='nowrap odds'>\n";
echo "<thead><tr>"
. "<th>" . Adminer\lang('Column')
. "<th>" . Adminer\lang('Type')
. "<th>" . Adminer\lang('Collation')
. "<th>" . Adminer\lang('Nullable')
. "<th>" . Adminer\lang('Default')
. (Adminer\support("comment") ? "<th>" . Adminer\lang('Comment') : "")
. "</thead>\n"
;
foreach ($fields as $field) {
echo "<tr><th>" . Adminer\h($field["field"]) . ($field["primary"] ? " (PRIMARY)" : "");
echo "<td><span>" . Adminer\h($field["full_type"]) . "</span>";
echo ($field["auto_increment"] ? " <i>" . Adminer\lang('Auto Increment') . "</i>" : "");
echo "<td>" . ($field["collation"] ? " <i>" . Adminer\h($field["collation"]) . "</i>" : "");
echo "<td>" . ($field["null"] ? Adminer\lang('Yes') : Adminer\lang('No'));
echo "<td>" . Adminer\h($field["default"]);
echo (Adminer\support("comment") ? "<td>" . Adminer\h($field["comment"]) : "");
echo "\n";
}
echo "</table>\n";
echo "</div>\n";
return true;
}
}