Initial commit

This commit is contained in:
2026-01-14 23:04:53 +01:00
parent 2f7d11b7d2
commit d9b4c73baa
25 changed files with 3742 additions and 30 deletions

View File

@@ -0,0 +1,112 @@
<div class="dbm-content-header">
<div class="dbm-breadcrumb">
<a href="<?php echo Config::get('URL'); ?>database/index">Databases</a>
<span class="separator">/</span>
<a href="<?php echo Config::get('URL'); ?>database/show/<?php echo urlencode($this->database_name); ?>"><?php echo htmlspecialchars($this->database_name); ?></a>
<span class="separator">/</span>
<a href="<?php echo Config::get('URL'); ?>table/show/<?php echo urlencode($this->database_name); ?>/<?php echo urlencode($this->table_name); ?>"><?php echo htmlspecialchars($this->table_name); ?></a>
<span class="separator">/</span>
<span>Structure</span>
</div>
<div class="dbm-title">
<h1>Structure: <?php echo htmlspecialchars($this->table_name); ?></h1>
<span class="badge"><?php echo count($this->columns); ?> columns</span>
</div>
<div class="dbm-actions">
<a href="<?php echo Config::get('URL'); ?>table/show/<?php echo urlencode($this->database_name); ?>/<?php echo urlencode($this->table_name); ?>" class="dbm-btn dbm-btn-primary">
<i data-lucide="list"></i>
Browse Data
</a>
<a href="<?php echo Config::get('URL'); ?>table/addColumn/<?php echo urlencode($this->database_name); ?>/<?php echo urlencode($this->table_name); ?>" class="dbm-btn dbm-btn-success">
<i data-lucide="plus"></i>
Add Column
</a>
</div>
</div>
<div class="dbm-content-body">
<div class="dbm-card" style="margin-bottom: 24px;">
<div class="dbm-card-header">
<h3>Columns</h3>
</div>
<div class="dbm-table-wrapper" style="border: none; border-radius: 0;">
<table class="dbm-table">
<thead>
<tr>
<th>Field</th>
<th>Type</th>
<th>Null</th>
<th>Key</th>
<th>Default</th>
<th>Extra</th>
<th style="width: 80px;">Actions</th>
</tr>
</thead>
<tbody>
<?php foreach ($this->columns as $col): ?>
<tr>
<td style="font-weight: 500;">
<?php if ($col['Key'] === 'PRI'): ?>
<span class="key-column">
<i data-lucide="key-round" style="width: 12px; height: 12px; vertical-align: middle; margin-right: 4px;"></i>
</span>
<?php endif; ?>
<?php echo htmlspecialchars($col['Field']); ?>
</td>
<td><span class="type-column"><?php echo htmlspecialchars($col['Type']); ?></span></td>
<td><?php echo $col['Null'] === 'YES' ? '<span style="color: var(--accent-orange);">YES</span>' : 'NO'; ?></td>
<td>
<?php if ($col['Key'] === 'PRI'): ?>
<span style="color: var(--accent-green);">PRIMARY</span>
<?php elseif ($col['Key'] === 'UNI'): ?>
<span style="color: var(--accent-blue);">UNIQUE</span>
<?php elseif ($col['Key'] === 'MUL'): ?>
<span style="color: var(--accent-purple);">INDEX</span>
<?php else: ?>
-
<?php endif; ?>
</td>
<td><?php echo $col['Default'] !== null ? htmlspecialchars($col['Default']) : '<span class="null-value">NULL</span>'; ?></td>
<td><span class="type-column"><?php echo htmlspecialchars($col['Extra']); ?></span></td>
<td>
<a href="<?php echo Config::get('URL'); ?>table/dropColumn/<?php echo urlencode($this->database_name); ?>/<?php echo urlencode($this->table_name); ?>/<?php echo urlencode($col['Field']); ?>"
class="dbm-btn dbm-btn-sm dbm-btn-danger"
data-confirm="Drop column '<?php echo htmlspecialchars($col['Field']); ?>'? This cannot be undone!">Drop</a>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
</div>
<?php if (!empty($this->indexes)): ?>
<div class="dbm-card">
<div class="dbm-card-header">
<h3>Indexes</h3>
</div>
<div class="dbm-table-wrapper" style="border: none; border-radius: 0;">
<table class="dbm-table">
<thead>
<tr>
<th>Key Name</th>
<th>Column</th>
<th>Unique</th>
<th>Type</th>
</tr>
</thead>
<tbody>
<?php foreach ($this->indexes as $idx): ?>
<tr>
<td style="font-weight: 500;"><?php echo htmlspecialchars($idx['Key_name']); ?></td>
<td><?php echo htmlspecialchars($idx['Column_name']); ?></td>
<td><?php echo $idx['Non_unique'] ? '<span style="color: var(--text-muted);">No</span>' : '<span style="color: var(--accent-green);">Yes</span>'; ?></td>
<td><span class="type-column"><?php echo htmlspecialchars($idx['Index_type']); ?></span></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
</div>
<?php endif; ?>
</div>