| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- <?php
- require_once '../includes/config.php';
- require_once '../includes/database.php';
- require_once '../includes/auth.php';
- require_once '../includes/translation.php';
- // Start session for language preference
- if (session_status() === PHP_SESSION_NONE) {
- session_start();
- }
- // Translation system is auto-initialized when translation.php is included
- // Include LDAP class if LDAP is enabled
- if (LDAP_ENABLED) {
- require_once '../includes/ldap.php';
- }
- $auth = new Auth();
- if ($auth->isLoggedIn()) {
- header('Location: index.php');
- exit;
- }
- $errors = [];
- if ($_SERVER['REQUEST_METHOD'] === 'POST') {
- $username = trim($_POST['username'] ?? '');
- $password = $_POST['password'] ?? '';
-
- if (empty($username) || empty($password)) {
- $errors[] = t('admin_login_error_empty');
- } elseif ($auth->login($username, $password)) {
- header('Location: index.php');
- exit;
- } else {
- $errors[] = t('admin_login_error_invalid');
- }
- }
- ?>
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title><?php echo t('admin_login_title'); ?> - <?php echo SITE_TITLE; ?></title>
- <link rel="stylesheet" href="../css/style.css">
- </head>
- <body class="login-page">
- <div class="container">
- <div class="login-form">
- <h1><?php echo t('admin_login_title'); ?></h1>
-
- <?php if (LDAP_ENABLED): ?>
- <div class="auth-info">
- <p class="auth-notice">
- <strong><?php echo t('admin_login_mixed_auth'); ?></strong><br>
- <?php echo t('admin_login_mixed_auth_notice'); ?>
- </p>
- </div>
- <?php endif; ?>
-
- <?php if (!empty($errors)): ?>
- <div class="alert alert-error">
- <?php foreach ($errors as $error): ?>
- <p><?php echo htmlspecialchars($error); ?></p>
- <?php endforeach; ?>
- </div>
- <?php endif; ?>
-
- <nav class="admin-nav">
- <a href="index.php" class="nav-link"><?php echo t('admin_nav_dashboard'); ?></a>
- <a href="publications.php" class="nav-link"><?php echo t('admin_nav_publications'); ?></a>
- <a href="categories.php" class="nav-link"><?php echo t('admin_nav_categories'); ?></a>
- <a href="comments.php" class="nav-link"><?php echo t('admin_nav_comments'); ?></a>
- <a href="users.php" class="nav-link"><?php echo t('manage_users'); ?></a>
- <a href="wordpress_import.php" class="nav-link"><?php echo t('wordpress_import'); ?></a>
- <?php if (LDAP_ENABLED): ?>
- <a href="ldap-users.php" class="nav-link"><?php echo t('admin_nav_ldap_users'); ?></a>
- <?php endif; ?>
- <a href="logout.php" class="nav-link"><?php echo t('admin_nav_logout'); ?></a>
- </nav>
-
- <form method="post">
- <div class="form-group">
- <label for="username">
- <?php echo LDAP_ENABLED ? t('admin_login_username_ldap') : t('admin_login_username'); ?>
- </label>
- <input type="text" id="username" name="username" required
- placeholder="<?php echo LDAP_ENABLED ? t('admin_login_username_placeholder_ldap') : t('admin_login_username_placeholder'); ?>">
- </div>
-
- <div class="form-group">
- <label for="password">
- <?php echo LDAP_ENABLED ? t('admin_login_password_ldap') : t('admin_login_password'); ?>
- </label>
- <input type="password" id="password" name="password" required
- placeholder="<?php echo LDAP_ENABLED ? t('admin_login_password_placeholder_ldap') : t('admin_login_password_placeholder'); ?>">
- </div>
-
- <button type="submit" class="btn btn-primary"><?php echo t('admin_login_button'); ?></button>
- </form>
- </div>
- </div>
- </body>
- </html>
|