35274-vm/index.php
Flatlogic Bot d2f005da56 nu norm
2025-10-27 13:55:31 +00:00

58 lines
2.6 KiB
PHP

<?php
require_once __DIR__ . '/db/config.php';
// Simple migration runner
try {
$pdo = db();
// Main Tables
$pdo->exec("CREATE TABLE IF NOT EXISTS channels (id INT AUTO_INCREMENT PRIMARY KEY, channel_identifier VARCHAR(255) NOT NULL UNIQUE, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL);");
$pdo->exec("CREATE TABLE IF NOT EXISTS scheduled_posts (id INT AUTO_INCREMENT PRIMARY KEY, channel_id INT NOT NULL, message TEXT NOT NULL, scheduled_at DATETIME NOT NULL, status VARCHAR(20) NOT NULL DEFAULT 'pending', created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (channel_id) REFERENCES channels(id) ON DELETE CASCADE);");
$pdo->exec("CREATE TABLE IF NOT EXISTS settings (setting_key VARCHAR(255) PRIMARY KEY, setting_value TEXT);");
$pdo->exec("CREATE TABLE IF NOT EXISTS webhook_events (id INT AUTO_INCREMENT PRIMARY KEY, post_id INT, status VARCHAR(50), message TEXT, raw_payload TEXT, received_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, KEY (post_id));");
// Simple migration to rename telegram_id to channel_identifier for backwards compatibility
$checkColumn = $pdo->query("SHOW COLUMNS FROM `channels` LIKE 'telegram_id'");
if ($checkColumn->rowCount() > 0) {
$pdo->exec("ALTER TABLE `channels` CHANGE `telegram_id` `channel_identifier` VARCHAR(255) NOT NULL UNIQUE;");
}
} catch (PDOException $e) {
// In a real app, log this error. For now, we die.
die("Database migration failed: " . $e->getMessage());
}
// Fetch channel count
$stmt = $pdo->query("SELECT COUNT(*) FROM channels");
$channel_count = $stmt->fetchColumn();
require_once __DIR__ . '/layout_header.php';
?>
<div class="container-fluid">
<h1 class="h2 mb-4">Dashboard</h1>
<div class="row">
<div class="col-md-4">
<div class="card text-white">
<div class="card-body">
<div class="d-flex justify-content-between align-items-center">
<div>
<h5 class="card-title">Total Channels</h5>
<p class="card-text fs-2 fw-bold"><?php echo $channel_count; ?></p>
</div>
<div class="fs-1 text-primary">
<i data-feather="tv"></i>
</div>
</div>
<a href="add_channel.php" class="btn btn-primary mt-3">
<i data-feather="plus" class="me-1" style="width:16px; height:16px;"></i>
Add Channel
</a>
</div>
</div>
</div>
</div>
</div>
<?php
require_once __DIR__ . '/layout_footer.php';
?>