File size: 2,417 Bytes
85bc0da
0c4efc3
85bc0da
5186047
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
88dde93
5186047
 
 
 
85bc0da
 
 
 
 
5186047
85bc0da
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<?php
require_once __DIR__ . '/storage.php';

// Simple user manager - only login, no registration
class UserManager {
    public function __construct() {
        if (session_status() === PHP_SESSION_NONE) {
            session_start();
        }
    }
    
    public function loginUser($username, $password) {
        $users = StorageConfig::getUsers();
        
        if (!isset($users[$username])) {
            return ['success' => false, 'message' => 'User not found'];
        }
        
        if ($users[$username] === $password) {
            $_SESSION['username'] = $username;
            $_SESSION['logged_in'] = true;
            
            return ['success' => true, 'message' => 'Login successful'];
        } else {
            return ['success' => false, 'message' => 'Invalid password'];
        }
    }
    
    public function logoutUser() {
        session_destroy();
        return ['success' => true, 'message' => 'Logged out successfully'];
    }
    
    public function isLoggedIn() {
        return isset($_SESSION['logged_in']) && $_SESSION['logged_in'] === true;
    }
    
    public function getCurrentUser() {
        if ($this->isLoggedIn()) {
            return $_SESSION['username'];
        }
        return null;
    }
    
    public function requireLogin() {
        if (!$this->isLoggedIn()) {
            header('Location: index.html');
            exit;
        }
    }
}

// Handle AJAX requests
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    header('Content-Type: application/json');
    
    $userManager = new UserManager();
    $action = $_POST['action'] ?? '';
    
    switch ($action) {
        case 'login':
            $username = $_POST['username'] ?? '';
            $password = $_POST['password'] ?? '';
            echo json_encode($userManager->loginUser($username, $password));
            break;
            
        case 'logout':
            echo json_encode($userManager->logoutUser());
            break;
            
        case 'check_login':
            echo json_encode([
                'logged_in' => $userManager->isLoggedIn(),
                'username' => $userManager->getCurrentUser()
            ]);
            break;
            
        default:
            echo json_encode(['success' => false, 'message' => 'Invalid action']);
    }
    exit;
}
?>