query("SHOW FULL COLUMNS FROM " . idf_escape($_GET["table"])); if (!$result) { $error = h($dbh->error); } $table_status = ($result ? table_status($_GET["table"]) : array()); $is_view = !isset($table_status["Rows"]); page_header(($result && $is_view ? lang('View') : lang('Table')) . ": " . h($_GET["table"]), $error); if ($result) { echo "\n"; echo "\n"; while ($row = $result->fetch_assoc()) { echo "
" . lang('Column') . "" . lang('Type') . "" . lang('Comment') . "
" . h($row["Field"]); echo "" . h($row["Type"]) . ($row["Null"] == "YES" ? " NULL" : ""); echo "" . nbsp($row["Comment"]); echo "\n"; } echo "
\n"; $result->free(); echo "

"; if ($is_view) { echo '' . lang('Alter view') . ''; } else { echo '' . lang('Alter table') . ''; } echo ' ' . lang('Select table') . ''; echo ' ' . lang('New item') . ''; if (!$is_view) { echo "

" . lang('Indexes') . "

\n"; $indexes = indexes($_GET["table"]); if ($indexes) { echo "\n"; foreach ($indexes as $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] . ")" : ""); } echo "
$index[type]" . implode(", ", $print) . "\n"; } echo "
\n"; } echo '

' . lang('Alter indexes') . "\n"; if ($table_status["Engine"] == "InnoDB") { echo "

" . lang('Foreign keys') . "

\n"; $foreign_keys = foreign_keys($_GET["table"]); if ($foreign_keys) { echo "\n"; foreach ($foreign_keys as $name => $foreign_key) { $link = (strlen($foreign_key["db"]) ? "" . h($foreign_key["db"]) . "." : "") . h($foreign_key["table"]); echo ""; echo "
" . implode(", ", array_map('h', $foreign_key["source"])) . ""; echo "$link"; echo "(" . implode(", ", array_map('h', $foreign_key["target"])) . ")"; echo "" . (!strlen($foreign_key["db"]) ? '' . lang('Alter') . '' : ' '); } echo "
\n"; } echo '

' . lang('Add foreign key') . "\n"; } if ($dbh->server_info >= 5) { echo "

" . lang('Triggers') . "

\n"; $result = $dbh->query("SHOW TRIGGERS LIKE " . $dbh->quote(addcslashes($_GET["table"], "%_"))); if ($result->num_rows) { echo "\n"; while ($row = $result->fetch_assoc()) { echo "
$row[Timing]$row[Event]" . h($row["Trigger"]) . "" . lang('Alter') . "\n"; } echo "
\n"; } $result->free(); echo '

' . lang('Add trigger') . "\n"; } } }