117 lines
3.9 KiB
PHP
117 lines
3.9 KiB
PHP
<?php
|
|
require_once __DIR__ . '/includes/db.php';
|
|
require_once __DIR__ . '/includes/env_loader.php';
|
|
require_once __DIR__ . '/includes/auth.php';
|
|
|
|
$domain = $_ENV['APP_URL'] ?? getenv('APP_URL') ?? '';
|
|
if ($domain) {
|
|
$parsed = parse_url($domain);
|
|
$host = $parsed['host'] ?? '';
|
|
if ($host) {
|
|
session_set_cookie_params([
|
|
'lifetime' => 0,
|
|
'path' => '/',
|
|
'domain' => $host,
|
|
'secure' => true,
|
|
'httponly' => true,
|
|
'samesite' => 'Strict'
|
|
]);
|
|
}
|
|
}
|
|
|
|
session_start();
|
|
|
|
if (isset($_SESSION['user_id'])) {
|
|
header('Location: index.php');
|
|
exit;
|
|
}
|
|
|
|
$error = '';
|
|
$theme = $_COOKIE['theme'] ?? 'light';
|
|
|
|
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|
$username = $_POST['username'] ?? '';
|
|
$password = $_POST['password'] ?? '';
|
|
|
|
$user = loginUser($username, $password);
|
|
|
|
if ($user) {
|
|
header('Location: index.php');
|
|
exit;
|
|
} else {
|
|
$error = 'Usuario o contraseña incorrectos';
|
|
}
|
|
}
|
|
?>
|
|
<!DOCTYPE html>
|
|
<html lang="es" data-bs-theme="<?= $theme ?>">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Login - Sistema de Mensajería</title>
|
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.0/font/bootstrap-icons.css">
|
|
<style>
|
|
body {
|
|
background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
|
|
min-height: 100vh;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
[data-bs-theme="dark"] body {
|
|
background: linear-gradient(135deg, #0d1117 0%, #161b22 100%);
|
|
}
|
|
.login-card {
|
|
background: var(--bs-body-bg);
|
|
border-radius: 15px;
|
|
box-shadow: 0 10px 40px rgba(0,0,0,0.3);
|
|
overflow: hidden;
|
|
}
|
|
.login-header {
|
|
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
|
color: white;
|
|
padding: 30px;
|
|
text-align: center;
|
|
}
|
|
.login-body {
|
|
padding: 40px;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div class="container">
|
|
<div class="row justify-content-center">
|
|
<div class="col-md-5">
|
|
<div class="login-card">
|
|
<div class="login-header">
|
|
<h3><i class="bi bi-messenger"></i> Sistema de Mensajería</h3>
|
|
<p class="mb-0">Discord & Telegram</p>
|
|
</div>
|
|
<div class="login-body">
|
|
<?php if ($error): ?>
|
|
<div class="alert alert-danger"><?= htmlspecialchars($error) ?></div>
|
|
<?php endif; ?>
|
|
|
|
<form method="POST">
|
|
<div class="mb-3">
|
|
<label class="form-label">Usuario</label>
|
|
<input type="text" name="username" class="form-control" required autofocus>
|
|
</div>
|
|
<div class="mb-3">
|
|
<label class="form-label">Contraseña</label>
|
|
<input type="password" name="password" class="form-control" required>
|
|
</div>
|
|
<button type="submit" class="btn btn-primary w-100">
|
|
<i class="bi bi-box-arrow-in-right"></i> Iniciar Sesión
|
|
</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
|
|
</body>
|
|
</html>
|