first commit
This commit is contained in:
163
init.php
Normal file
163
init.php
Normal file
@@ -0,0 +1,163 @@
|
||||
<?php
|
||||
|
||||
require_once __DIR__ . '/app/models/Database.php';
|
||||
|
||||
// Sprawdzenie czy baza istnieje
|
||||
$dbPath = Database::getDbPath();
|
||||
$dbExists = file_exists($dbPath);
|
||||
|
||||
try {
|
||||
$db = Database::getInstance();
|
||||
|
||||
// Tworzenie tabeli użytkowników
|
||||
$db->exec('
|
||||
CREATE TABLE IF NOT EXISTS users (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
login VARCHAR(50) UNIQUE NOT NULL,
|
||||
password VARCHAR(255) NOT NULL,
|
||||
email VARCHAR(100),
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
||||
)
|
||||
');
|
||||
|
||||
// Tworzenie tabeli kodów weryfikacyjnych
|
||||
$db->exec('
|
||||
CREATE TABLE IF NOT EXISTS verification_codes (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
user_id INTEGER NOT NULL,
|
||||
code VARCHAR(6) NOT NULL,
|
||||
expires_at DATETIME NOT NULL,
|
||||
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (user_id) REFERENCES users(id),
|
||||
UNIQUE(user_id)
|
||||
)
|
||||
');
|
||||
|
||||
// Sprawdzenie czy użytkownik testowy istnieje
|
||||
$stmt = $db->prepare('SELECT id FROM users WHERE login = :login');
|
||||
$stmt->execute(['login' => 'projectpro']);
|
||||
$userExists = $stmt->fetch();
|
||||
|
||||
if (!$userExists) {
|
||||
// Dodanie testowego użytkownika
|
||||
$password = password_hash('testowehaslo', PASSWORD_DEFAULT);
|
||||
$stmt = $db->prepare('
|
||||
INSERT INTO users (login, password, email)
|
||||
VALUES (:login, :password, :email)
|
||||
');
|
||||
$stmt->execute([
|
||||
'login' => 'projectpro',
|
||||
'password' => $password,
|
||||
'email' => 'projectpro@example.com'
|
||||
]);
|
||||
$userCreated = true;
|
||||
} else {
|
||||
$userCreated = false;
|
||||
}
|
||||
|
||||
// Wyświetlenie statusu
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="pl">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Inicjalizacja bazy danych</title>
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/bootstrap-icons.css" rel="stylesheet">
|
||||
<style>
|
||||
body {
|
||||
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.card {
|
||||
border: none;
|
||||
border-radius: 15px;
|
||||
box-shadow: 0 10px 40px rgba(0,0,0,0.2);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-header bg-success text-white text-center py-3">
|
||||
<i class="bi bi-database-check fs-1"></i>
|
||||
<h4 class="mt-2 mb-0">Inicjalizacja zakończona</h4>
|
||||
</div>
|
||||
<div class="card-body p-4">
|
||||
<div class="alert alert-success">
|
||||
<i class="bi bi-check-circle-fill me-2"></i>
|
||||
<strong>Baza danych została zainicjalizowana pomyślnie!</strong>
|
||||
</div>
|
||||
|
||||
<h5 class="mt-4 mb-3">Status:</h5>
|
||||
<ul class="list-group mb-4">
|
||||
<li class="list-group-item d-flex justify-content-between align-items-center">
|
||||
<span><i class="bi bi-table me-2"></i>Tabela <code>users</code></span>
|
||||
<span class="badge bg-success">OK</span>
|
||||
</li>
|
||||
<li class="list-group-item d-flex justify-content-between align-items-center">
|
||||
<span><i class="bi bi-table me-2"></i>Tabela <code>verification_codes</code></span>
|
||||
<span class="badge bg-success">OK</span>
|
||||
</li>
|
||||
<li class="list-group-item d-flex justify-content-between align-items-center">
|
||||
<span><i class="bi bi-person me-2"></i>Użytkownik testowy</span>
|
||||
<span class="badge bg-<?= $userCreated ? 'success' : 'info' ?>">
|
||||
<?= $userCreated ? 'Utworzony' : 'Już istnieje' ?>
|
||||
</span>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h5 class="mb-3">Dane testowe:</h5>
|
||||
<div class="bg-light p-3 rounded">
|
||||
<p class="mb-2">
|
||||
<strong>Login:</strong>
|
||||
<code>projectpro</code>
|
||||
</p>
|
||||
<p class="mb-0">
|
||||
<strong>Hasło:</strong>
|
||||
<code>testowehaslo</code>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="d-grid mt-4">
|
||||
<a href="/logowanie" class="btn btn-primary btn-lg">
|
||||
<i class="bi bi-box-arrow-in-right me-2"></i>Przejdź do logowania
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<?php
|
||||
|
||||
} catch (Exception $e) {
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="pl">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Błąd inicjalizacji</title>
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||
</head>
|
||||
<body class="bg-danger bg-opacity-10">
|
||||
<div class="container py-5">
|
||||
<div class="alert alert-danger">
|
||||
<h4><i class="bi bi-exclamation-triangle me-2"></i>Błąd inicjalizacji bazy danych</h4>
|
||||
<hr>
|
||||
<p class="mb-0"><?= htmlspecialchars($e->getMessage()) ?></p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<?php
|
||||
}
|
||||
Reference in New Issue
Block a user