first commit

This commit is contained in:
2026-01-29 21:07:02 +01:00
commit bda2bc85d0
22 changed files with 2594 additions and 0 deletions

163
init.php Normal file
View 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
}